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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xe0
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov byte [esp + 0x5b], 0x69
mov dword [esp + 0x70], 0
mov esi, dword [esp + 0x70]
mov dword [esp + 0x98], 0
mov edi, dword [esp + 0x98]
mov dword [esp + 0x64], 1
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x50], 0xb
mov dword [esp + 0x54], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x48], 0
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xac], 0x1000
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x68], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0xa8], 0
mov word [esp + 0x9e], 0x6f7b
mov dword [esp + 0x4c], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x74], ecx
mov byte [esp + 0xdb], 0xef
mov dword [esp + 0xa0], edx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x44], 0
mov edx, dword [esp + 0x5c]
mov word [esp + 0x42], 0x3678
mov dword [esp + 0x6c], 0
cmp edx, eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], esi
jbe 0x402595
mov eax, 0xffffffff
mov ecx, 0
sub ecx, dword [esp + 0x68]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xb0], eax
jmp 0x4027ff
mov al, byte [esp + 0x5b]
mov dword [esp + 0x78], 0
and al, 0x58
mov byte [esp + 0x5b], al
mov al, byte [esp + 0x5b]
and al, 0xcd
mov byte [esp + 0x5b], al
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xb4], ecx
lea eax, [esp + 0xb0]
mov cl, byte [esp + 0x5b]
mov dl, al
or cl, dl
mov byte [esp + 0x5b], cl
mov eax, dword [esp + 0xb4]
cmp eax, dword [esp + 0x5c]
jae 0x402673
lea eax, [esp + 0x4c]
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xa0]
movsx ecx, byte [edx + ecx]
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov eax, edx
xor edx, edx
mov esi, dword [esp + 0x34]
div esi
movsx eax, byte [edx + 0x407258]
sub ecx, eax
mov bl, cl
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x20]
sub edx, ecx
mov byte [esp + eax + 0xbb], bl
mov dword [esp + 0x4c], edx
lea eax, [esp + 0xa8]
mov dword [esp + 0x4c], 0
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x3c], edx
or ecx, eax
mov dword [esp + 0xa8], ecx
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x28]
add eax, ecx
mov dword [esp + 0xb4], eax
jmp 0x4025bc
mov al, 0
lea ecx, [esp + 0xbb]
mov edx, dword [esp + 0x5c]
mov byte [esp + edx + 0xbb], 0
mov si, word [esp + 0x42]
xor si, 0x792e
mov word [esp + 0x42], si
mov dword [esp + 0x8c], ecx
sub al, byte [esp + 0x5b]
mov ecx, dword [esp + 0x8c]
mov dword [esp], ecx
mov byte [esp + 0x1f], al
call fcn.004016c0
lea ecx, [0x4092d4]
mov si, ax
mov word [esp + 0x88], si
mov bl, byte [esp + 0x1f]
mov byte [esp + 0x5b], bl
mov word [esp + 0x8a], si
mov dword [esp], ecx
call fcn.004016c0
mov ecx, dword [esp + 0x2c]
cmp eax, ecx
jne 0x40271c
mov eax, 0xfffffffd
lea ecx, [esp + 0x6c]
mov edx, dword [esp + 0xa8]
and edx, 0
mov dword [esp + 0xa8], edx
mov edx, dword [esp + 0xa8]
and edx, ecx
mov dword [esp + 0xa8], edx
mov dword [esp + 0x60], eax
jmp 0x4027ff
lea eax, [esp + 0x9e]
mov ecx, dword [esp + 0x6c]
xor ecx, eax
mov edx, dword [esp + 0x94]
xor edx, eax
mov dword [esp + 0x94], edx
mov dword [esp + 0x6c], ecx
call fcn.00402380
lea ecx, [0x4092d9]
mov dword [esp + 0x84], eax
mov dword [esp], ecx
call fcn.004016c0
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x74]
lea esi, [esp + 0x44]
mov edi, esp
mov dword [edi + 0xc], esi
lea esi, [esp + 0x88]
mov dword [edi + 4], esi
mov dword [edi], edx
mov dword [edi + 8], 0
mov dword [esp + 0x18], eax
call ecx
sub esp, 0x10
mov ecx, dword [esp + 0x24]
cmp eax, ecx
je 0x4027af
mov ax, word [esp + 0x42]
xor ax, 0x4829
mov word [esp + 0x42], ax
mov dword [esp + 0x60], 0
jmp 0x4027ff
lea eax, [0x4092df]
lea ecx, [esp + 0x6c]
mov edx, dword [esp + 0x78]
xor edx, ecx
mov dword [esp + 0x78], edx
mov ecx, dword [esp + 0xb0]
xor ecx, 0
mov dword [esp + 0x78], ecx
mov dword [esp], eax
call fcn.004016c0
lea ecx, [esp + 0xb0]
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0xa4]
or esi, ecx
mov dword [esp + 0xb0], esi
mov dword [esp + 0x60], edx
mov dword [esp + 0x14], eax
mov ax, word [esp + 0x9e]
lea ecx, [esp + 0x68]
mov dx, cx
xor ax, dx
mov word [esp + 0x9e], ax
mov ax, word [esp + 0x42]
lea ecx, [esp + 0x80]
mov dx, cx
sub dx, ax
mov dword [esp + 0x3c], 0
mov word [esp + 0x42], dx
mov eax, dword [esp + 0x60]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8