Function at 0x100193e0
Capabilities:
Get system information on windows
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xbc
mov eax, dword [0x1009e0d0]
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x1c]
xor edi, edi
or ebx, 0xffffffff
push ecx
mov ecx, esi
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x8c], ebx
call fcn.10082580
push edi
push edi
lea ecx, [esi + 0x640]
push edi
mov dword [esi], 0x10001dcc
mov dword [esi + 0x630], edi
mov dword [esi + 0x634], edi
mov dword [esi + 0x638], edi
call fcn.100698e0
mov dword [esi + 0x9a8], ebx
mov dword [esi + 0x9ac], ebx
mov dword [esi + 0x9b0], edi
mov dword [esi + 0x9d8], 1
mov dword [esi + 0x9dc], edi
mov dword [esi + 0xa4c], edi
mov dword [esi + 0xa90], edi
mov dword [esi + 0xa94], edi
mov dword [esi + 0xa98], edi
mov dword [esi + 0xa9c], edi
mov dword [esi + 0xaa0], edi
mov dword [esi + 0xaa4], edi
mov dword [esi + 0xaa8], edi
mov dword [esi + 0xa2c], edi
lea ebx, [esi + 0x9e8]
mov eax, 1
lea ecx, [esi + 0xf88]
mov dword [esi + 0xadc], edi
mov dword [esi + 0xae0], eax
mov dword [esi + 0xaec], edi
mov dword [esi + 0xaf0], edi
mov dword [esi + 0xaf4], edi
mov dword [esi + 0xb00], edi
mov dword [esi + 0xb04], edi
mov dword [esi + 0xb0c], edi
mov dword [esi + 0xf60], edi
mov dword [esi + 0xf70], eax
mov dword [esi + 0xf74], edi
call fcn.10034f50
lea ecx, [esi + 0xfbc]
call fcn.10034f50
lea ecx, [esi + 0x100c]
call fcn.10034f50
lea ecx, [esi + 0x1040]
call fcn.10034f50
lea ecx, [esi + 0x1074]
call fcn.10034f50
lea ecx, [esi + 0x10a8]
call fcn.10034f50
lea ecx, [esi + 0x10f8]
call fcn.10034f50
lea ecx, [esi + 0x112c]
call fcn.10034f50
lea ecx, [esi + 0x1160]
call fcn.10034f50
lea ecx, [esi + 0x1198]
call fcn.10034f50
lea ecx, [esi + 0x11cc]
call fcn.10034f50
lea ecx, [esi + 0x1200]
call fcn.10034f50
lea ecx, [esi + 0x1238]
call fcn.10034f50
lea ecx, [esi + 0x126c]
call fcn.10034f50
lea ecx, [esi + 0x12a0]
call fcn.10034f50
lea ecx, [esi + 0x12d8]
call fcn.10034f50
lea ecx, [esi + 0x130c]
call fcn.10034f50
lea ecx, [esi + 0x1344]
call fcn.10034f50
lea ecx, [esi + 0x1378]
call fcn.10034f50
lea ecx, [esi + 0x13ac]
call fcn.10034f50
lea ecx, [esi + 0x13e0]
call fcn.10034f50
lea ecx, [esi + 0x1414]
call fcn.10034f50
lea ecx, [esi + 0x1448]
call fcn.10034f50
lea ecx, [esi + 0x147c]
call fcn.10034f50
lea ecx, [esi + 0x14c0]
call fcn.10034f50
lea ecx, [esi + 0x14f4]
call fcn.10034f50
lea ecx, [esi + 0x1528]
call fcn.10034f50
lea ecx, [esi + 0x155c]
call fcn.10034f50
lea ecx, [esi + 0x15a4]
call fcn.10034f50
lea ecx, [esi + 0x15d8]
call fcn.10034f50
lea ecx, [esi + 0x160c]
call fcn.10034f50
lea ecx, [esi + 0x1640]
call fcn.10034f50
lea ecx, [esi + 0x1674]
call fcn.10034f50
lea ecx, [esi + 0x16a8]
call fcn.10034f50
lea ecx, [esi + 0x16dc]
call fcn.10034f50
lea ecx, [esi + 0x1710]
call fcn.10034f50
fld qword [ebp + 0xc]
mov edx, dword [ebp + 0x28]
or eax, 0xffffffff
mov dword [esi + 0x1864], edi
mov dword [esi + 0x1868], edi
mov dword [esi + 0x18a0], edi
mov dword [esi + 0x18b0], edi
mov dword [esi + 0x18b4], edi
mov dword [esi + 0x18b8], edi
mov dword [esi + 0x18bc], edi
mov dword [esi + 0x18c0], edi
mov dword [esi + 0x18e4], edi
mov dword [esi + 0x18f8], edx
mov dword [esi + 0x1a14], edi
mov dword [esi + 0x1a18], edi
mov dword [esi + 0x1a1c], edi
mov dword [esi + 0x1a20], edi
mov dword [esi + 0x1a24], edi
mov dword [esi + 0x1a28], edi
mov dword [esi + 0x1a2c], edi
mov dword [esi + 0x1a30], edi
mov dword [esi + 0x1a38], edi
mov dword [esi + 0x1a3c], edi
mov dword [esi + 0x1a40], edi
mov dword [esi + 0x1ad4], eax
mov dword [esi + 0x1ad8], eax
mov dword [esi + 0x1adc], edi
mov dword [esi + 0x1ae0], edi
mov dword [esi + 0x1ae4], 0x3fa66666
mov dword [esi + 0x1ae8], edi
mov dword [esi + 0x1b14], eax
mov dword [esi + 0x1b1c], edi
mov dword [esi + 0x1b20], edi
mov dword [esi + 0x1b24], edi
mov dword [esi + 0x1b6c], edi
mov dword [esi + 0x1b70], edi
mov eax, 1
fstp qword [esi + 0x1b78]
mov dword [esi + 0x1ba8], eax
mov dword [esi + 0x1bac], eax
mov dword [esi + 0x1bb0], eax
cmp dword [ebp + 0x14], edi
mov dword [esi + 0x1b84], edi
mov dword [esi + 0x1b88], edi
mov dword [esi + 0x1b8c], edi
mov dword [esi + 0x1b90], edi
mov dword [esi + 0x1b94], edi
mov dword [esi + 0x1b98], edi
mov dword [esi + 0x1b9c], edi
mov dword [esi + 0x1ba0], edi
mov dword [esi + 0x1ba4], 0x3e8
mov dword [esi + 0x2eec], edi
mov dword [esi + 0x2ef0], edi
mov dword [esi + 0x2ef4], edi
mov dword [esi + 0x2ef8], edi
mov dword [esi + 0x2efc], edi
mov dword [esi + 0x2f00], edi
mov dword [esi + 0x2f04], edi
mov dword [esi + 0x2f08], edi
mov dword [esi + 0x2f0c], edi
mov dword [esi + 0x2f10], edi
mov dword [esi + 0x2f14], edi
mov dword [esi + 0x2f18], edi
mov dword [esi + 0x2f1c], edi
mov dword [esi + 0x2f20], edi
mov dword [esi + 0x2f24], edi
mov dword [esi + 0x2f28], edi
mov dword [esi + 0x2f2c], edi
mov dword [esi + 0x2f30], edi
mov dword [esi + 0x2f34], edi
mov dword [esi + 0x2f38], edi
mov dword [esi + 0x2f3c], edi
mov dword [esi + 0x2f40], edi
mov dword [esi + 0x2f44], edi
mov dword [esi + 0x2f48], edi
mov dword [esi + 0x2f54], edi
jle 0x1001a4fe
cmp dword [ebp + 0x18], edi
jle 0x1001a4fe
lea eax, [ebp - 0x78]
push eax
push 0x100018c0
push 0x80000001
mov dword [ebp - 0x98], 0xffffffff
mov dword [ebp - 0x80], 0x50
mov dword [ebp - 0x84], edi
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x78], edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
cmp eax, edi
jne 0x100198fa
mov edx, dword [ebp - 0x78]
lea ecx, [ebp - 0x70]
push ecx
push 0x100018b4
push edx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
cmp eax, edi
jne 0x100198b6
mov ecx, dword [ebp - 0x70]
lea eax, [ebp - 0x74]
push eax
push 0x100018ac
push ecx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
jmp 0x100198ce
cmp eax, 2
jne 0x100198ce
mov eax, dword [ebp - 0x70]
lea edx, [ebp - 0x74]
push edx
push 0x100018ac
push eax
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
cmp eax, edi
jne 0x100198fa
lea ecx, [ebp - 0x80]
push ecx
mov ecx, dword [ebp - 0x74]
lea edx, [ebp - 0x54]
push edx
lea eax, [ebp - 0x58]
push eax
push edi
push 0x10001a3c
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
cmp eax, edi
jne 0x100198fa
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x7c], edx
jmp 0x10019901
mov dword [ebp - 0x7c], 0xffffffff
mov eax, dword [ebp - 0x84]
cmp eax, edi
je 0x10019912
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x74]
cmp eax, edi
je 0x10019920
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x70]
cmp eax, edi
je 0x1001992e
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x78]
cmp eax, edi
je 0x1001993c
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x7c]
cmp eax, edi
je 0x10019948
cmp eax, 1
jne 0x1001994e
mov dword [esi + 0x18f8], eax
mov eax, dword [ebp + 0x28]
fld qword [ebp + 0xc]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 8]
push edx
push eax
sub esp, 8
fstp qword [esp]
push ecx
push 0x10001fd0
mov ecx, 0x1009e2d0
mov dword [ebp - 0x68], edi
call fcn.100150b0
mov eax, dword [ebp + 8]
cmp eax, 0x33564d57
je 0x100199fd
cmp eax, 0x33766d77
je 0x100199fd
cmp eax, 0x32564d57
je 0x100199f4
cmp eax, 0x32766d77
je 0x100199f4
cmp eax, 0x31564d57
je 0x100199eb
cmp eax, 0x31766d77
je 0x100199eb
cmp eax, 0x3334504d
je 0x100199e2
cmp eax, 0x3334706d
je 0x100199e2
cmp eax, 0x3234504d
je 0x100199d9
cmp eax, 0x3234706d
je 0x100199d9
cmp eax, 0x5334504d
je 0x100199d4
cmp eax, 0x7334706d
jne 0x10019a04
mov dword [esi + 8], edi
jmp 0x10019a04
mov dword [esi + 8], 2
jmp 0x10019a04
mov dword [esi + 8], 3
jmp 0x10019a04
mov dword [esi + 8], 4
jmp 0x10019a04
mov dword [esi + 8], 5
jmp 0x10019a04
mov dword [esi + 8], 6
cmp dword [esi + 8], 6
jne 0x10019a30
mov edx, dword [ebp + 0x24]
mov eax, 1
mov dword [esi + 0x470], eax
mov dword [esi + 0x474], edi
mov dword [esi + 0x528], edx
mov dword [esi + 0x250], edi
mov dword [esi + 0x218], eax
lea eax, [ebp - 0xbc]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [ebp - 0xa8]
cmp eax, 2
mov dword [esi + 0x264], eax
jbe 0x10019a58
mov dword [esi + 0x264], 2
xor ecx, ecx
mov dword [esi + 0x19f0], edi
lea edx, [esi + 0x1884]
mov dword [edx], ecx
mov dword [edx + 4], ecx
mov dword [edx + 8], ecx
xor eax, eax
lea ecx, [esi + 0x1890]
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
push 1
mov ecx, esi
call fcn.10014870
mov ecx, esi
call fcn.10012950
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x14]
mov dword [esi + 0x63c], edi
inc dword [0x100bf98c]
push edx
mov dword [esi + 0x1914], 0x1002d070
push eax
mov ecx, esi
mov dword [esi + 0x1918], 0x1002e1a0
call fcn.10015980
cmp eax, edi
mov ecx, dword [ebp - 0x6c]
mov dword [ecx], eax
jne 0x1001a4e2
mov edx, dword [esi + 0x130]
mov dword [esi + 0xb0c], edx
mov dword [esi + 0x19d8], 0x10027320
mov ecx, esi
mov dword [esi + 0x2e7c], edi
call fcn.100340f0
cmp eax, edi
mov ecx, dword [ebp - 0x6c]
mov dword [ecx], eax
jne 0x1001a4e2
mov ecx, esi
call fcn.10034d50
cmp eax, edi
mov edx, dword [ebp - 0x6c]
mov dword [edx], eax
jne 0x1001a4e2
mov eax, dword [ebp + 0x20]
mov dword [esi + 0xf74], eax
lea ecx, [esi + 0xd4f]
and ecx, 0xffffffe0
mov dword [esi + 0xf58], ecx
lea eax, [esi + 0xb2f]
and eax, 0xffffffe0
mov dword [esi + 0xf5c], eax
mov dword [esi + 0xf54], eax
add eax, 4
mov dword [esi + 0xf50], eax
mov dword [esi + 0x1b0], edi
cmp dword [0x100b8e94], edi
je 0x10019b5d
push 0x100b8e7c
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call fcn.1007fe60
push ebx
call fcn.1007eb20
call fcn.1007fe60
push eax
mov ecx, esi
call fcn.100849c0
mov ecx, esi
call fcn.1008bb00
mov ecx, esi
call fcn.10036830
mov ecx, esi
call fcn.10093440
call fcn.1007fe60
mov edx, dword [esi + 0x190]
push eax
mov eax, dword [esi + 0x18c]
push edx
lea ebx, [esi + 0x640]
push eax
mov ecx, ebx
call fcn.100683d0
mov ecx, dword [esi + 0x174]
mov edx, dword [esi + 0x168]
mov eax, dword [esi + 0x16c]
push ecx
mov ecx, dword [esi + 0x160]
push edx
push eax
push ecx
mov ecx, ebx
call fcn.10068400
call fcn.1006a2e0
cmp dword [0x100b8e94], edi
je 0x10019be6
push 0x100b8e7c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, esi
call fcn.10014750
mov edx, dword [esi + 0x234]
mov dword [esi + 0x19e0], edx
mov eax, dword [esi + 0x230]
mov dword [esi + 0x19dc], eax
mov edx, dword [esi + 0xf88]
lea eax, [ebp - 0x64]
push eax
push 0x100a6028
lea ecx, [esi + 0xf88]
push 1
lea eax, [ebp - 0x58]
mov ebx, 6
push eax
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], 5
mov dword [ebp - 0x5c], ebx
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0xfbc]
mov eax, 5
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x64]
push eax
push 0x100a3520
lea ecx, [esi + 0xfbc]
push 1
lea eax, [ebp - 0x58]
push eax
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x12d8]
lea eax, [ebp - 0x64]
push eax
push 0x100a9b50
lea ecx, [esi + 0x12d8]
push 1
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], 3
mov dword [ebp - 0x5c], 4
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x130c]
lea eax, [ebp - 0x64]
push eax
push 0x100a9748
lea ecx, [esi + 0x130c]
push 1
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 0x64], 7
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], 8
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x1344]
lea eax, [ebp - 0x64]
push eax
push 0x100a8b30
lea ecx, [esi + 0x1344]
push 1
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 0x64], 9
mov dword [ebp - 0x60], 7
mov dword [ebp - 0x5c], 8
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x1378]
mov eax, 7
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x64]
push eax
push 0x100a8f38
lea ecx, [esi + 0x1378]
push 1
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 0x60], ebx
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x13ac]
lea eax, [ebp - 0x64]
push eax
push 0x100a9340
lea ecx, [esi + 0x13ac]
push 1
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], 5
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x13e0]
mov eax, 4
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x64]
push eax
push 0x100a9d58
lea ecx, [esi + 0x13e0]
push 1
lea eax, [ebp - 0x58]
mov ebx, 5
push eax
mov dword [ebp - 0x64], ebx
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x1414]
lea eax, [ebp - 0x64]
push eax
push 0x100a9f60
lea ecx, [esi + 0x1414]
push 1
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], 4
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x1448]
mov eax, 4
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x64]
push eax
push 0x100aa168
mov dword [ebp - 0x64], ebx
push 1
lea ecx, [ebp - 0x58]
lea ebx, [esi + 0x1448]
push ecx
mov ecx, ebx
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x147c]
mov eax, 3
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x64]
push eax
push 0x100aa370
lea ecx, [esi + 0x147c]
push 1
lea eax, [ebp - 0x58]
push eax
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
lea eax, [esi + 0x13e0]
mov dword [esi + 0x14b0], eax
lea eax, [esi + 0x1414]
mov dword [esi + 0x14b4], eax
mov dword [esi + 0x14b8], ebx
lea eax, [esi + 0x147c]
mov dword [esi + 0x14bc], eax
mov edx, dword [esi + 0x14c0]
mov eax, 5
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x64]
push eax
push 0x100aa578
push 1
lea ecx, [ebp - 0x58]
lea ebx, [esi + 0x14c0]
push ecx
mov ecx, ebx
mov dword [ebp - 0x5c], 4
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x14f4]
mov eax, 5
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x64]
push eax
push 0x100aa7c8
lea ecx, [esi + 0x14f4]
push 1
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 0x5c], 4
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x1528]
mov eax, 4
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x64]
push eax
push 0x100aaa18
lea ecx, [esi + 0x1528]
push 1
lea eax, [ebp - 0x58]
push eax
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x155c]
mov eax, 5
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x64]
push eax
push 0x100aac68
lea ecx, [esi + 0x155c]
push 1
lea eax, [ebp - 0x58]
push eax
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov dword [esi + 0x1590], ebx
lea eax, [esi + 0x14f4]
mov dword [esi + 0x1594], eax
lea eax, [esi + 0x1528]
mov dword [esi + 0x1598], eax
push edi
lea eax, [esi + 0x155c]
push 0x100aafb8
mov dword [esi + 0x159c], eax
mov edx, dword [esi + 0x10f8]
lea ecx, [esi + 0x10f8]
push 1
lea eax, [ebp - 0x58]
push eax
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x112c]
push edi
push 0x100aaf38
lea ecx, [esi + 0x112c]
push 1
lea eax, [ebp - 0x58]
push eax
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x1160]
push edi
push 0x100aaeb8
lea ecx, [esi + 0x1160]
push 1
lea eax, [ebp - 0x58]
push eax
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x1198]
push edi
push 0x100ab038
lea ecx, [esi + 0x1198]
push 1
lea eax, [ebp - 0x58]
push eax
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x11cc]
push edi
push 0x100ab0c0
lea ecx, [esi + 0x11cc]
push 1
lea eax, [ebp - 0x58]
push eax
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x1200]
push edi
push 0x100ab148
lea ecx, [esi + 0x1200]
push 1
lea eax, [ebp - 0x58]
push eax
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x1238]
push edi
push 0x100ab1d0
lea ecx, [esi + 0x1238]
push 1
lea eax, [ebp - 0x58]
push eax
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x126c]
push edi
push 0x100ab218
lea ecx, [esi + 0x126c]
push 1
lea eax, [ebp - 0x58]
push eax
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x12a0]
push edi
push 0x100ab260
lea ecx, [esi + 0x12a0]
push 1
lea eax, [ebp - 0x58]
push eax
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x100c]
lea eax, [ebp - 0x64]
push eax
push 0x100ab2a8
mov ebx, 8
lea ecx, [esi + 0x100c]
push 1
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x1040]
lea eax, [ebp - 0x64]
push eax
push 0x100ab670
lea ecx, [esi + 0x1040]
push 1
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], 7
mov dword [ebp - 0x5c], ebx
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x1074]
mov eax, 9
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x64]
push eax
push 0x100aba38
lea ecx, [esi + 0x1074]
push 1
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 0x5c], ebx
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x10a8]
lea eax, [ebp - 0x64]
push eax
push 0x100abe00
lea ecx, [esi + 0x10a8]
push 1
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 0x64], 9
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x15a4]
lea eax, [ebp - 0x64]
push eax
push 0x100a0ff8
lea ecx, [esi + 0x15a4]
push 1
lea eax, [ebp - 0x58]
mov ebx, 4
push eax
mov dword [ebp - 0x64], 6
mov dword [ebp - 0x60], 5
mov dword [ebp - 0x5c], ebx
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x15d8]
lea eax, [ebp - 0x64]
push eax
push 0x100a1548
lea ecx, [esi + 0x15d8]
push 1
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 0x64], 7
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x160c]
lea eax, [ebp - 0x64]
push eax
push 0x100a1b20
lea ecx, [esi + 0x160c]
push 1
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 0x64], 7
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x1640]
lea eax, [ebp - 0x64]
push eax
push 0x100a1fd0
lea ecx, [esi + 0x1640]
push 1
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 0x64], 5
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x1674]
mov eax, 3
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x64]
push eax
push 0x100a2400
lea ecx, [esi + 0x1674]
push 1
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 0x60], 6
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x16a8]
mov eax, 3
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x64]
push eax
push 0x100a2740
lea ecx, [esi + 0x16a8]
push 1
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 0x60], 6
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x16dc]
mov eax, 8
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x64]
push eax
push 0x100a2a80
lea ecx, [esi + 0x16dc]
push 1
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 0x5c], 7
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
mov edx, dword [esi + 0x1710]
mov eax, 6
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x64]
push eax
push 0x100a3000
lea ecx, [esi + 0x1710]
push 1
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 0x5c], ebx
call dword [edx + 4]
cmp dword [eax], edi
jne 0x1001a4e2
push 0x64
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
cmp eax, edi
je 0x1001a35a
lea ecx, [ebp - 0x68]
push ecx
mov ecx, eax
call fcn.10021710
jmp 0x1001a35c
xor eax, eax
cmp eax, edi
mov dword [esi + 0x638], eax
je 0x1001a4e2
cmp dword [ebp - 0x68], edi
jne 0x1001a4e2
push 0x58
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
cmp eax, edi
je 0x1001a38e
lea edx, [ebp - 0x68]
push edx
mov ecx, eax
call fcn.10082380
jmp 0x1001a390
xor eax, eax
cmp eax, edi
mov dword [esi + 0x630], eax
je 0x1001a4e2
cmp dword [ebp - 0x68], edi
jne 0x1001a4e2
mov ecx, eax
call fcn.1003f1e0
mov eax, dword [esi + 0x630]
mov ecx, dword [esi + 0x1904]
push 0x10
mov dword [eax + 0x54], ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
cmp eax, edi
je 0x1001a3e3
mov ecx, dword [esi + 0xb8]
lea edx, [ebp - 0x68]
push edx
shl ecx, 1
push 2
push ecx
mov ecx, eax
call fcn.100822c0
jmp 0x1001a3e5
xor eax, eax
cmp eax, edi
mov dword [esi + 0x634], eax
je 0x1001a4e2
cmp dword [ebp - 0x68], edi
jne 0x1001a4e2
mov ecx, esi
call fcn.100125b0
cmp dword [esi + 8], 6
jne 0x1001a4c8
push 0x10
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
cmp eax, edi
mov dword [esi + 0x4b0], eax
je 0x1001a4e2
mov dword [esi + 0x1918], 0x1003b560
mov edx, dword [esi + 0xbc]
imul edx, dword [esi + 0xb8]
shl edx, 4
push edx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
cmp eax, edi
mov dword [esi + 0x5b4], eax
je 0x1001a4e2
mov ecx, dword [esi + 0xbc]
imul ecx, dword [esi + 0xb8]
lea edx, [eax + ecx*8]
mov dword [esi + 0x5b8], edx
mov eax, dword [esi + 0xbc]
imul eax, dword [esi + 0xb8]
shl eax, 2
push eax
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
cmp eax, edi
mov dword [esi + 0x5bc], eax
je 0x1001a4e2
mov ecx, dword [esi + 0xbc]
imul ecx, dword [esi + 0xb8]
lea edx, [eax + ecx*2]
push 0x340
mov dword [esi + 0x5c0], edx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
cmp eax, edi
mov dword [esi + 0x55c], eax
je 0x1001a4e2
add eax, 0x1f
and eax, 0xffffffe0
mov dword [esi + 0x560], eax
mov ecx, esi
call fcn.10017ba0
pop edi
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
call fcn.10007179
mov esp, ebp
pop ebp
ret 0x24
mov eax, dword [ebp - 0x6c]
pop edi
mov dword [eax], 0xfffffffd
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
call fcn.10007179
mov esp, ebp
pop ebp
ret 0x24
mov ecx, dword [ebp - 0x6c]
pop edi
mov eax, esi
mov dword [ecx], 0xffffffff
mov ecx, dword [ebp - 4]
pop esi
pop ebx
call fcn.10007179
mov esp, ebp
pop ebp
ret 0x24