Function at 0x4047f0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push ebx
push esi
push edi
xor eax, eax
push str.MinMaxOf_W
mov word [0x4697e8], ax
call fcn.00407e60
movsd xmm0, qword [ebp - 0x3c]
add esp, 4
mov si, word [0x4697e8]
mov dword [0x4661a0], 0x7f9
mov dword [ebp - 0x1c], 1
movsd qword [ebp - 0x34], xmm0
mov ax, word [0x4ea762]
mov di, word [0x4697e4]
add ax, ax
movzx eax, ax
mov dx, ax
movsx ecx, di
sub dx, si
mov dword [ebp - 0x2c], eax
dec ecx
movsx eax, dx
mov byte [0x465a90], 0
mov byte [0x465a91], 0
mov byte [0x465a92], 0
mov byte [0x465a93], 0
mov word [0x4697ec], dx
cmp eax, ecx
jle 0x404884
lea edx, [edi - 1]
mov word [0x4697ec], dx
mov ebx, 1
movzx esi, si
mov ecx, ebx
mov dword [ebp - 4], esi
cmp cx, word [0x469804]
jg 0x4049e3
nop
movsx edi, bx
movsx eax, word [edi*2 + 0x4fcb28]
push eax
push 0x4584d8
push 0x4ebfd8
call fcn.00401910
push 0x4eabd8
push 0x4ebfd8
push 0x45859c
push 0x4eb3d8
push str._s_s_s_s
push 0x4ec7d8
call fcn.00401910
push 0x4ec7d8
call fcn.00401950
push 0x4584ac
push 0x4ec7d8
call fcn.0042e9cc
movsx ecx, word [0x4697e8]
push 0
shl ecx, 3
push ecx
push eax
mov dword [0x465a94], eax
call fcn.0042f198
push dword [0x465a94]
movsx eax, word [0x4697ec]
push 1
shl eax, 3
push eax
push dword [0x4699a0]
call fcn.0042ec7e
mov eax, dword [0x465a94]
add esp, 0x4c
test eax, eax
je 0x404942
push eax
call fcn.0042e6de
add esp, 4
mov dx, word [0x4697ec]
mov esi, 1
mov ecx, esi
cmp cx, dx
jg 0x40498c
nop word [eax + eax]
mov eax, dword [0x4699a0]
mov ecx, dword [edi*4 + 0x4699a0]
movsx edx, si
inc esi
movsd xmm0, qword [eax + edx*8 - 8]
movsd qword [ecx + edx*8], xmm0
mov dx, word [0x4697ec]
cmp si, dx
jle 0x404960
mov ecx, 1
mov esi, 1
cmp cx, dx
jg 0x4049d2
nop word [eax + eax]
movss xmm0, dword [edi*4 + 0x466cbc]
mov eax, dword [edi*4 + 0x4699a0]
cvtps2pd xmm0, xmm0
movsx ecx, si
inc esi
mulsd xmm0, qword [eax + ecx*8]
movsd qword [eax + ecx*8], xmm0
mov dx, word [0x4697ec]
cmp si, dx
jle 0x4049a0
mov ecx, 1
inc ebx
cmp bx, word [0x469804]
jle 0x4048a0
mov esi, dword [ebp - 4]
mov bx, word [0x469804]
mov eax, 1
cmp cx, bx
jg 0x404af8
nop dword [eax + eax]
movsx ecx, ax
cmp byte [ecx + 0x4662d8], 0x54
je 0x404a14
inc eax
cmp ax, bx
jle 0x404a00
jmp 0x404a5c
mov eax, 1
cmp ax, dx
jg 0x404a55
mov ecx, dword [ecx*4 + 0x4699a0]
movsx eax, si
add ecx, 8
shl eax, 3
movzx esi, dx
movsd xmm0, qword [ecx]
lea ecx, [ecx + 8]
movsd qword [eax + 0x4f4b70], xmm0
lea eax, [eax + 8]
movsd xmm0, qword [ecx - 8]
movsd qword [eax + 0x4f8b30], xmm0
sub esi, 1
jne 0x404a31
mov byte [0x465a90], 1
mov ecx, 1
cmp cx, bx
jg 0x404af8
movzx eax, word [0x469804]
mov edi, 0x4662d9
mov ebx, 0x4699a4
mov dword [ebp - 8], eax
nop
cmp byte [edi], 0x54
jne 0x404ae5
cmp cx, dx
jg 0x404ae5
mov eax, dword [ebp - 4]
mov ecx, dword [ebx]
cwde
add ecx, 8
shl eax, 3
movzx esi, dx
nop dword [eax]
movsd xmm1, qword [ecx]
comisd xmm1, xmmword [eax + 0x4f8b38]
movsd qword [0x469678], xmm1
jbe 0x404abe
movsd qword [eax + 0x4f8b38], xmm1
movsd xmm0, qword [eax + 0x4f4b70]
comisd xmm0, xmm1
jbe 0x404ad4
movsd qword [eax + 0x4f4b70], xmm1
add ecx, 8
add eax, 8
sub esi, 1
jne 0x404aa0
mov eax, dword [ebp - 8]
lea ecx, [esi + 1]
inc edi
add ebx, 4
sub eax, 1
mov dword [ebp - 8], eax
jne 0x404a80
mov bx, word [0x469804]
cmp byte [0x465a90], 0
je 0x404c09
mov eax, 1
mov dword [ebp - 8], eax
cmp cx, bx
jg 0x404c09
nop word [eax + eax]
movsx edi, ax
cmp byte [edi + 0x4662d8], 0x54
jne 0x404bfc
cmp byte [0x465a93], 0
jne 0x404b97
mov esi, 1
cmp cx, dx
jg 0x404b87
mov eax, dword [ebp - 4]
movsx ebx, ax
nop dword [eax]
mov ecx, dword [edi*4 + 0x4699a0]
movsx edx, si
inc esi
lea eax, [ebx + edx]
movsd xmm0, qword [eax*8 + 0x4f8b30]
movsd qword [ecx + edx*8], xmm0
mov dx, word [0x4697ec]
cmp si, dx
jle 0x404b50
mov eax, dword [ebp - 8]
mov ecx, 1
mov bx, word [0x469804]
mov byte [0x465a93], 1
mov byte [edi + 0x4662d8], 0x58
jmp 0x404bf5
cmp byte [0x465a92], 0
jne 0x404bfc
mov esi, 1
cmp cx, dx
jg 0x404be7
mov eax, dword [ebp - 4]
movsx ebx, ax
mov ecx, dword [edi*4 + 0x4699a0]
movsx edx, si
inc esi
lea eax, [ebx + edx]
movsd xmm0, qword [eax*8 + 0x4f4b68]
movsd qword [ecx + edx*8], xmm0
mov dx, word [0x4697ec]
cmp si, dx
jle 0x404bb0
mov eax, dword [ebp - 8]
mov ecx, 1
mov bx, word [0x469804]
mov byte [0x465a92], 1
mov byte [edi + 0x4662d8], 0x4d
mov byte [edi + 0x467680], 1
inc eax
mov dword [ebp - 8], eax
cmp ax, bx
jle 0x404b20
cmp cx, dx
jg 0x404c38
mov eax, dword [ebp - 4]
cwde
movzx edx, dx
shl edx, 3
mov ecx, edx
shr ecx, 2
lea edi, [eax*8 + 0x4f8b38]
lea esi, [eax*8 + 0x4f4b70]
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 esi, edi
mov dword [ebp - 8], edi
cmp si, dx
jg 0x404df9
nop dword [eax]
movsx edx, di
movzx eax, word [edx*2 + 0x4669d4]
cmp ax, 1
je 0x404c7b
cmp ax, 0xc
jne 0x404d50
mov ax, word [0x4697ec]
mov ecx, 1
mov byte [0x465a91], 1
cmp si, ax
jg 0x404d56
mov edi, dword [ebp - 4]
nop dword [eax]
cmp byte [edx + 0x466656], 0x57
movss xmm0, dword [edx*4 + 0x466eb0]
mov eax, dword [edx*4 + 0x4699a0]
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 0x404d19
cvtps2pd xmm0, xmm1
movsx eax, di
add eax, esi
addsd xmm0, qword [eax*8 + 0x4f4b68]
movsd qword [eax*8 + 0x4f4b68], xmm0
cvtps2pd xmm0, xmm2
addsd xmm0, qword [eax*8 + 0x4f8b30]
movsd qword [eax*8 + 0x4f8b30], xmm0
jmp 0x404d36
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 ax, word [0x4697ec]
inc ecx
cmp cx, ax
jle 0x404ca0
mov edi, dword [ebp - 8]
mov esi, 1
jmp 0x404d56
mov ax, word [0x4697ec]
mov dx, word [0x469804]
inc edi
mov dword [ebp - 8], edi
cmp di, dx
jle 0x404c60
cmp ebx, 1
jne 0x404df9
cmp si, ax
jg 0x404df9
mov eax, dword [ebp - 4]
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 - 0x28]
movsd xmm0, qword [ebp - 0x28]
push esi
addsd xmm0, qword [edi*8 + 0x4f4b68]
push eax
push 1
push 1
movsd qword [edi*8 + 0x4f4b68], xmm0
call fcn.00401180
mov ax, word [0x4697ec]
inc ebx
mov dx, word [0x469804]
add esp, 0x20
fstp qword [ebp - 0x28]
movsd xmm0, qword [ebp - 0x28]
addsd xmm0, qword [edi*8 + 0x4f8b30]
movsd qword [edi*8 + 0x4f8b30], xmm0
cmp bx, ax
jg 0x404dff
mov edi, dword [ebp - 0x18]
jmp 0x404d85
mov ax, word [0x4697ec]
mov edi, 1
cmp di, ax
jg 0x405029
mov eax, dword [ebp - 4]
mov ebx, edi
movsd xmm2, qword [ebp - 0x3c]
movsd xmm3, qword [ebp - 0x34]
mov si, word [0x4661ac]
movsx ecx, ax
movzx eax, word [0x4697ec]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 8], ebx
lea edi, [ecx*8]
mov dword [ebp - 4], eax
mov dword [ebp - 0x18], edi
cmp word [ebp - 0x1c], si
jg 0x404f81
lea eax, [ebx + ecx]
mov edi, 0x466bca
movsd xmm4, qword [eax*8 + 0x4f4b68]
xor ecx, ecx
movsd xmm5, qword [eax*8 + 0x4f8b30]
movzx eax, si
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], eax
movzx eax, word [edi]
movaps xmm2, xmm4
movsd qword [ebp - 0x3c], xmm2
movaps xmm3, xmm5
movsd qword [ebp - 0x34], xmm3
mov esi, eax
mov dword [ebp - 0x20], esi
cmp ax, 1
je 0x404f5e
cmp ax, 0xc
je 0x404f5e
mov eax, 1
cmp ax, dx
jg 0x404f4e
mov eax, 0x4662d9
movzx edi, dx
mov esi, 0x4669d6
xor ecx, ecx
nop dword [eax + eax]
cmp byte [eax + 0x13a8], 1
jne 0x404f2b
movss xmm1, dword [ecx + 0x466eb4]
mov ebx, dword [ebp - 0x20]
cmp word [esi], bx
mov edx, dword [ecx + 0x4699a4]
mov ebx, dword [ebp - 8]
cvtps2pd xmm1, xmm1
mulsd xmm1, qword [edx + ebx*8]
je 0x404ef9
movss xmm0, dword [ecx + 0x4671d4]
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm0
mov dl, byte [eax]
movsd qword [0x469678], xmm1
cmp dl, 0x4d
je 0x404f20
movaps xmm0, xmm1
addsd xmm0, xmm3
maxsd xmm0, xmm3
movaps xmm3, xmm0
movsd qword [ebp - 0x3c], xmm3
cmp dl, 0x58
je 0x404f2b
addsd xmm1, xmm2
minsd xmm1, xmm2
movaps xmm2, xmm1
add esi, 2
add ecx, 4
inc eax
sub edi, 1
jne 0x404ec0
mov ecx, dword [ebp - 0x10]
mov dx, word [0x469804]
mov edi, dword [ebp - 0xc]
movsd qword [ebp - 0x34], xmm3
movsd qword [ebp - 0x3c], xmm2
movsd qword [ecx + 0x469698], xmm2
movsd qword [ecx + 0x469740], xmm3
add edi, 2
add ecx, 8
sub dword [ebp - 0x14], 1
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], ecx
jne 0x404e72
mov edi, dword [ebp - 0x18]
mov si, word [0x4661ac]
mov eax, dword [ebp - 4]
mov ecx, 1
xor bl, bl
cmp cx, si
jg 0x404feb
mov edx, 0x466bca
movzx esi, si
xor eax, eax
movzx ecx, word [edx]
cmp cx, 1
je 0x404fcc
cmp cx, 0xc
je 0x404fcc
movsd xmm0, qword [eax + 0x469698]
movsd xmm1, qword [eax + 0x469740]
test bl, bl
jne 0x404fbe
mov bl, 1
jmp 0x404fc6
minsd xmm0, xmm2
maxsd xmm1, xmm3
movaps xmm3, xmm1
movaps xmm2, xmm0
add edx, 2
add eax, 8
sub esi, 1
jne 0x404f97
mov si, word [0x4661ac]
mov eax, dword [ebp - 4]
movsd qword [ebp - 0x34], xmm3
movsd qword [ebp - 0x3c], xmm2
mov ebx, dword [ebp - 8]
mov dx, word [0x469804]
inc ebx
mov ecx, dword [ebp - 0x24]
movsd qword [edi + 0x4f8b38], xmm3
movsd qword [edi + 0x4f4b70], xmm2
add edi, 8
sub eax, 1
mov dword [ebp - 8], ebx
mov dword [ebp - 0x18], edi
mov dword [ebp - 4], eax
jne 0x404e40
mov ax, word [0x4697ec]
mov edi, 1
mov si, word [0x4697e8]
mov ebx, dword [ebp - 0x2c]
add si, ax
mov word [0x4697e8], si
cmp bx, si
jle 0x40505e
push 0x1a54
push 0x467c00
push 0x4661a8
call fcn.00409700
add esp, 0xc
jmp 0x404830
push 0x4eabd8
push str.HVQMIXN
push 0x4eb3d8
push str._s_s_s
push 0x4ec7d8
call fcn.00401910
push 0x458500
push 0x4ec7d8
call fcn.0042e9cc
add esp, 0x1c
mov dword [0x465a94], eax
cmp di, bx
jg 0x4050ea
mov esi, 0x4f4b70
movzx edi, bx
push eax
push 1
push 8
push esi
call fcn.0042f561
add esp, 0x10
add esi, 8
sub edi, 1
je 0x4050bd
mov eax, dword [0x465a94]
jmp 0x4050a0
mov esi, 0x4f8b38
movzx edi, bx
push dword [0x465a94]
push 1
push 8
push esi
call fcn.0042f561
add esp, 0x10
add esi, 8
sub edi, 1
jne 0x4050c5
mov eax, dword [0x465a94]
mov edi, 1
test eax, eax
je 0x4050f7
push eax
call fcn.0042e6de
add esp, 4
push 0x4eabd8
push str.KOMBI_HVQMIMX
push 0x4eb3d8
push str._s_s_0_1__s
push 0x4ec7d8
call fcn.00401910
push 0x458500
push 0x4ec7d8
call fcn.0042e9cc
add esp, 0x1c
mov dword [0x465a94], eax
cmp di, bx
jg 0x405160
mov esi, 0x4f4b70
movzx edi, bx
nop dword [eax]
push eax
push 1
push 8
push esi
call fcn.0042f561
mov eax, dword [0x465a94]
add esp, 0x10
add esi, 8
sub edi, 1
jne 0x405140
mov edi, 1
test eax, eax
je 0x40516d
push eax
call fcn.0042e6de
add esp, 4
push 0x4eabd8
push str.KOMBI_HVQMIMX
push 0x4eb3d8
push str._s_s_0_2__s
push 0x4ec7d8
call fcn.00401910
push 0x458500
push 0x4ec7d8
call fcn.0042e9cc
add esp, 0x1c
mov dword [0x465a94], eax
cmp di, bx
jg 0x4051cb
mov esi, 0x4f8b38
movzx edi, bx
nop
push eax
push 1
push 8
push esi
call fcn.0042f561
mov eax, dword [0x465a94]
add esp, 0x10
add esi, 8
sub edi, 1
jne 0x4051b0
pop edi
pop esi
pop ebx
test eax, eax
je 0x4051db
push eax
call fcn.0042e6de
add esp, 4
mov esp, ebp
pop ebp
ret