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

Disassembly:
push 0xffffffffffffffff
push 0x45e3b0
mov eax, dword fs:[0]
push eax
sub esp, 0x6c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x476110]
xor eax, esp
push eax
lea eax, [esp + 0x80]
mov dword fs:[0], eax
mov edx, dword [esp + 0x94]
mov edi, dword [edx + 4]
mov ebp, dword [edx + 8]
mov ecx, edi
xor al, al
mov dword [esp + 0x18], edi
cmp ecx, ebp
je 0x408014
test al, al
jne 0x408005
mov al, byte [ecx]
cmp al, 0x2e
je 0x408005
cmp al, 0x65
je 0x408005
cmp al, 0x45
je 0x408005
cmp al, 0x2b
je 0x408005
cmp al, 0x2d
jne 0x408001
cmp ecx, edi
jne 0x408005
xor al, al
jmp 0x408007
mov al, 1
inc ecx
cmp ecx, ebp
jne 0x407fe3
test al, al
jne 0x4080e9
mov esi, edi
cmp byte [esi], 0x2d
sete al
mov byte [esp + 0x17], al
test al, al
je 0x40802e
inc esi
xor eax, eax
mov ecx, SysReAllocString
jmp 0x408034
or eax, 0xffffffff
or ecx, 0xffffffff
push 0
push 0xa
push ecx
push eax
call fcn.004549c0
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x1c], eax
xor ebx, ebx
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x20], edx
cmp esi, ebp
jb 0x40809a
cmp byte [esp + 0x17], bl
je 0x4081e0
mov edx, dword [esp + 0x2c]
and edx, 0xffffff01
or edx, 1
neg ecx
adc eax, ebx
neg eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x88], 3
jmp 0x408240
mov edi, dword [esp + 0x18]
mov dl, byte [esi]
inc esi
cmp dl, 0x30
jl 0x4080fb
cmp dl, 0x39
jg 0x4080fb
movsx edi, dl
sub edi, 0x30
cmp eax, dword [esp + 0x20]
jb 0x4080c5
ja 0x4080bb
cmp ecx, dword [esp + 0x1c]
jb 0x4080c5
cmp esi, ebp
jne 0x4080e2
cmp edi, dword [esp + 0x24]
ja 0x4080e2
push ebx
push 0xa
push eax
push ecx
call fcn.00454bc0
xor ecx, ecx
add eax, edi
adc edx, ecx
mov ecx, eax
mov eax, edx
cmp esi, ebp
jb 0x408096
jmp 0x408059
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x90]
push edx
call fcn.00408290
jmp 0x40826d
mov dword [esp + 0x3c], 0xf
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
cmp edi, ebp
je 0x40811c
sub ebp, edi
push ebp
push edi
lea ecx, [esp + 0x2c]
call fcn.00403160
lea eax, [esp + 0x24]
push eax
mov ecx, 0x46bdec
lea edi, [esp + 0x68]
mov dword [esp + 0x8c], ebx
call fcn.0040c0c0
add esp, 4
push eax
mov edi, str._is_not_a_number.
lea esi, [esp + 0x4c]
mov byte [esp + 0x8c], 1
call fcn.0040c170
add esp, 4
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x90]
push ebx
push ecx
mov ecx, eax
mov byte [esp + 0x90], 2
call fcn.00408c60
mov esi, 0x10
mov byte [esp + 0x90], al
cmp dword [esp + 0x60], esi
jb 0x408191
mov edx, dword [esp + 0x4c]
push edx
call fcn.00446900
add esp, 4
mov edi, 0xf
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], ebx
mov byte [esp + 0x4c], bl
cmp dword [esp + 0x7c], esi
jb 0x4081b5
mov eax, dword [esp + 0x68]
push eax
call fcn.00446900
add esp, 4
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], ebx
mov byte [esp + 0x68], bl
cmp dword [esp + 0x3c], esi
jb 0x4081d4
mov ecx, dword [esp + 0x28]
push ecx
call fcn.00446900
add esp, 4
mov al, byte [esp + 0x90]
jmp 0x40826d
cmp eax, ebx
ja 0x408218
jb 0x4081ee
cmp ecx, 0x7fffffff
ja 0x408218
mov edx, dword [esp + 0x2c]
and edx, 0xffffff01
or edx, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x88], 4
jmp 0x408240
mov edx, dword [esp + 0x2c]
and edx, 0xffffff02
or edx, 2
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x88], 5
mov eax, dword [esp + 0x90]
call fcn.0040a9e0
mov esi, dword [eax]
lea eax, [esp + 0x24]
call fcn.004091c0
lea eax, [esp + 0x24]
mov dword [esp + 0x88], 0xffffffff
call fcn.004090f0
mov al, 1
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x78
ret 8