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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4ba7e0
mov eax, dword fs:[0]
push eax
sub esp, 0x70
push ebx
push esi
push edi
mov eax, dword [0x4d509c]
xor eax, esp
push eax
lea eax, [esp + 0x80]
mov dword fs:[0], eax
mov edi, dword [ebp + 0xc]
mov edx, dword [edi + 4]
mov esi, dword [edi + 8]
mov ecx, edx
xor al, al
mov dword [esp + 0x18], edx
cmp ecx, esi
je 0x40caa4
test al, al
jne 0x40ca76
mov al, byte [ecx]
cmp al, 0x2e
je 0x40ca76
cmp al, 0x65
je 0x40ca76
cmp al, 0x45
je 0x40ca76
cmp al, 0x2b
je 0x40ca76
cmp al, 0x2d
jne 0x40ca72
cmp ecx, edx
jne 0x40ca76
xor al, al
jmp 0x40ca78
mov al, 1
inc ecx
cmp ecx, esi
jne 0x40ca54
test al, al
je 0x40caa4
mov eax, dword [ebp + 8]
push eax
mov ecx, edi
call fcn.0040ccd0
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, edx
cmp byte [ecx], 0x2d
sete al
mov byte [esp + 0x17], al
test al, al
je 0x40cabc
inc ecx
mov edx, SysReAllocString
jmp 0x40cabf
or edx, 0xffffffff
mov eax, 0xcccccccd
mul edx
mov edi, edx
shr edi, 3
xor ebx, ebx
xor eax, eax
cmp ecx, esi
jae 0x40caf2
mov dl, byte [ecx]
inc ecx
cmp dl, 0x30
jl 0x40cb4b
cmp dl, 0x39
jg 0x40cb4b
cmp eax, edi
jae 0x40cb27
movsx edx, dl
lea eax, [eax + eax*4]
lea eax, [edx + eax*2 - 0x30]
cmp ecx, esi
jb 0x40cad3
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], ebx
cmp byte [esp + 0x17], bl
je 0x40cc3c
and ecx, 0xffffff01
or ecx, 1
neg eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x88], 3
jmp 0x40cc79
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
push eax
call fcn.0040ccd0
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [esp + 0x18]
mov dword [esp + 0x54], 0xf
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], bl
cmp eax, esi
je 0x40cb70
sub esi, eax
push esi
push eax
lea ecx, [esp + 0x44]
call fcn.00405ef0
lea ecx, [esp + 0x3c]
push ecx
mov ecx, 0x4c913c
lea edi, [esp + 0x64]
mov dword [esp + 0x8c], ebx
call fcn.00410a40
add esp, 4
push eax
mov edi, str._is_not_a_number.
lea esi, [esp + 0x20]
mov byte [esp + 0x8c], 1
call fcn.00410af0
add esp, 4
mov edx, dword [ebp + 0xc]
push ebx
push edx
mov edx, dword [ebp + 8]
mov ecx, eax
mov byte [esp + 0x90], 2
call fcn.0040d5c0
mov esi, 0x10
mov bl, al
cmp dword [esp + 0x34], esi
jb 0x40cbd8
mov eax, dword [esp + 0x20]
push eax
call fcn.004867ca
add esp, 4
xor edi, edi
mov dword [esp + 0x34], 0xf
mov dword [esp + 0x30], edi
mov byte [esp + 0x20], 0
cmp dword [esp + 0x78], esi
jb 0x40cbfe
mov ecx, dword [esp + 0x64]
push ecx
call fcn.004867ca
add esp, 4
mov dword [esp + 0x78], 0xf
mov dword [esp + 0x74], edi
mov byte [esp + 0x64], 0
cmp dword [esp + 0x54], esi
jb 0x40cc22
mov edx, dword [esp + 0x40]
push edx
call fcn.004867ca
add esp, 4
mov al, bl
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov dword [esp + 0x1c], eax
cmp eax, 0x7fffffff
ja 0x40cc61
and ecx, 0xffffff01
or ecx, 1
mov dword [esp + 0x24], ecx
mov dword [esp + 0x88], 4
jmp 0x40cc79
and ecx, 0xffffff02
or ecx, 2
mov dword [esp + 0x24], ecx
mov dword [esp + 0x88], 5
mov eax, dword [ebp + 8]
call fcn.0040e620
mov esi, dword [eax]
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x40]
call fcn.00402340
lea ecx, [esp + 0x3c]
mov edx, esi
call fcn.00402650
call fcn.004024f0
lea ecx, [esp + 0x1c]
mov dword [esp + 0x88], 0xffffffff
call fcn.004024f0
mov al, 1
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8