Function at 0x402310
Capabilities:
Link many functions at runtime

Disassembly:
push 0xffffffffffffffff
push 0x462d98
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0x47b450]
xor eax, esp
mov dword [esp + 0x38], eax
push ebx
push ebp
push edi
mov eax, dword [0x47b450]
xor eax, esp
push eax
lea eax, [esp + 0x4c]
mov dword fs:[0], eax
push 3
lea edi, [esp + 0x30]
mov dword [esp + 0x58], 0
call fcn.004026f0
mov byte [esp + 0x54], 1
mov ecx, dword [esp + 0x30]
mov ebx, 0x10
cmp dword [esp + 0x44], ebx
jae 0x40236c
lea ecx, [esp + 0x30]
mov eax, dword [esi + 0x8c]
mov ebp, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push ecx
push eax
call ebp
push 4
lea edi, [esp + 0x14]
mov dword [esi + 0x9c], eax
call fcn.004026f0
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x60], 2
call fcn.00401a20
mov byte [esp + 0x54], 1
cmp dword [esp + 0x28], ebx
jb 0x4023b8
mov eax, dword [esp + 0x14]
push eax
call fcn.004036ec
add esp, 4
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x44], ebx
jae 0x4023c6
lea ecx, [esp + 0x30]
mov eax, dword [esi + 0x8c]
push ecx
push eax
call ebp
push 5
lea edi, [esp + 0x14]
mov dword [esi + 0xa0], eax
call fcn.004026f0
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x60], 3
call fcn.00401a20
mov byte [esp + 0x54], 1
cmp dword [esp + 0x28], ebx
jb 0x40240c
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004036ec
add esp, 4
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x44], ebx
jae 0x40241a
lea ecx, [esp + 0x30]
mov eax, dword [esi + 0x8c]
push ecx
push eax
call ebp
push 6
lea edi, [esp + 0x14]
mov dword [esi + 0xa4], eax
call fcn.004026f0
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x60], 4
call fcn.00401a20
mov byte [esp + 0x54], 1
cmp dword [esp + 0x28], ebx
jb 0x402460
mov edx, dword [esp + 0x14]
push edx
call fcn.004036ec
add esp, 4
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x44], ebx
jae 0x40246e
lea ecx, [esp + 0x30]
mov eax, dword [esi + 0x8c]
push ecx
push eax
call ebp
push 0xc
lea edi, [esp + 0x14]
mov dword [esi + 0xa8], eax
call fcn.004026f0
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x60], 5
call fcn.00401a20
mov byte [esp + 0x54], 1
cmp dword [esp + 0x28], ebx
jb 0x4024b4
mov eax, dword [esp + 0x14]
push eax
call fcn.004036ec
add esp, 4
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x44], ebx
jae 0x4024c2
lea ecx, [esp + 0x30]
mov eax, dword [esi + 0x8c]
push ecx
push eax
call ebp
push 0xd
lea edi, [esp + 0x14]
mov dword [esi + 0xac], eax
call fcn.004026f0
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x60], 6
call fcn.00401a20
cmp dword [esp + 0x28], ebx
jb 0x402503
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004036ec
add esp, 4
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x44], ebx
jae 0x402511
lea ecx, [esp + 0x30]
mov eax, dword [esi + 0x94]
push ecx
push eax
call ebp
mov dword [esi + 0xb0], eax
cmp dword [esp + 0x44], ebx
jb 0x402534
mov edx, dword [esp + 0x30]
push edx
call fcn.004036ec
add esp, 4
mov dword [esp + 0x44], 0xf
mov dword [esp + 0x40], 0
mov byte [esp + 0x30], 0
cmp dword [esp + 0x74], ebx
jb 0x40255c
mov eax, dword [esp + 0x60]
push eax
call fcn.004036ec
add esp, 4
mov ecx, dword [esp + 0x4c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.00435496
add esp, 0x48
ret 0x1c