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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x5c
push ebx
push esi
mov esi, dword [ebp + 0x14]
push edi
call fcn.0040896c
mov ebx, dword [ebp + 8]
lea esi, [ebx + 0xec]
mov dword [esp + 0x1c], esi
call fcn.0040896c
mov al, byte [ebp + 0x24]
mov byte [ebx + 4], al
mov al, byte [ebp + 0x20]
mov byte [ebx + 5], al
mov eax, dword [ebp + 0xc]
lea edi, [ebx + 0x14]
mov dword [esp + 0x10], edi
cmp edi, eax
je 0x405b82
mov ecx, edi
call fcn.0040273c
mov eax, dword [ebp + 0x10]
lea ecx, [ebx + 0x24]
mov dword [esp + 0x18], ecx
cmp ecx, eax
je 0x405b95
call fcn.0040273c
lea eax, [ebx + 0xbc]
push 0x46df88
mov dword [esp + 0x24], eax
call fcn.00402d4f
mov eax, dword [ebp + 0x18]
xor esi, esi
mov dword [ebx + 0x10], eax
xor eax, eax
inc esi
lea ecx, [esp + 0x38]
mov dword [ebx + 0xcc], esi
mov byte [ebx + 0xc], 1
mov dword [ebx + 8], eax
mov dword [ebx + 0xd0], eax
mov dword [ebx + 0xe4], eax
call fcn.004025d1
lea ecx, [esp + 0x48]
call fcn.004025d1
lea ecx, [esp + 0x58]
call fcn.004025d1
mov eax, dword [ebx + 0x10]
test eax, eax
jns 0x405bfd
push eax
call fcn.00459f4b
pop ecx
mov dword [ebx + 0x10], eax
mov byte [ebx + 0xc], 0
cmp dword [ebx + 0x10], 4
jne 0x405c0b
call fcn.0040582a
mov dword [ebx + 0x10], esi
cmp dword [ebx + 0x18], 0
jne 0x405c61
cmp dword [ebx + 0x28], 0
jne 0x405c61
call dword [0x46b6d4]
push eax
mov esi, ebx
call fcn.00404e5c
mov eax, dword [ebx]
mov eax, dword [eax]
mov esi, dword [ebp + 0x14]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
call fcn.004064bd
lea ecx, [esp + 0x58]
call fcn.00402604
lea ecx, [esp + 0x48]
call fcn.00402604
lea ecx, [esp + 0x38]
call fcn.00402604
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
mov eax, dword [esp + 0x10]
xor edi, edi
call fcn.00402c2d
cmp word [eax], 0x5b
jne 0x405f17
mov edi, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
lea edi, [edi - 1]
call fcn.00402c2d
cmp word [eax], 0x5d
jne 0x405f17
mov eax, dword [ebx + 0x18]
sub eax, 2
push eax
mov dword [esp + 0x28], eax
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x18]
lea edi, [esp + 0x20]
lea eax, [esp + 0x44]
mov dword [esp + 0x20], esi
call fcn.004059f3
test al, al
je 0x405f17
push 0x46e18c
lea esi, [esp + 0x3c]
call fcn.004054df
pop ecx
test al, al
jne 0x405f9a
push 0x46e1a4
call fcn.004054df
pop ecx
test al, al
jne 0x405ff4
push 0x46e254
call fcn.004054df
pop ecx
test al, al
jne 0x40601b
push str._nextafter
call fcn.004054df
pop ecx
test al, al
je 0x405d27
mov eax, dword [ebx + 8]
test al, 1
jne 0x40603c
or eax, 2
lea esi, [ebx + 0x34]
mov dword [ebx + 8], eax
call fcn.00407fc8
lea ebx, [esp + 0x28]
jmp 0x405d76
push 0x46e0fc
lea esi, [esp + 0x3c]
call fcn.004054df
pop ecx
test al, al
je 0x405d53
mov ecx, dword [esp + 0x20]
or dword [ebx + 8], 8
lea eax, [esp + 0x48]
cmp ecx, eax
je 0x405ef2
jmp 0x405ed0
push 0x46e118
lea esi, [esp + 0x3c]
call fcn.004054df
pop ecx
test al, al
je 0x405d93
or dword [ebx + 8], 0x10
lea esi, [ebx + 0x78]
call fcn.00407fc8
lea ebx, [esp + 0x30]
lea eax, [esp + 0x48]
push eax
mov eax, esi
call fcn.00407ffb
cmp dword [eax], 0
jne 0x406041
mov ebx, dword [ebp + 8]
jmp 0x405ef2
push 0x46e144
lea esi, [esp + 0x3c]
call fcn.004054df
pop ecx
test al, al
je 0x405dc2
push dword [esp + 0x48]
or dword [ebx + 8], 0x80
call fcn.00457e20
pop ecx
mov dword [ebx + 0xd4], eax
jmp 0x405ef2
push 0x46e148
lea esi, [esp + 0x3c]
call fcn.004054df
pop ecx
test al, al
je 0x405df1
push dword [esp + 0x48]
or dword [ebx + 8], 0x100
call fcn.00457e20
pop ecx
mov dword [ebx + 0xd8], eax
jmp 0x405ef2
push 0x46e14c
lea esi, [esp + 0x3c]
call fcn.004054df
pop ecx
test al, al
je 0x405e20
push dword [esp + 0x48]
or dword [ebx + 8], 0x200
call fcn.00457e20
pop ecx
mov dword [ebx + 0xdc], eax
jmp 0x405ef2
push 0x46e150
lea esi, [esp + 0x3c]
call fcn.004054df
pop ecx
test al, al
je 0x405e4f
push dword [esp + 0x48]
or dword [ebx + 8], 0x400
call fcn.00457e20
pop ecx
mov dword [ebx + 0xe0], eax
jmp 0x405ef2
push 0x46e154
lea esi, [esp + 0x3c]
call fcn.004054df
pop ecx
test al, al
je 0x405e78
push dword [esp + 0x48]
or dword [ebx + 8], 0x20
call fcn.00457e20
pop ecx
mov dword [ebx + 0xcc], eax
jmp 0x405ef2
push 0x46e23c
lea esi, [esp + 0x3c]
call fcn.004054df
pop ecx
test al, al
je 0x405ea8
push 0x46df88
lea esi, [esp + 0x4c]
call fcn.004054df
pop ecx
test al, al
je 0x405fef
or dword [ebx + 8], 0x40
jmp 0x405ef2
push 0x46e27c
lea esi, [esp + 0x3c]
call fcn.004054df
pop ecx
test al, al
je 0x405edb
mov eax, dword [ebx + 8]
test al, 2
jne 0x406045
or eax, 1
mov dword [ebx + 8], eax
lea ecx, [esp + 0x58]
lea eax, [esp + 0x48]
call fcn.0040273c
jmp 0x405ef2
push 0x46df88
lea esi, [esp + 0x3c]
call fcn.004054df
pop ecx
test al, al
je 0x405fef
push dword [esp + 0x24]
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x18]
lea edi, [esp + 0x20]
lea eax, [esp + 0x44]
call fcn.004059f3
test al, al
jne 0x405cbc
xor esi, esi
inc esi
cmp dword [esp + 0x5c], 0
je 0x405f2f
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x58]
cmp ecx, eax
je 0x405f2f
call fcn.0040273c
cmp dword [ebx + 8], 0
jne 0x405f38
mov dword [ebx + 8], esi
or dword [ebx + 8], 4
cmp byte [ebx + 0xc], 0
mov edi, dword [0x46b61c]
jne 0x405f5a
mov esi, dword [esp + 0x18]
call fcn.00402bca
mov eax, esi
push dword [eax + 4]
push dword [eax]
call edi
test byte [ebx + 8], 1
je 0x405f78
cmp byte [ebx + 0xc], 0
jne 0x405f78
mov esi, dword [esp + 0x10]
call fcn.00402bca
mov eax, esi
push dword [eax + 4]
push dword [eax]
call edi
cmp byte [ebp + 0x1c], 0
push ebx
push 0x405487
je 0x406049
call dword [0x46b5e8]
push eax
call dword [0x46b618]
jmp 0x40604f
push 0x46df88
lea esi, [esp + 0x4c]
call fcn.004054df
pop ecx
test al, al
je 0x405fef
mov ebx, dword [ebx]
test ebx, ebx
je 0x405feb
mov eax, dword [ebx]
mov esi, dword [ebp + 0x14]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x24]
push eax
call fcn.004064bd
xor esi, esi
inc esi
lea ecx, [esp + 0x58]
call fcn.00402604
lea ecx, [esp + 0x48]
call fcn.00402604
lea ecx, [esp + 0x38]
call fcn.00402604
mov eax, esi
jmp 0x405c58
xor esi, esi
jmp 0x405fc9
or esi, 0xffffffff
jmp 0x405fc9
push 0x46df88
lea esi, [esp + 0x4c]
call fcn.004054df
pop ecx
test al, al
je 0x405fef
call dword [0x46b6d4]
push eax
mov esi, ebx
call fcn.00404e5c
mov eax, dword [ebx]
mov eax, dword [eax]
jmp 0x405fb5
mov edi, dword [esp + 0x48]
lea esi, [esp + 0x14]
call fcn.00410a95
push dword [esp + 0x14]
call dword [0x46b5ec]
test eax, eax
je 0x405feb
push dword [esp + 0x14]
jmp 0x40600e
push 0xfffffffffffffffd
pop esi
jmp 0x405fc9
push 0xfffffffffffffffe
jmp 0x40603e
push 0xfffffffffffffffc
jmp 0x40603e
call dword [0x46b5e4]
mov edi, dword [ebp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, edi
call fcn.00406535
mov esi, ebx
call fcn.0040896c
mov esi, dword [ebp + 8]
cmp dword [esi + 0xe4], 1
jl 0x40607c
mov eax, dword [edi + 4]
mov eax, dword [eax]
push dword [eax]
call fcn.00404e5c
mov esi, dword [esi + 0xe4]
jmp 0x405fc9