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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa0
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
xor edx, edx
add edx, 0x18
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0x13cf
mov byte [esp + 0x7e], 0x85
mov dword [esp + 0x78], 0x3cff
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0x929
mov bl, byte [esp + 0x7e]
mov bh, 0x7c
sub bh, bl
mov byte [esp + 0x6f], bh
mov dword [esp + 0x5c], eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x74], ecx
mov eax, dword [esp + 0x5c]
mov ecx, esp
mov dword [ecx], eax
mov byte [esp + 0x43], bl
mov dword [esp + 0x3c], edx
call fcn.00402b50
sub esp, 4
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x58]
mov edi, eax
mov ebx, dword [esp + 0x3c]
add edi, ebx
movzx esi, word [esi + 0x14]
add edi, esi
mov si, word [esp + 0x8e]
mov dword [esp + 0x54], edi
mov dword [esp + 0x70], 0
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], eax
mov word [esp + 0x2e], si
jmp 0x4023ef
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov edx, eax
add edx, 0xfffff212
mov esi, ecx
adc esi, 0xffffffff
add eax, 0x55ea
adc ecx, 0
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
sub edx, eax
sbb esi, ecx
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], edx
jb 0x40241c
jmp 0x402401
mov eax, esp
mov dword [eax + 4], 0
mov dword [eax], 0
call fcn.004025b0
mov dword [esp + 0x20], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 0x54]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x74]
mov esi, esp
mov dword [esi + 8], eax
mov dword [esi + 4], ecx
mov dword [esi], edx
call fcn.00403810
sub esp, 0xc
mov dword [esp + 0x1c], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov eax, dword [esp + 0x58]
movzx eax, word [eax + 6]
cmp dword [esp + 0x70], eax
jb 0x40235f
mov al, 0x9b
mov cl, byte [esp + 0x6f]
sub al, byte [esp + 0x7e]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x88], edx
cmp al, cl
jae 0x402401
jmp 0x4023c0
mov eax, dword [esp + 0x34]
and eax, 0x13cb
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], 0
add ecx, dword [edx + 0xc]
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x54]
mov ecx, dword [ecx + 0x14]
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x44]
mov eax, dword [eax + 0x10]
add edx, ecx
mov ecx, esp
mov dword [ecx + 8], eax
mov dword [ecx + 4], edx
mov dword [ecx], esi
call fcn.00403810
sub esp, 0xc
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x78]
mov cl, byte [esp + 0x43]
mov dword [esp + 0x14], eax
mov al, cl
mul cl
mov byte [esp + 0x7f], al
mov edx, dword [esp + 0x70]
mov esi, 0x3d00
mov edi, dword [esp + 0x14]
sub esi, edi
add edx, esi
mov bx, word [esp + 0x2e]
mov word [esp + 0x8e], bx
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
xor edx, 0x744
or edx, esi
mov dword [esp + 0x10], edx
je 0x40239e
jmp 0x4024c6
mov eax, dword [esp + 0x54]
add eax, 0x28
mov dword [esp + 0x54], eax
jmp 0x4023ef