int __fastcall sub_401580(int a1, int a2) { int *v3; // r1 int v5; // r4 int v6; // r6 _DWORD v12[2]; // [sp+0h] [bp-7Ch] BYREF _DWORD v13[14]; // [sp+8h] [bp-74h] BYREF int v14; // [sp+40h] [bp-3Ch] int v15; // [sp+44h] [bp-38h] int v16; // [sp+48h] [bp-34h] v3 = off_4015D8; v5 = *off_4015D8; if ( *off_4015D8 != 0 ) { v6 = off_4015D8[1]; } else { __asm { SVC 0xF4 } *off_4015D8 = a1; __asm { SVC 0xF5 } v5 = *v3; v6 = a1; v3[1] = a1; if ( v5 == 0 ) return 0; } sub_4010CC(a1: v13, a2: 32); v15 = v5; v16 = v6; v14 = 0; v13[12] = a1; v13[13] = a2; v12[1] = 2; v12[0] = 32; sub_401180(a1: v12); return v14; }