Function at 0x406f90
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push ebx
push esi
push edi
push str.MinMaxOf_U
call fcn.00407e60
mov ebx, dword [0x4ea740]
xor eax, eax
add esp, 4
mov word [0x4697e8], ax
xor ecx, ecx
xor esi, esi
movzx edx, cx
sub ebx, eax
mov dword [ebp - 8], edx
mov dx, word [0x4697e4]
movsx ecx, dx
dec ecx
movsx eax, bx
mov byte [0x465a91], 0
mov byte [0x465a92], 0
mov byte [0x465a93], 0
mov word [0x4697ec], bx
cmp eax, ecx
jle 0x406ffe
lea ebx, [edx - 1]
movzx eax, si
mov word [0x4697ec], bx
mov dword [ebp - 8], eax
mov dx, word [0x469804]
mov edi, 1
mov ecx, edi
cmp cx, dx
jg 0x40712c
nop word [eax + eax]
movsx esi, di
movsx eax, word [esi*2 + 0x4fcb28]
push eax
push 0x4584d8
push 0x4ebfd8
call fcn.00401910
push 0x4eabd8
push 0x4ebfd8
push 0x4584dc
push 0x4eb3d8
push str._s_s_s_s
push 0x4ec7d8
call fcn.00401910
push 0x4584ac
push 0x4ec7d8
call fcn.0042e9cc
add esp, 0x2c
mov dword [0x465a94], eax
test eax, eax
je 0x40710f
movsx ecx, word [0x4697e8]
push 0
shl ecx, 3
push ecx
push eax
call fcn.0042f198
push dword [0x465a94]
movsx eax, word [0x4697ec]
push 1
lea eax, [eax*8 + 8]
push eax
push dword [esi*4 + 0x469810]
call fcn.0042ec7e
push dword [0x465a94]
call fcn.0042e6de
mov bx, word [0x4697ec]
mov edx, 1
mov ecx, edx
add esp, 0x20
cmp cx, bx
jg 0x40711b
nop dword [eax]
nop dword [eax + eax]
movss xmm0, dword [esi*4 + 0x466cbc]
mov eax, dword [esi*4 + 0x469810]
cvtps2pd xmm0, xmm0
movsx ecx, dx
inc edx
mulsd xmm0, qword [eax + ecx*8]
movsd qword [eax + ecx*8], xmm0
mov bx, word [0x4697ec]
cmp dx, bx
jle 0x4070e0
jmp 0x407116
mov bx, word [0x4697ec]
mov ecx, 1
mov dx, word [0x469804]
inc edi
cmp di, dx
jle 0x407020
mov eax, 1
cmp cx, dx
jg 0x407240
nop word [eax + eax]
movsx ecx, ax
cmp byte [ecx + 0x4662d8], 0x54
je 0x407159
inc eax
cmp ax, dx
jle 0x407140
mov ecx, 1
jmp 0x4071b4
mov eax, 1
cmp ax, bx
jg 0x4071b2
mov eax, dword [ebp - 8]
mov ecx, dword [ecx*4 + 0x469810]
cwde
add ecx, 8
shl eax, 3
movzx edx, bx
nop word [eax + eax]
movsd xmm0, qword [ecx]
lea ecx, [ecx + 8]
movsd qword [eax + 0x4ecbe0], xmm0
lea eax, [eax + 8]
movsd xmm0, qword [ecx - 8]
movsd qword [eax + 0x4f0ba0], xmm0
sub edx, 1
jne 0x407180
mov dx, word [0x469804]
mov ecx, 1
jmp 0x4071b4
mov ecx, eax
cmp cx, dx
jg 0x407240
movzx eax, dx
mov esi, 0x4662d9
mov edi, 0x469814
mov dword [ebp - 0xc], eax
nop dword [eax]
cmp byte [esi], 0x54
jne 0x40722d
cmp cx, bx
jg 0x40722d
mov eax, dword [ebp - 8]
mov ecx, dword [edi]
cwde
add ecx, 8
shl eax, 3
movzx edx, bx
nop dword [eax]
movsd xmm1, qword [ecx]
comisd xmm1, xmmword [eax + 0x4f0ba8]
jbe 0x407206
movsd qword [eax + 0x4f0ba8], xmm1
movsd xmm0, qword [eax + 0x4ecbe0]
comisd xmm0, xmm1
jbe 0x40721c
movsd qword [eax + 0x4ecbe0], xmm1
add ecx, 8
add eax, 8
sub edx, 1
jne 0x4071f0
mov eax, dword [ebp - 0xc]
lea ecx, [edx + 1]
inc esi
add edi, 4
sub eax, 1
mov dword [ebp - 0xc], eax
jne 0x4071d0
mov dx, word [0x469804]
mov eax, 1
mov dword [ebp - 4], eax
cmp cx, dx
jg 0x40734e
nop dword [eax]
nop word [eax + eax]
movsx edi, ax
cmp byte [edi + 0x4662d8], 0x54
jne 0x407341
cmp byte [0x465a93], 0
jne 0x4072d9
mov esi, 1
cmp cx, bx
jg 0x4072c9
mov eax, dword [ebp - 8]
cwde
mov dword [ebp - 0x18], eax
nop word [eax + eax]
mov ecx, dword [edi*4 + 0x469810]
movsx edx, si
inc esi
add eax, edx
movsd xmm0, qword [eax*8 + 0x4f0ba0]
mov eax, dword [ebp - 0x18]
movsd qword [ecx + edx*8], xmm0
mov bx, word [0x4697ec]
cmp si, bx
jle 0x407290
mov eax, dword [ebp - 4]
mov ecx, 1
mov dx, word [0x469804]
mov byte [0x465a93], 1
mov byte [edi + 0x4662d8], 0x58
jmp 0x40733a
cmp byte [0x465a92], 0
jne 0x407341
mov esi, 1
cmp cx, bx
jg 0x40732c
mov eax, dword [ebp - 8]
cwde
mov dword [ebp - 0x18], eax
mov ecx, dword [edi*4 + 0x469810]
movsx edx, si
inc esi
add eax, edx
movsd xmm0, qword [eax*8 + 0x4ecbd8]
mov eax, dword [ebp - 0x18]
movsd qword [ecx + edx*8], xmm0
mov bx, word [0x4697ec]
cmp si, bx
jle 0x4072f3
mov eax, dword [ebp - 4]
mov ecx, 1
mov dx, word [0x469804]
mov byte [0x465a92], 1
mov byte [edi + 0x4662d8], 0x4d
mov byte [edi + 0x467680], 1
inc eax
mov dword [ebp - 4], eax
cmp ax, dx
jle 0x407260
movsx eax, dx
push eax
call fcn.00401b30
mov eax, 1
add esp, 4
cmp ax, bx
jg 0x40738e
mov eax, dword [ebp - 8]
cwde
movzx edx, bx
shl edx, 3
mov ecx, edx
shr ecx, 2
lea edi, [eax*8 + 0x4f0ba8]
lea esi, [eax*8 + 0x4ecbe0]
xor eax, eax
rep stosd dword es:[edi], eax
shr edx, 2
mov edi, esi
mov ecx, edx
rep stosd dword es:[edi], eax
xor ebx, ebx
call fcn.00401000
mov dx, word [0x469804]
mov edi, 1
mov eax, edi
mov dword [ebp - 0xc], edi
cmp ax, dx
jg 0x407563
mov si, word [0x4697ec]
mov word [ebp - 2], si
nop word [eax + eax]
movsx edx, di
movzx eax, word [edx*2 + 0x4669d4]
cmp ax, 1
je 0x4073db
cmp ax, 0xc
jne 0x4074b2
mov ecx, 1
mov byte [0x465a91], 1
mov eax, ecx
cmp ax, si
jg 0x4074b2
mov edi, dword [ebp - 8]
nop word [eax + eax]
cmp byte [edx + 0x466656], 0x57
movss xmm0, dword [edx*4 + 0x466eb0]
mov eax, dword [edx*4 + 0x469810]
cvtps2pd xmm0, xmm0
movsx esi, cx
mulsd xmm0, qword [eax + esi*8]
cvtpd2ps xmm2, xmm0
movss xmm0, dword [edx*4 + 0x467040]
cvtps2pd xmm0, xmm0
movaps xmm1, xmm2
mulsd xmm0, qword [eax + esi*8]
cvtpd2ps xmm0, xmm0
minss xmm1, xmm0
maxss xmm2, xmm0
je 0x40747d
cvtps2pd xmm0, xmm1
movsx eax, di
add eax, esi
mov si, word [ebp - 2]
addsd xmm0, qword [eax*8 + 0x4ecbd8]
movsd qword [eax*8 + 0x4ecbd8], xmm0
cvtps2pd xmm0, xmm2
addsd xmm0, qword [eax*8 + 0x4f0ba0]
movsd qword [eax*8 + 0x4f0ba0], xmm0
jmp 0x4074a5
mov eax, dword [edx*4 + 0x465ac4]
mov ebx, 1
movss dword [eax + esi*4], xmm1
mov eax, dword [edx*4 + 0x465c24]
movss dword [eax + esi*4], xmm2
mov si, word [0x4697ec]
mov word [ebp - 2], si
inc ecx
cmp cx, si
jle 0x407400
mov edi, dword [ebp - 0xc]
mov dx, word [0x469804]
inc edi
mov dword [ebp - 0xc], edi
cmp di, dx
jle 0x4073c0
cmp ebx, 1
jne 0x407570
mov edi, ebx
cmp di, si
jg 0x407575
mov eax, dword [ebp - 8]
movsx edi, ax
mov dword [ebp - 0x18], edi
movsx esi, bx
push esi
movsx eax, dx
push eax
push 1
push 1
call fcn.00401260
movsx eax, word [0x469804]
add edi, esi
fstp qword [ebp - 0x20]
movsd xmm0, qword [ebp - 0x20]
push esi
addsd xmm0, qword [edi*8 + 0x4ecbd8]
push eax
push 1
push 1
movsd qword [edi*8 + 0x4ecbd8], xmm0
call fcn.00401180
mov cx, word [0x4697ec]
inc ebx
mov dx, word [0x469804]
add esp, 0x20
mov word [ebp - 2], cx
fstp qword [ebp - 0x20]
movsd xmm0, qword [ebp - 0x20]
addsd xmm0, qword [edi*8 + 0x4f0ba0]
movsd qword [edi*8 + 0x4f0ba0], xmm0
cmp bx, cx
jg 0x40755c
mov edi, dword [ebp - 0x18]
jmp 0x4074e3
mov edi, 1
jmp 0x407579
mov cx, word [0x4697ec]
mov word [ebp - 2], cx
jmp 0x407579
mov edi, 1
mov cx, word [ebp - 2]
cmp di, cx
jg 0x40775b
mov eax, dword [ebp - 8]
mov ebx, 8
mov si, word [0x4661ac]
cwde
shl eax, 3
movzx ecx, cx
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], ecx
nop
cmp di, si
jg 0x4076ba
movsd xmm4, qword [eax + 0x4ecbe0]
mov edi, 0x466bca
movsd xmm5, qword [eax + 0x4f0ba8]
xor ecx, ecx
movzx eax, si
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], eax
nop dword [eax]
movzx eax, word [edi]
movaps xmm2, xmm4
mov esi, eax
movaps xmm3, xmm5
mov dword [ebp - 0x1c], esi
cmp ax, 1
je 0x407697
cmp ax, 0xc
je 0x407697
mov eax, 1
cmp ax, dx
jg 0x407687
mov ecx, 0x4662d9
movzx edi, dx
mov esi, 0x4669d6
xor eax, eax
nop
cmp byte [ecx + 0x13a8], 1
jne 0x40766e
movss xmm1, dword [eax + 0x466eb4]
mov edx, dword [ebp - 0x1c]
cmp word [esi], dx
mov edx, dword [eax + 0x469814]
cvtps2pd xmm1, xmm1
mulsd xmm1, qword [ebx + edx]
je 0x407646
movss xmm0, dword [eax + 0x4671d4]
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm0
mov dl, byte [ecx]
cmp dl, 0x4d
je 0x407660
movaps xmm0, xmm3
addsd xmm0, xmm1
maxsd xmm0, xmm3
movaps xmm3, xmm0
cmp dl, 0x58
je 0x40766e
movaps xmm0, xmm2
addsd xmm0, xmm1
minsd xmm0, xmm2
movaps xmm2, xmm0
add esi, 2
add eax, 4
inc ecx
sub edi, 1
jne 0x407610
mov dx, word [0x469804]
mov ecx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x10]
movsd qword [ecx + 0x469698], xmm2
movsd qword [ecx + 0x469740], xmm3
add edi, 2
add ecx, 8
sub dword [ebp - 0x18], 1
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], ecx
jne 0x4075d0
mov eax, dword [ebp - 8]
mov si, word [0x4661ac]
mov ecx, dword [ebp - 0xc]
mov edx, 1
xor edi, edi
xorps xmm2, xmm2
xorps xmm3, xmm3
cmp dx, si
jg 0x407726
mov edx, 0x466bca
movzx esi, si
xor eax, eax
movzx ecx, word [edx]
cmp cx, 1
je 0x40770e
cmp cx, 0xc
je 0x40770e
movsd xmm0, qword [eax + 0x469698]
movsd xmm1, qword [eax + 0x469740]
test edi, edi
jne 0x407700
mov edi, 1
jmp 0x407708
minsd xmm0, xmm3
maxsd xmm1, xmm2
movaps xmm2, xmm1
movaps xmm3, xmm0
add edx, 2
add eax, 8
sub esi, 1
jne 0x4076d6
mov eax, dword [ebp - 8]
mov si, word [0x4661ac]
mov ecx, dword [ebp - 0xc]
mov dx, word [0x469804]
add ebx, 8
movsd qword [eax + 0x4f0ba8], xmm2
mov edi, 1
movsd qword [eax + 0x4ecbe0], xmm3
add eax, 8
sub ecx, 1
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], ecx
jne 0x4075a0
mov cx, word [ebp - 2]
add cx, word [0x4697e8]
mov ebx, dword [0x4ea740]
movzx esi, cx
mov word [0x4697e8], cx
cmp bx, si
jle 0x407797
push 0x1a54
push 0x467c00
push 0x4661a8
call fcn.00409700
add esp, 0xc
mov eax, esi
mov ecx, esi
jmp 0x406fb8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret