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

Disassembly:
push 0xffffffffffffffff
push 0x5b3410
mov eax, dword fs:[0]
push eax
sub esp, 0x64
push ebx
push ebp
push esi
push edi
mov eax, dword [0x615370]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov edi, dword [esp + 0x8c]
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 0x51ebcf
test al, al
jne 0x51ebb2
mov al, byte [ecx]
cmp al, 0x2e
je 0x51ebb2
cmp al, 0x65
je 0x51ebb2
cmp al, 0x45
je 0x51ebb2
cmp al, 0x2b
je 0x51ebb2
cmp al, 0x2d
jne 0x51ebae
cmp ecx, edx
jne 0x51ebb2
xor al, al
jmp 0x51ebb4
mov al, 1
inc ecx
cmp ecx, esi
jne 0x51eb90
test al, al
je 0x51ebcf
mov ecx, dword [esp + 0x88]
push edi
call fcn.0051edf0
jmp 0x51edcf
mov ecx, edx
cmp byte [ecx], 0x2d
sete bl
test bl, bl
je 0x51ebe3
inc ecx
mov edx, SysReAllocStringLen
jmp 0x51ebe6
or edx, 0xffffffff
mov eax, 0xcccccccd
mul edx
mov edi, edx
shr edi, 3
xor ebp, ebp
xor eax, eax
cmp ecx, esi
jae 0x51ec1f
lea ebx, [ebx]
mov dl, byte [ecx]
inc ecx
cmp dl, 0x30
jl 0x51ec6b
cmp dl, 0x39
jg 0x51ec6b
cmp eax, edi
jae 0x51ec52
movsx edx, dl
lea eax, [eax + eax*4]
lea eax, [edx + eax*2 - 0x30]
cmp ecx, esi
jb 0x51ec00
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], ebp
test bl, bl
je 0x51ed4e
and ecx, 0xffffff01
or ecx, 1
neg eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x80], 3
jmp 0x51ed8b
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
push eax
call fcn.0051edf0
jmp 0x51edcf
mov eax, dword [esp + 0x18]
mov dword [esp + 0x54], 0xf
mov dword [esp + 0x50], ebp
mov byte [esp + 0x40], 0
cmp eax, esi
je 0x51ec91
sub esi, eax
push esi
push eax
lea ecx, [esp + 0x44]
call fcn.00406e40
lea ecx, [esp + 0x3c]
push ecx
mov ecx, 0x5e2b2c
lea edi, [esp + 0x60]
mov dword [esp + 0x84], ebp
call fcn.00520e80
add esp, 4
push eax
mov edi, str._is_not_a_number.
lea esi, [esp + 0x20]
mov byte [esp + 0x84], 1
call fcn.00520f30
add esp, 4
mov edx, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
push edx
xor edx, edx
mov ecx, eax
mov byte [esp + 0x84], 2
call fcn.0051f6d0
mov esi, 0x10
mov bl, al
cmp dword [esp + 0x34], esi
jb 0x51ed02
mov eax, dword [esp + 0x20]
push eax
call fcn.005851f0
add esp, 4
mov edi, 0xf
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], ebp
mov byte [esp + 0x20], 0
cmp dword [esp + 0x74], esi
jb 0x51ed27
mov ecx, dword [esp + 0x60]
push ecx
call fcn.005851f0
add esp, 4
mov dword [esp + 0x74], edi
mov dword [esp + 0x70], ebp
mov byte [esp + 0x60], 0
cmp dword [esp + 0x54], esi
jb 0x51ed47
mov edx, dword [esp + 0x40]
push edx
call fcn.005851f0
add esp, 4
mov al, bl
jmp 0x51edcf
mov dword [esp + 0x1c], eax
cmp eax, 0x7fffffff
ja 0x51ed73
and ecx, 0xffffff01
or ecx, 1
mov dword [esp + 0x24], ecx
mov dword [esp + 0x80], 4
jmp 0x51ed8b
and ecx, 0xffffff02
or ecx, 2
mov dword [esp + 0x24], ecx
mov dword [esp + 0x80], 5
mov eax, dword [esp + 0x88]
call fcn.0051fa50
mov esi, dword [eax]
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x40]
call fcn.00519440
lea ecx, [esp + 0x3c]
mov edx, esi
call fcn.005196d0
mov eax, ecx
call fcn.005195a0
lea eax, [esp + 0x1c]
mov dword [esp + 0x80], 0xffffffff
call fcn.005195a0
mov al, 1
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x70
ret 8