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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x90
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
lea edx, [0x40a081]
mov word [esp + 0x86], 0x2572
mov dword [esp + 0x80], 0x3449e61d
mov word [esp + 0x46], 0xd6b6
mov esi, dword [esp + 0x88]
mov dword [esp + 0x88], 0x6e1f70ca
mov dword [esp + 0x88], esi
mov edi, esp
lea ebx, [esp + 0x54]
mov dword [edi], ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], ebx
call fcn.00401000
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x78], 0x86f9d7e1
mov dword [esp + 0x7c], 0xffffffff
mov esi, dword [esp + 0x80]
mov edi, 0x3449e635
sub edi, esi
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], edx
mov esi, dword [esp + 0x24]
mov dword [esp], esi
mov ebx, dword [esp + 0x2c]
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov byte [esp + 0x23], al
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], edx
call fcn.00408d70
lea ecx, [esp + 0x54]
mov dword [esp], ecx
call fcn.00407150
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x28]
add eax, 0x4e343029
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x28]
sub ecx, ecx
mov dword [esp + 0x88], ecx
cmp eax, 0
jne 0x409117
jmp 0x4090ec
mov eax, dword [esp + 0x48]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ax, 0x7b89
mov dword [esp + 0x74], 0
mov cx, word [esp + 0x46]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x38], edx
cmp ax, cx
jae 0x4091a9
jmp 0x4091a9
mov dword [esp + 0x48], 0
mov ax, word [esp + 0x86]
or ax, 0x6ada
mov word [esp + 0x86], ax
jmp 0x40909b
mov al, byte [esp + 0x23]
add al, 0x85
mov byte [esp + 0x85], al
mov dword [esp + 0x48], 0
mov ecx, dword [esp + 0x18]
not ecx
mov edx, dword [esp + 0x1c]
not edx
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], ecx
jmp 0x40909b
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x40], eax
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0x7fabbfdb
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call fcn.004070d0
mov cx, ax
mov word [esp + 0x3c], cx
mov word [esp + 0x3e], cx
mov cx, word [esp + 0x86]
add cx, word [esp + 0x86]
mov word [esp + 0x86], cx
mov eax, dword [esp + 0x80]
add eax, 0xcbb619e3
mov edx, dword [esp + 0x28]
sub edx, edx
mov dword [esp + 0x88], edx
mov bl, byte [esp + 0x23]
xor bl, 0xff
mov cx, word [esp + 0x3e]
mov byte [esp + 0x85], bl
mov bl, byte [esp + 0x23]
xor bl, 0xff
movzx edx, cx
mov byte [esp + 0x85], bl
cmp edx, eax
je 0x4090ce
jmp 0x4090a7
mov al, 0x82
mov cl, byte [esp + 0x23]
mov byte [esp + 0x17], al
mov al, cl
mov dl, byte [esp + 0x17]
mul dl
mov byte [esp + 0x85], al
mov esi, dword [ebp + 8]
mov edi, dword [esp + 0x38]
mov ebx, esp
lea eax, [esp + 0x74]
mov dword [ebx + 0xc], eax
lea eax, [esp + 0x3c]
mov dword [ebx + 4], eax
mov dword [ebx], esi
mov dword [ebx + 8], 0
call edi
sub esp, 0x10
mov dword [esp + 0x50], eax
mov cl, byte [esp + 0x23]
mov byte [esp + 0x85], cl
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x7c], esi
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x78], edi
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x28]
sub eax, eax
mov dword [esp + 0x88], eax
jmp 0x40909b