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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa8
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov edx, 0x5e27
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0x5046
mov dword [esp + 0x80], 0x2042
mov esi, dword [esp + 0x80]
sub edx, esi
mov dword [esp + 0x34], edx
mov word [esp + 0x1e], 0x5d3c
mov dword [esp + 0x54], eax
mov dword [esp + 0x5c], ecx
mov dword [esp + 0xc], esi
call fcn.004035f0
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0xc]
add eax, 0x14
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x7c]
mov eax, dword [eax]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
or eax, eax
or ecx, ecx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x98], eax
or eax, 0x3556
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x98], eax
cmp edx, esi
jne 0x40337d
jmp 0x403294
mov eax, dword [esp + 0x80]
xor eax, 0x2023
movzx ecx, word [esp + 0x66]
add eax, ecx
sub eax, 0x41
mov dx, ax
mov word [esp + 0x72], dx
jmp 0x403308
cmp dword [esp + 0x38], 0
jne 0x4035bb
jmp 0x4034b1
movzx eax, word [esp + 0x72]
cmp eax, 0x5a
jle 0x40353d
jmp 0x403308
mov dword [esp + 0x60], 0
jmp 0x4035c6
jmp 0x403274
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x2c]
shr ecx, 1
mov edx, dword [esp + 0xc]
xor edx, 0x66b1
mov dword [esp + 0x84], edx
cmp eax, ecx
jb 0x40335e
jmp 0x403274
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x14]
mov dx, word [eax + ecx*2]
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
add eax, eax
adc ecx, ecx
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
mov word [esp + 0x72], dx
movzx eax, word [esp + 0x72]
cmp eax, 0x41
jge 0x403447
mov eax, 0x50fb
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x34]
add esi, 0xffffe891
mov byte [esp + 0xa3], 0x6f
mov bx, word [ecx + edx*2]
mov dword [esp + 0x68], esi
sub eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x18], ecx
movzx ecx, bx
mov dword [esp + 0x50], ecx
mov bx, word [esp + 0x72]
mov word [esp + 0x32], bx
cmp eax, edi
jbe 0x4034c0
mov ax, 0x303b
mov ecx, dword [esp + 0x78]
mov dx, word [esp + 0x1e]
mov dword [esp + 0x14], ecx
cmp ax, dx
jne 0x4032c9
jmp 0x4034e1
xor eax, eax
mov ecx, eax
add ecx, 8
sub eax, ecx
mov ecx, dword [esp + 0x80]
add ecx, 0x230b
mov edx, dword [esp + 0x4c]
add edx, eax
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x80]
add edx, 0xfffff860
add eax, 0x2c
mov dword [esp + 0x10], eax
mov dword [esp + 0x58], ecx
mov bl, byte [esp + 0xa3]
mov eax, dword [esp + 0x58]
xor bl, byte [esp + 0xa3]
mov byte [esp + 0xa3], bl
cmp eax, edx
ja 0x403514
jmp 0x403480
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x24]
sete cl
and cl, 1
movzx eax, cl
mov dword [esp + 0x38], eax
movzx eax, word [esp + 0x72]
cmp eax, 0
je 0x4032a1
jmp 0x4035d4
mov eax, 0x5116
mov ecx, 0x2bd7
mov edx, dword [esp + 0x80]
sub ecx, dword [esp + 0x80]
sub eax, edx
mov dword [esp + 0x6c], eax
mov bl, byte [esp + 0xa3]
or bl, byte [esp + 0xa3]
mov eax, dword [esp + 0x6c]
mov byte [esp + 0xa3], bl
cmp ecx, eax
jbe 0x403475
jmp 0x4032c9
mov eax, 0x76ba
mov ecx, dword [esp + 0x80]
xor ecx, 0x749e
mov dword [esp + 0x74], ecx
cmp eax, dword [esp + 0x74]
jb 0x4034b1
jmp 0x403284
mov eax, dword [esp + 0x20]
mov dword [esp + 0x60], eax
jmp 0x4035c6
cmp dword [esp + 0x54], 0
jne 0x403468
jmp 0x4034e1
jmp 0x403480
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x78]
xor eax, 0x2043
add ecx, eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0x2d8e
jmp 0x4032a3
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov dword [esp + 0x4c], eax
jmp 0x40320c
mov eax, 0x3b45
movzx ecx, word [esp + 0x32]
mov dword [esp + 0x24], ecx
sub eax, dword [esp + 0x80]
cmp dword [esp + 0x18], eax
jne 0x4033df
jmp 0x40353d
mov eax, dword [esp + 0x80]
xor eax, 0x2042
mov dword [esp + 0x38], eax
mov dword [esp + 0x9c], 0xffffffff
mov dword [esp + 0x98], 0xffffbd01
mov dword [esp + 0x78], 0
jmp 0x4032a3
mov eax, dword [esp + 0x10]
movzx eax, word [eax]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x18]
cmp eax, dword [esp + 0x54]
je 0x403407
jmp 0x4034e1
movzx eax, word [esp + 0x96]
or eax, eax
mov cx, ax
mov word [esp + 0x96], cx
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
xor eax, 0x754e
mov cx, word [esp + 0x72]
mov dword [esp + 0x9c], 0xffffffff
mov dword [esp + 0x98], 0xfffffef7
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x8c]
add esi, 0xfffffaf7
adc edi, 0xffffffff
mov word [esp + 0x66], cx
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
sub eax, esi
sbb edx, edi
mov dword [esp + 8], edx
mov dword [esp + 4], eax
jae 0x4034c0
jmp 0x403251
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x60]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov eax, 0x2042
sub eax, dword [esp + 0x80]
cmp dword [esp + 0x38], eax
je 0x4032a1
jmp 0x40347e