Function at 0x40866a
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
push ebx
push esi
push 0x47e360
push str.DNODES2
push 0x47dc60
push str._s_s_s
mov ebx, 0x47da60
push ebx
call fcn.00401381
push 0x4694e0
push ebx
call fcn.0043ed2e
mov esi, eax
add esp, 0x1c
test esi, esi
je 0x4089bc
push edi
push esi
xor edi, edi
lea eax, [ebp - 4]
inc edi
push edi
push 4
push eax
call fcn.0043efcb
add esp, 0x10
mov ebx, edi
cmp dword [ebp - 4], edi
jl 0x4086e6
mov edi, 0x5dfc34
push esi
push 1
push 0x94
push edi
call fcn.0043efcb
add esp, 0x10
add edi, 0x94
inc ebx
cmp ebx, dword [ebp - 4]
jle 0x4086c9
push esi
call fcn.0043e7de
xor ebx, ebx
inc ebx
pop ecx
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 4], ebx
jl 0x40894d
mov edi, 0x5dfc9c
mov dword [ebp - 0x14], edi
movss xmm0, dword [edi - 0x18]
xor eax, eax
and dword [edi], eax
xor ecx, ecx
and dword [edi + 4], eax
inc ecx
movss dword [ebp - 0x1c], xmm0
xor ebx, ebx
movss xmm0, dword [edi - 0x14]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [0x46b3d0]
mov dword [ebp - 8], eax
movss dword [ebp - 0xc], xmm0
cmp cx, word [0x550a9c]
jg 0x40888e
mov edi, ecx
movsx esi, word [edi*2 + 0x550ac0]
push esi
push 0x469dec
push 0x4ed34a
call fcn.00401381
imul eax, esi, 0x48
add esp, 0xc
movzx eax, word [eax + 0x4c74a2]
mov word [0x4ed24c], ax
test ax, ax
jle 0x408878
push 0x47e360
push 0x4ed34a
push 0x469b3c
push 0x47dc60
push str._s_s_s_s
mov esi, 0x47da60
push esi
call fcn.00401381
push esi
call fcn.00402994
push 0x4694e0
push esi
call fcn.0043ed2e
xor ecx, ecx
mov dword [0x5ff134], eax
inc ecx
add esp, 0x24
mov esi, ecx
cmp cx, word [0x4ed24c]
jg 0x408871
movss xmm1, dword [ebp - 0xc]
push eax
push ecx
push 0x3c
push 0x4bb8dc
movss dword [ebp - 0x24], xmm1
movss dword [ebp - 0x28], xmm1
call fcn.0043efcb
movss xmm0, dword [ebp - 0x20]
add esp, 8
movss xmm1, dword [ebp - 0x1c]
subss xmm0, dword [0x4bb8e0]
subss xmm1, dword [0x4bb8dc]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.0043f630
movss xmm1, dword [ebp - 0xc]
fstp dword [ebp - 0x18]
movss xmm0, dword [ebp - 0x18]
comiss xmm1, xmm0
pop ecx
pop ecx
jbe 0x408835
movaps xmm1, xmm0
movss dword [ebp - 0xc], xmm1
movss xmm2, dword [ebp - 0x24]
mov ecx, edi
comiss xmm2, xmm0
mov eax, esi
movss xmm2, dword [ebp - 0x28]
cmovbe ecx, dword [ebp - 8]
comiss xmm2, xmm0
mov dword [ebp - 8], ecx
cmovbe eax, ebx
inc esi
mov ebx, eax
movsx eax, word [0x4ed24c]
cmp esi, eax
mov eax, dword [0x5ff134]
jg 0x40886e
xor ecx, ecx
inc ecx
jmp 0x4087cb
mov dword [ebp - 8], ecx
push eax
call fcn.0043e7de
pop ecx
movsx eax, word [0x550a9c]
inc edi
cmp edi, eax
jle 0x408743
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
push 0x47e360
push eax
push str.SP_AS
push 0x47dc60
push str._s_s_i_s
mov esi, 0x47da60
push esi
call fcn.00401381
push 0x4694e0
push esi
call fcn.0043ed2e
mov esi, eax
add esp, 0x20
test esi, esi
je 0x408931
shl ebx, 4
push 0
sub ebx, 0x10
push ebx
push esi
call fcn.0043ff30
push esi
xor ebx, ebx
lea eax, [ebp - 0x30]
inc ebx
push ebx
push 4
push eax
call fcn.0043efcb
push esi
push ebx
lea eax, [ebp - 0x2c]
push 4
push eax
call fcn.0043efcb
push esi
push ebx
lea eax, [ebp - 0x38]
push 4
push eax
call fcn.0043efcb
push esi
push ebx
lea eax, [ebp - 0x34]
push 4
push eax
call fcn.0043efcb
add esp, 0x4c
push esi
call fcn.0043e7de
movss xmm0, dword [ebp - 0x2c]
maxss xmm0, dword [ebp - 0x30]
pop ecx
movss dword [edi], xmm0
movss xmm0, dword [ebp - 0x34]
maxss xmm0, dword [ebp - 0x38]
movss dword [edi + 4], xmm0
jmp 0x408934
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0x10]
add edi, 0x94
inc eax
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 4]
jle 0x408704
push 0x47e360
push str.DNODES2
push 0x47dc60
push str._s_s_s
mov esi, 0x47da60
push esi
call fcn.00401381
push 0x4694e4
push esi
call fcn.0043ed2e
mov edi, eax
lea eax, [ebp - 4]
push edi
push ebx
push 4
push eax
call fcn.0043f495
add esp, 0x2c
mov esi, ebx
cmp dword [ebp - 4], ebx
jl 0x4089b4
mov ebx, 0x5dfc34
xor eax, eax
push edi
inc eax
push eax
push 0x94
push ebx
call fcn.0043f495
add esp, 0x10
add ebx, 0x94
inc esi
cmp esi, dword [ebp - 4]
jle 0x408995
push edi
call fcn.0043e7de
pop ecx
pop edi
pop esi
pop ebx
leave
ret