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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x118
mov al, 0xcb
mov byte [esp + 0xff], 0xe
mov dword [esp + 0xf8], 0x5d3f
mov ecx, dword [esp + 0x100]
mov edx, ecx
or edx, edx
mov ah, byte [esp + 0xff]
sub al, ah
mov dword [esp + 0x100], edx
mov byte [esp + 0xf7], al
imul edx, ecx, 0x321d
mov dword [esp + 0x100], edx
mov edx, esp
mov dword [edx], 0x4010f3
mov byte [esp + 0x23], ah
mov dword [esp + 0x1c], ecx
call fcn.004033a0
sub esp, 4
mov ecx, 0x5d3f
sub ecx, dword [esp + 0xf8]
cmp eax, ecx
jne 0x403a95
jmp 0x4036d6
jmp 0x4039e1
lea eax, [0x412ba0]
mov ecx, dword [esp + 0xf8]
mov dx, word [esp + 0x106]
imul dx, dx, 0x1fb1
mov esi, dword [esp + 0x24]
mov edi, 0x32f3f
sub edi, ecx
mov word [esp + 0x106], dx
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], edi
movzx ecx, word [esp + 0x106]
add ecx, ecx
mov dx, cx
mov word [esp + 0x106], dx
mov ecx, dword [0x40bad8]
mov dword [esp + 0xac], ecx
mov ecx, dword [0x40badc]
mov dword [esp + 0xb0], ecx
mov ecx, dword [0x40bae0]
mov dword [esp + 0xb4], ecx
mov ecx, dword [0x40bae4]
mov dword [esp + 0xa8], ecx
mov ecx, dword [0x40bae8]
mov dword [esp + 0xa4], ecx
mov ecx, dword [0x40baec]
mov dword [esp + 0xb8], ecx
mov ecx, dword [0x40baf0]
mov dword [esp + 0xbc], ecx
mov ecx, dword [0x40baf4]
mov word [esp + 0x106], 0x9cfb
mov word [esp + 0x106], 0x9eff
mov dword [esp + 0xc0], ecx
movzx ecx, word [esp + 0x106]
imul ecx, ecx
mov dx, cx
mov word [esp + 0x106], dx
mov ecx, dword [0x40baf8]
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0x1c]
imul esi, ecx, 0x2921
mov dword [esp + 0x100], esi
mov esi, dword [0x40bafc]
mov dword [esp + 0xc8], esi
mov esi, dword [0x40bb00]
mov dword [esp + 0xcc], esi
mov esi, dword [0x40bb04]
mov dword [esp + 0xd0], esi
mov esi, dword [esp + 0x108]
mov edi, dword [esp + 0x10c]
add esi, 0x32b2
adc edi, 0
mov dword [esp + 0x108], esi
mov dword [esp + 0x10c], edi
mov esi, dword [0x40bb08]
mov dword [esp + 0xd4], esi
mov esi, dword [0x40bb0c]
mov dword [esp + 0xd8], esi
mov esi, dword [0x40bb10]
mov bl, byte [esp + 0x23]
not bl
mov byte [esp + 0x105], bl
mov dword [esp + 0xdc], esi
mov esi, dword [0x40bb14]
mov byte [esp + 0x105], bl
mov dword [esp + 0xe0], esi
mov dword [esp + 0x100], ecx
mov esi, dword [0x40bb18]
mov dword [esp + 0xe4], esi
mov esi, dword [esp + 0x108]
mov edi, dword [esp + 0x10c]
and esi, esi
and edi, edi
mov ecx, dword [0x40bb1c]
mov dword [esp + 0x10c], edi
mov dword [esp + 0x108], esi
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xf0], eax
mov eax, esp
mov dword [eax], 0x4010f3
call fcn.004033a0
sub esp, 4
cmp eax, 0
jne 0x403a67
jmp 0x403ab9
imul ax, word [esp + 0x106], 0x3c23
mov word [esp + 0x106], ax
mov ax, word [esp + 0x106]
and ax, 0x3759
mov word [esp + 0x106], ax
mov ecx, dword [esp + 0x8c]
mov edx, esp
mov dword [edx], ecx
call fcn.004026e0
sub esp, 4
mov eax, dword [eax + 0x50]
mov dword [esp + 0x90], eax
jmp 0x403999
mov ax, word [esp + 0x106]
sub ax, word [esp + 0x106]
mov word [esp + 0x106], ax
mov ecx, dword [esp + 0xf8]
xor ecx, 0x5d3f
mov edx, esp
mov dword [edx], 0x4010f3
mov dword [esp + 0x18], ecx
call fcn.004033a0
sub esp, 4
mov ecx, dword [esp + 0x18]
cmp eax, ecx
jne 0x4038ca
jmp 0x403999
mov eax, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x1c]
add eax, 0x7aa6
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x1c]
or eax, 0x3fd7
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x100], eax
mov eax, esp
lea edx, [esp + 0x40]
mov dword [eax], edx
call ecx
sub esp, 4
jmp 0x403959
mov eax, dword [esp + 0x2c]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x40]
mov dword [ecx], eax
call fcn.00401db0
sub esp, 8
mov ecx, dword [esp + 0xf8]
xor ecx, 0x5d3f
mov dword [esp + 0x38], eax
mov eax, esp
mov dword [eax], 0x4010f3
mov dword [esp + 0x14], ecx
call fcn.004033a0
sub esp, 4
mov ecx, dword [esp + 0x14]
cmp eax, ecx
jne 0x4036d1
mov al, byte [esp + 0xff]
add al, 0x44
mov ecx, esp
mov dword [ecx], 0x4010f3
mov byte [esp + 0x13], al
call fcn.004033a0
sub esp, 4
mov dword [esp + 0x34], eax
mov dl, byte [esp + 0x13]
mov byte [esp + 0xf6], dl
mov dl, byte [esp + 0xff]
add dl, 0xc7
cmp dl, byte [esp + 0xf6]
jbe 0x403ab9
mov eax, dword [esp + 0xf8]
xor eax, 0x5d3f
cmp dword [esp + 0x34], eax
jne 0x403966
jmp 0x403959
mov eax, 0xc8e2
mov ecx, dword [esp + 0xf8]
sub eax, dword [esp + 0xf8]
add ecx, 0xffffb41e
mov dword [esp + 0x3c], ecx
cmp eax, dword [esp + 0x3c]
jbe 0x403a95
jmp 0x403912
mov eax, esp
mov dword [eax], 0
call fcn.00402a40
sub esp, 4
mov cx, word [esp + 0x106]
xor cx, 0x60d2
mov word [esp + 0x106], cx
mov dword [esp + 0x8c], eax
jmp 0x403ab9
mov eax, esp
lea ecx, [esp + 0x24]
mov dword [eax], ecx
call fcn.004016a0
sub esp, 4
mov dword [esp + 0x100], 0xffffdd09
mov dword [esp + 0xc], eax
jmp 0x4036d6
mov al, byte [esp + 0xf7]
mov cl, byte [esp + 0xff]
xor cl, 0x18
cmp cl, al
jb 0x403a3f
jmp 0x403912