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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x19c
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push dword [ebp + 0xc]
lea eax, [ebx + 0xa0]
push 0x20
pop ecx
call fcn.0040258f
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x18], eax
xor edi, edi
lea eax, [esp + 0x7c]
pop ecx
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], eax
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], 0x55f260
call fcn.0040269c
push 0x10
pop esi
mov dword [esp + 0x90], eax
lea eax, [esp + 0x78]
lea ecx, [esp + 0x80]
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], edi
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], 0xc
call fcn.00432140
lea eax, [esp + 0x48]
mov dword [ebx + 0x9cc], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], eax
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], 0x55f260
call fcn.0040269c
mov dword [esp + 0x60], eax
lea eax, [esp + 0x48]
lea ecx, [esp + 0x50]
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], 0x1c
call fcn.00432140
mov eax, dword [ebp + 0x14]
xorps xmm0, xmm0
mov dword [ebx + 0xc0], eax
mov eax, dword [ebp + 0x10]
mov dword [ebx + 0x9c4], edi
mov dword [ebx + 0x9c0], edi
mov byte [ebx + 0x88], 0
mov al, byte [eax]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x34], edi
movss dword [esp + 0x28], xmm0
call fcn.00402614
cmp al, 0x45
je 0x41969e
mov esi, dword [sym.imp.MSVCR80.dll_atoi]
mov eax, dword [esp + 0x14]
push 0xd
call fcn.0041a161
cmp eax, edi
pop ecx
mov dword [esp + 0x38], eax
je 0x419067
mov byte [eax], 0
mov eax, dword [esp + 0x14]
push 0x20
call fcn.0041a161
inc eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
mov al, byte [eax]
pop ecx
call fcn.00402614
movsx eax, al
sub eax, 0x43
je 0x41963b
sub eax, 4
je 0x4193ff
dec eax
je 0x419360
sub eax, 3
je 0x4191e3
sub eax, 5
je 0x4190c9
sub eax, 6
jne 0x419684
push dword [esp + 0x10]
call dword [sym.imp.MSVCR80.dll_atof]
fstp dword [esp + 0x2c]
jmp 0x419683
mov eax, dword [esp + 0x14]
mov al, byte [eax + 4]
call fcn.00402614
cmp al, 0x53
jne 0x4191d2
push dword [esp + 0x10]
call esi
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
pop ecx
mov dword [ebx + 0x9c], eax
jge 0x4190fc
fadd dword [0x57f8c8]
fld1
mov eax, dword [esp + 0x10]
fdivrp st(1)
push 0x20
push 0x20
fstp dword [ebx + 0xd4]
call fcn.0041a161
pop ecx
inc eax
call fcn.0041a161
inc eax
pop ecx
push eax
mov dword [esp + 0x14], eax
call esi
cmp dword [ebp + 0x14], 0x218fa6ee
pop ecx
mov dword [ebx], eax
jne 0x419132
inc eax
mov dword [ebx], eax
mov eax, dword [esp + 0x10]
push 0x20
push 0x20
call fcn.0041a161
pop ecx
inc eax
call fcn.0041a161
inc eax
pop ecx
mov cl, byte [eax]
mov dl, cl
sub dl, 0x41
cmp dl, 0x19
ja 0x419157
or cl, 0x20
cmp cl, 0x63
je 0x41917e
cmp cl, 0x67
je 0x419172
cmp cl, 0x73
jne 0x419188
mov dword [ebx + 0x84], 3
jmp 0x419188
mov dword [ebx + 0x84], 2
jmp 0x419188
mov dword [ebx + 0x84], 1
push 0x20
push 0x20
call fcn.0041a161
pop ecx
inc eax
call fcn.0041a161
mov al, byte [eax + 1]
pop ecx
mov cl, al
sub cl, 0x41
cmp cl, 0x19
ja 0x4191a8
or al, 0x20
cmp al, 0x65
je 0x4191c3
cmp al, 0x69
jne 0x419684
mov dword [ebx + 0x94], 2
jmp 0x419684
mov dword [ebx + 0x94], 1
jmp 0x419684
cmp al, 0x42
jne 0x419684
inc dword [esp + 0x18]
jmp 0x419684
mov eax, dword [ebx + 0x9c4]
cmp eax, edi
mov dword [esp + 0x14], eax
je 0x419282
cmp dword [ebx + 0x9c0], edi
jne 0x419282
xor ecx, ecx
push 0x18
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004dd1ff
xor edi, edi
cmp eax, edi
pop ecx
je 0x419240
mov edx, dword [esp + 0x14]
dec edx
cmp edx, edi
mov ecx, eax
jl 0x419242
movss xmm0, dword [0x55df54]
movss dword [ecx], xmm0
movss dword [ecx + 4], xmm0
add ecx, 0x18
dec edx
jns 0x41922f
jmp 0x419242
xor eax, eax
mov dword [ebx + 0x9c0], eax
mov dword [esp + 0x14], eax
jmp 0x419260
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x3c]
call fcn.0041a11c
add dword [esp + 0x14], 0x18
cmp dword [esp + 0x3c], edi
jne 0x41924e
push 0x418eaf
push 0x18
push dword [ebx + 0x9c4]
push dword [ebx + 0x9c0]
call dword [sym.imp.MSVCR80.dll_qsort]
add esp, 0x10
mov eax, dword [esp + 0x10]
cmp byte [eax + 1], 0x20
je 0x419292
push eax
call esi
pop ecx
jmp 0x419296
movsx ax, byte [eax]
movzx eax, ax
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.00415c7d
mov ecx, ebx
push eax
call fcn.00418ecf
or byte [eax + 0x15], 0x10
mov eax, dword [esp + 0x10]
push 0x20
call fcn.0041a161
inc eax
cmp eax, 1
pop ecx
mov dword [esp + 0x10], eax
je 0x419684
mov ax, word [esp + 0x14]
mov word [esp + 0x2c], ax
mov eax, dword [esp + 0x10]
cmp byte [eax + 1], 0x20
je 0x4192e4
push eax
call esi
pop ecx
jmp 0x4192e8
movsx ax, byte [eax]
mov word [esp + 0x2e], ax
mov eax, dword [esp + 0x10]
push 0x20
call fcn.0041a161
inc eax
pop ecx
push eax
mov dword [esp + 0x14], eax
call esi
pop ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x30], eax
mov eax, dword [ecx]
push 0xc
call dword [eax + 4]
cmp eax, edi
je 0x419327
mov ecx, dword [esp + 0x2c]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax], edi
mov dword [eax + 8], ecx
jmp 0x419329
xor eax, eax
mov ecx, dword [esp + 0x6c]
cmp ecx, edi
jne 0x419335
mov dword [esp + 0x70], eax
mov dword [eax], ecx
inc dword [ebx + 0x9cc]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x10]
push 0x20
call fcn.0041a161
inc eax
cmp eax, 1
pop ecx
mov dword [esp + 0x10], eax
jne 0x4192d4
jmp 0x419684
push dword [esp + 0x10]
call esi
pop ecx
mov word [ebx + 0xc4], ax
mov eax, dword [esp + 0x10]
push 0x20
push 0x20
call fcn.0041a161
pop ecx
inc eax
call fcn.0041a161
inc eax
pop ecx
push eax
mov dword [esp + 0x14], eax
call esi
pop ecx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x10]
push 0x20
push 0x20
call fcn.0041a161
pop ecx
inc eax
call fcn.0041a161
inc eax
pop ecx
push eax
mov dword [esp + 0x14], eax
call esi
pop ecx
mov word [ebx + 0xc6], ax
mov eax, dword [esp + 0x10]
push 0x20
push 0x20
call fcn.0041a161
pop ecx
inc eax
call fcn.0041a161
inc eax
pop ecx
push eax
mov dword [esp + 0x14], eax
call esi
movzx eax, ax
pop ecx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x10]
push 0x20
push 0x20
call fcn.0041a161
pop ecx
inc eax
call fcn.0041a161
pop ecx
inc eax
push eax
call esi
mov word [ebx + 0xc8], ax
jmp 0x419683
mov eax, dword [esp + 0x10]
cmp byte [eax + 1], 0x20
je 0x41940f
push eax
call esi
pop ecx
jmp 0x419413
movsx ax, byte [eax]
movzx eax, ax
cmp ax, 0x7f
mov dword [esp + 0x14], eax
jae 0x41942d
movzx edi, ax
sub edi, 0x17
imul edi, edi, 0x18
add edi, ebx
jmp 0x41946f
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx]
push 0x1c
call dword [eax + 4]
cmp eax, edi
je 0x419452
movss xmm0, dword [0x55df54]
mov dword [eax], edi
movss dword [eax + 4], xmm0
movss dword [eax + 8], xmm0
jmp 0x419454
xor eax, eax
mov ecx, dword [esp + 0x3c]
cmp ecx, edi
jne 0x419460
mov dword [esp + 0x40], eax
mov dword [eax], ecx
inc dword [ebx + 0x9c4]
mov dword [esp + 0x3c], eax
lea edi, [eax + 4]
mov ax, word [esp + 0x14]
and byte [edi + 0x15], 0xef
mov word [edi + 0x16], ax
mov eax, dword [esp + 0x10]
push 0x20
push 0x20
call fcn.0041a161
pop ecx
inc eax
call fcn.0041a161
inc eax
pop ecx
push eax
mov dword [esp + 0x14], eax
call esi
pop ecx
mov byte [edi + 0x10], al
mov eax, dword [esp + 0x10]
push 0x20
call fcn.0041a161
inc eax
pop ecx
push eax
mov dword [esp + 0x14], eax
call esi
pop ecx
mov byte [edi + 0x11], al
mov eax, dword [esp + 0x10]
push 0x20
call fcn.0041a161
inc eax
pop ecx
push eax
mov dword [esp + 0x14], eax
call esi
movss xmm0, dword [0x584ad8]
subss xmm0, dword [esp + 0x2c]
comiss xmm0, dword [0x57f904]
pop ecx
mov byte [edi + 0x14], al
jbe 0x419527
movzx ecx, byte [edi + 0x11]
add ecx, dword [esp + 0x1c]
mov eax, dword [ebx + 0x9c]
cmp ecx, eax
mov ecx, dword [esp + 0x24]
jbe 0x41951b
add dword [esp + 0x20], ecx
mov edx, dword [esp + 0x20]
and dword [esp + 0x1c], 0
add edx, ecx
cmp edx, eax
jbe 0x41951b
inc dword [esp + 0x18]
and dword [esp + 0x1c], 0
and dword [esp + 0x20], 0
mov al, byte [esp + 0x34]
mov byte [edi + 0x13], al
mov byte [edi + 0x12], cl
jmp 0x4195a0
mov eax, dword [esp + 0x10]
push 0x20
push 0x20
call fcn.0041a161
pop ecx
inc eax
call fcn.0041a161
inc eax
pop ecx
push eax
mov dword [esp + 0x14], eax
call esi
pop ecx
mov byte [edi + 0x12], al
mov eax, dword [esp + 0x10]
push 0x20
push 0x20
call fcn.0041a161
pop ecx
inc eax
call fcn.0041a161
inc eax
pop ecx
push eax
mov dword [esp + 0x14], eax
call esi
pop ecx
mov byte [edi + 0x13], al
mov eax, dword [esp + 0x10]
push 0x20
push 0x20
call fcn.0041a161
pop ecx
inc eax
call fcn.0041a161
inc eax
pop ecx
push eax
mov dword [esp + 0x14], eax
call esi
pop ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
push 0x20
call fcn.0041a161
pop ecx
inc eax
push eax
call esi
pop ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
fld dword [ebx + 0xd4]
test eax, eax
fild dword [esp + 0x20]
jge 0x4195b8
fadd dword [0x57f8c8]
mov eax, dword [esp + 0x1c]
fmul st(1)
test eax, eax
fstp dword [esp + 0x10]
fild dword [esp + 0x1c]
jge 0x4195d0
fadd dword [0x57f8c8]
movzx eax, byte [edi + 0x12]
fmulp st(1)
dec eax
cvtsi2ss xmm0, eax
movzx eax, byte [edi + 0x11]
fstp dword [edi]
fld dword [esp + 0x10]
fstp dword [edi + 4]
movss xmm1, dword [ebx + 0xd4]
dec eax
cmp word [esp + 0x14], 0x251c
cvtsi2ss xmm2, eax
mulss xmm0, xmm1
addss xmm0, dword [esp + 0x10]
mulss xmm2, xmm1
addss xmm2, dword [edi]
movss dword [edi + 8], xmm2
movss dword [edi + 0xc], xmm0
jb 0x419623
mov al, byte [ebx]
dec al
xor al, byte [edi + 0x15]
jmp 0x41962a
mov al, byte [edi + 0x15]
xor al, byte [esp + 0x18]
and al, 0xf
xor byte [edi + 0x15], al
movzx eax, byte [edi + 0x11]
add dword [esp + 0x1c], eax
xor edi, edi
jmp 0x419684
push dword [esp + 0x10]
call esi
pop ecx
cvtsi2ss xmm0, eax
mulss xmm0, dword [0x55b144]
mov eax, dword [esp + 0x10]
push 0x20
push 0x20
movss dword [ebx + 0xcc], xmm0
call fcn.0041a161
pop ecx
inc eax
call fcn.0041a161
pop ecx
inc eax
push eax
call esi
cvtsi2ss xmm0, eax
mulss xmm0, dword [0x55b144]
movss dword [ebx + 0xd0], xmm0
pop ecx
mov eax, dword [esp + 0x38]
add eax, 2
mov dword [esp + 0x14], eax
mov al, byte [eax]
call fcn.00402614
cmp al, 0x45
jne 0x419050
mov esi, dword [ebx + 0x9cc]
cmp esi, edi
je 0x41971d
xor ecx, ecx
push 8
pop edx
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004dd1ff
pop ecx
mov dword [ebx + 0x9c8], eax
mov esi, eax
xor edi, edi
jmp 0x4196f7
cmp dword [esp + 0x70], eax
jne 0x4196d5
mov dword [esp + 0x70], edi
cmp esi, edi
mov ecx, dword [eax]
mov dword [esp + 0x6c], ecx
je 0x4196ea
mov ecx, dword [eax + 4]
mov dword [esi], ecx
mov ecx, dword [eax + 8]
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0x74]
mov edx, dword [ecx]
push eax
call dword [edx + 8]
add esi, 8
mov eax, dword [esp + 0x6c]
cmp eax, edi
jne 0x4196cb
push 0x418ec2
push 8
push dword [ebx + 0x9cc]
push dword [ebx + 0x9c8]
call dword [sym.imp.MSVCR80.dll_qsort]
add esp, 0x10
jmp 0x419723
mov dword [ebx + 0x9c8], edi
mov esi, dword [ebx + 0x9c4]
cmp esi, edi
je 0x4197b4
cmp dword [ebx + 0x9c0], edi
jne 0x4197b4
xor ecx, ecx
push 0x18
pop edx
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004dd1ff
xor edi, edi
cmp eax, edi
pop ecx
je 0x419778
lea edx, [esi - 1]
cmp edx, edi
mov ecx, eax
jl 0x41977a
movss xmm0, dword [0x55df54]
movss dword [ecx], xmm0
movss dword [ecx + 4], xmm0
add ecx, 0x18
dec edx
jns 0x419767
jmp 0x41977a
xor eax, eax
mov dword [ebx + 0x9c0], eax
mov esi, eax
jmp 0x419792
mov ecx, esi
lea eax, [esp + 0x3c]
call fcn.0041a11c
add esi, 0x18
cmp dword [esp + 0x3c], edi
jne 0x419784
push 0x418eaf
push 0x18
push dword [ebx + 0x9c4]
push dword [ebx + 0x9c0]
call dword [sym.imp.MSVCR80.dll_qsort]
add esp, 0x10
push 0x103
lea eax, [esp + 0xa5]
push edi
push eax
mov byte [esp + 0xac], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
cmp dword [ebx], edi
mov dword [esp + 0x18], edi
jbe 0x419884
lea eax, [ebx + 4]
mov dword [esp + 0x14], eax
mov esi, 0x104
cmp dword [ebp + 0x14], 0x218fa6ee
jne 0x419809
mov eax, dword [ebx]
dec eax
cmp dword [esp + 0x18], eax
jne 0x419809
mov eax, dword [0x69f6f4]
mov ecx, dword [esp + 0x14]
mov dword [ecx], eax
jmp 0x41986f
push dword [ebp + 0xc]
mov ecx, esi
lea eax, [esp + 0xa4]
call fcn.0040258f
mov eax, dword [esp + 0x1c]
pop ecx
inc eax
push eax
lea eax, [esp + 0xa4]
push eax
push str._s__d
mov edi, eax
call fcn.0040dc2e
add esp, 0xc
mov edx, edi
call fcn.0040df49
mov ecx, dword [esp + 0x14]
mov dword [ecx], eax
cmp dword [ebx + 0x84], 3
jne 0x41986f
mov eax, edi
push 0x55fdf0
push eax
mov edx, esi
mov ecx, edi
call fcn.004025bb
pop ecx
pop ecx
mov edx, edi
call fcn.0040df49
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x40], eax
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
add dword [esp + 0x14], 4
cmp eax, dword [ebx]
jb 0x4197ea
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x48]
call dword [eax + 0x10]
lea esi, [esp + 0x50]
mov dword [esp + 0x48], 0x55f260
call fcn.0043217d
mov eax, dword [esp + 0x3c]
test eax, eax
mov edi, 0x5596f8
mov dword [esp + 0x48], edi
je 0x4198c3
mov ecx, dword [esp + 0x44]
mov edx, dword [ecx]
mov esi, dword [eax]
push eax
call dword [edx + 8]
test esi, esi
mov eax, esi
jne 0x4198b1
mov eax, dword [esp + 0x78]
and dword [esp + 0x3c], 0
and dword [esp + 0x40], 0
lea ecx, [esp + 0x78]
call dword [eax + 0x10]
lea esi, [esp + 0x80]
mov dword [esp + 0x78], 0x55f260
call fcn.0043217d
mov eax, dword [esp + 0x6c]
test eax, eax
mov dword [esp + 0x78], edi
je 0x41990a
mov ecx, dword [esp + 0x74]
mov edx, dword [ecx]
mov esi, dword [eax]
push eax
call dword [edx + 8]
test esi, esi
mov eax, esi
jne 0x4198f8
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x10