Function at 0x402790
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4245f7
mov eax, dword fs:[0]
push eax
sub esp, 0xe0
mov eax, dword [0x4372c0]
xor eax, esp
mov dword [esp + 0xdc], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4372c0]
xor eax, esp
push eax
lea eax, [esp + 0xf4]
mov dword fs:[0], eax
mov eax, dword [esp + 0x104]
mov edi, ecx
mov esi, 7
xor ebp, ebp
xor ecx, ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], eax
mov dword [esp + 0xec], esi
mov dword [esp + 0xe8], ebp
mov word [esp + 0xd8], cx
mov dword [esp + 0xfc], ebp
xor edx, edx
mov dword [esp + 0xd0], esi
mov dword [esp + 0xcc], ebp
mov word [esp + 0xbc], dx
push ebp
lea ecx, [esp + 0xd8]
mov byte [esp + 0x100], 1
call fcn.00402360
add esp, 4
cmp eax, ebp
jge 0x4028a3
push 1
lea ecx, [esp + 0xd8]
call fcn.00402360
mov ebx, eax
add esp, 4
cmp ebx, ebp
jge 0x4028a3
mov edi, 8
cmp dword [esp + 0xd0], edi
jb 0x40286b
mov eax, dword [esp + 0xbc]
push eax
call fcn.00412b13
add esp, 4
xor ecx, ecx
mov dword [esp + 0xd0], esi
mov dword [esp + 0xcc], ebp
mov word [esp + 0xbc], cx
cmp dword [esp + 0xec], edi
jb 0x40289c
mov edx, dword [esp + 0xd8]
push edx
call fcn.00412b13
add esp, 4
mov eax, ebx
jmp 0x402bc9
mov ebx, dword [edi + 0x24]
lea eax, [esp + 0xd4]
push eax
lea esi, [esp + 0x4c]
call fcn.0040a7a0
add esp, 4
push eax
mov ebx, str..msi
lea esi, [esp + 0x28]
mov byte [esp + 0x100], 2
call fcn.0040a7a0
add esp, 4
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0xc0]
mov byte [esp + 0x104], 3
call fcn.004098d0
mov esi, 8
cmp dword [esp + 0x3c], esi
jb 0x402903
mov ecx, dword [esp + 0x28]
push ecx
call fcn.00412b13
add esp, 4
xor edx, edx
mov byte [esp + 0xfc], 1
mov dword [esp + 0x3c], 7
mov dword [esp + 0x38], ebp
mov word [esp + 0x28], dx
cmp dword [esp + 0x60], esi
jb 0x402931
mov eax, dword [esp + 0x4c]
push eax
call fcn.00412b13
add esp, 4
mov eax, dword [esp + 0xbc]
cmp dword [esp + 0xd0], esi
jae 0x402948
lea eax, [esp + 0xbc]
push edi
mov edi, eax
call fcn.00412920
add esp, 4
cmp eax, ebp
jge 0x402b66
mov dword [esp + 0x18], ebp
call dword [0x427198]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x40]
mov dword [esp + 0x40], ecx
push edx
lea ecx, [esp + 0xa0]
mov dword [esp + 0x48], ebp
call fcn.00411f30
add esp, 4
mov edi, eax
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0xd4]
mov byte [esp + 0xfc], 4
mov ebx, dword [ecx + 0x24]
push eax
lea esi, [esp + 0x4c]
call fcn.0040a7a0
add esp, 4
push eax
mov ebx, 0x429e44
lea esi, [esp + 0x84]
mov byte [esp + 0x100], 5
call fcn.0040a7a0
add esp, 4
push edi
push eax
lea edi, [esp + 0x6c]
mov byte [esp + 0x104], 6
call fcn.0040a6f0
push eax
mov ebx, str..msi
lea esi, [esp + 0x30]
mov byte [esp + 0x108], 7
call fcn.0040a7a0
add esp, 0xc
push 0xffffffffffffffff
mov ebx, 8
push ebp
lea ecx, [esp + 0xc0]
mov byte [esp + 0x104], bl
call fcn.004098d0
cmp dword [esp + 0x3c], ebx
jb 0x402a26
mov edx, dword [esp + 0x28]
push edx
call fcn.00412b13
add esp, 4
xor eax, eax
mov esi, 7
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], ebp
mov word [esp + 0x28], ax
cmp dword [esp + 0x7c], ebx
jb 0x402a4d
mov ecx, dword [esp + 0x68]
push ecx
call fcn.00412b13
add esp, 4
xor edx, edx
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], ebp
mov word [esp + 0x68], dx
cmp dword [esp + 0x98], ebx
jb 0x402a75
mov eax, dword [esp + 0x84]
push eax
call fcn.00412b13
add esp, 4
xor ecx, ecx
mov dword [esp + 0x98], esi
mov dword [esp + 0x94], ebp
mov word [esp + 0x84], cx
cmp dword [esp + 0x60], ebx
jb 0x402aa0
mov edx, dword [esp + 0x4c]
push edx
call fcn.00412b13
add esp, 4
xor eax, eax
mov byte [esp + 0xfc], 1
mov dword [esp + 0x60], esi
mov dword [esp + 0x5c], ebp
mov word [esp + 0x4c], ax
cmp dword [esp + 0xb4], ebx
jb 0x402ad0
mov ecx, dword [esp + 0xa0]
push ecx
call fcn.00412b13
add esp, 4
mov edi, dword [esp + 0xbc]
cmp dword [esp + 0xd0], ebx
jae 0x402ae7
lea edi, [esp + 0xbc]
mov edx, dword [esp + 0x1c]
push edx
call fcn.00412920
mov esi, eax
add esp, 4
cmp esi, ebp
jge 0x402b64
mov eax, dword [esp + 0x18]
inc dword [esp + 0x14]
inc eax
mov dword [esp + 0x18], eax
cmp eax, 0x64
jb 0x402969
mov edi, ebx
cmp dword [esp + 0xd0], edi
jb 0x402b2b
mov eax, dword [esp + 0xbc]
push eax
call fcn.00412b13
add esp, 4
xor ecx, ecx
mov dword [esp + 0xd0], 7
mov dword [esp + 0xcc], ebp
mov word [esp + 0xbc], cx
cmp dword [esp + 0xec], edi
jb 0x402b60
mov edx, dword [esp + 0xd8]
push edx
call fcn.00412b13
add esp, 4
mov eax, esi
jmp 0x402bc9
mov esi, ebx
mov ecx, dword [esp + 0x20]
push 0xffffffffffffffff
push ebp
lea eax, [esp + 0xc0]
call fcn.004098d0
cmp dword [esp + 0xd0], esi
jb 0x402b92
mov eax, dword [esp + 0xbc]
push eax
call fcn.00412b13
add esp, 4
xor ecx, ecx
mov dword [esp + 0xd0], 7
mov dword [esp + 0xcc], ebp
mov word [esp + 0xbc], cx
cmp dword [esp + 0xec], esi
jb 0x402bc7
mov edx, dword [esp + 0xd8]
push edx
call fcn.00412b13
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0xf4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xdc]
xor ecx, esp
call fcn.00412b1e
add esp, 0xec
ret