Function at 0x4052e0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
push str.MinMaxOf_Sum
call fcn.004022d0
add esp, 4
mov eax, 1
mov word [ebp - 4], ax
jmp 0x40530a
mov cx, word [ebp - 4]
add cx, 1
mov word [ebp - 4], cx
movsx edx, word [ebp - 4]
movsx eax, word [0x47f638]
cmp edx, eax
jg 0x405426
movsx ecx, word [ebp - 4]
movsx edx, word [ecx*2 + 0x47abec]
cmp edx, dword [0x47a158]
jne 0x405421
movsx eax, word [ebp - 4]
movsx ecx, word [eax*2 + 0x47a2f0]
push ecx
push 0x43c6ec
push 0x4ccdd8
call fcn.00401f00
add esp, 0xc
push 0x4ccaf0
push 0x4ccdd8
push 0x43c6f0
push 0x4ccce0
push 0x43c6f4
push 0x4cc900
call fcn.00401f00
add esp, 0x18
push 0x4cc900
call fcn.00402370
add esp, 4
push 0x43c700
push 0x4cc900
call fcn.0042b546
add esp, 8
mov dword [0x46ac90], eax
mov edx, dword [0x46ac90]
push edx
push 1
push 0x10
push 0x4cc5e8
call fcn.0042b7c5
add esp, 0x10
mov eax, 4
shl eax, 0
cvtss2sd xmm0, dword [eax + 0x4cc5e8]
movsx ecx, word [ebp - 4]
movsd qword [ecx*8 + 0x47ffc8], xmm0
movsx edx, word [ebp - 4]
movzx eax, byte [edx + 0x448280]
test eax, eax
jne 0x405409
movsx ecx, word [ebp - 4]
movsx edx, word [ebp - 4]
cvtss2sd xmm0, dword [edx*4 + 0x47aed4]
mulsd xmm0, qword [ecx*8 + 0x47ffc8]
movsx eax, word [ebp - 4]
movsd qword [eax*8 + 0x47ffc8], xmm0
cmp dword [0x46ac90], 0
je 0x405421
mov ecx, dword [0x46ac90]
push ecx
call fcn.0042b45f
add esp, 4
jmp 0x4052fe
mov edx, 1
mov word [ebp - 4], dx
jmp 0x40543d
mov ax, word [ebp - 4]
add ax, 1
mov word [ebp - 4], ax
movsx ecx, word [ebp - 4]
movsx edx, word [0x47f628]
cmp ecx, edx
jg 0x405554
xor eax, eax
mov word [ebp - 0x10], ax
mov ecx, 1
mov word [ebp - 0xc], cx
jmp 0x40546d
mov dx, word [ebp - 0xc]
add dx, 1
mov word [ebp - 0xc], dx
movsx eax, word [ebp - 0xc]
movsx ecx, word [0x47f638]
cmp eax, ecx
jg 0x40554f
movsx edx, word [ebp - 0xc]
movsx eax, word [edx*2 + 0x47abec]
cmp eax, dword [0x47a158]
jne 0x40554a
movsx ecx, word [ebp - 0xc]
movsx edx, byte [ecx + 0x47a4f0]
cmp edx, 0x47
jne 0x40554a
movsx eax, word [ebp - 0xc]
movsx ecx, word [eax*2 + 0x47a998]
movsx edx, word [ebp - 4]
cmp ecx, edx
jne 0x40554a
movsx eax, word [ebp - 0x10]
test eax, eax
jne 0x40550c
movsx ecx, word [ebp - 0xc]
movsx edx, byte [ecx + 0x47a3c6]
cmp edx, 0x41
jne 0x4054f4
movsx eax, word [ebp - 0xc]
mov byte [eax + 0x47a4f0], 0x41
movsx ecx, word [ebp - 0xc]
mov byte [ecx + 0x47a86e], 0x54
jmp 0x4054ff
movsx edx, word [ebp - 0xc]
mov byte [edx + 0x47a4f0], 0x51
movsx eax, word [ebp - 0x10]
mov byte [eax + 0x47b898], 1
jmp 0x405517
movsx ecx, word [ebp - 0xc]
mov byte [ecx + 0x47b898], 0
movsx edx, word [ebp - 0xc]
movsx eax, word [ebp - 0x10]
cmp edx, eax
je 0x40554a
movsx ecx, word [ebp - 0x10]
movsx edx, word [ebp - 0xc]
movsd xmm0, qword [ecx*8 + 0x47ffc8]
addsd xmm0, qword [edx*8 + 0x47ffc8]
movsx eax, word [ebp - 0x10]
movsd qword [eax*8 + 0x47ffc8], xmm0
jmp 0x405461
jmp 0x405431
mov byte [0x448278], 0
mov byte [0x448279], 0
mov byte [0x44827a], 0
mov ecx, 1
mov word [ebp - 4], cx
jmp 0x405580
mov dx, word [ebp - 4]
add dx, 1
mov word [ebp - 4], dx
movsx eax, word [ebp - 4]
movsx ecx, word [0x47f638]
cmp eax, ecx
jg 0x4055e1
movsx edx, word [ebp - 4]
movsx eax, word [edx*2 + 0x47abec]
cmp eax, dword [0x47a158]
jne 0x4055df
movsx ecx, word [ebp - 4]
movsx edx, byte [ecx + 0x47a86e]
cmp edx, 0x54
jne 0x4055df
movsx eax, word [ebp - 4]
movsd xmm0, qword [eax*8 + 0x47ffc8]
movsd qword [0x449c50], xmm0
movsx ecx, word [ebp - 4]
movsd xmm0, qword [ecx*8 + 0x47ffc8]
movsd qword [0x449c58], xmm0
jmp 0x4055e1
jmp 0x405574
mov edx, 1
mov word [ebp - 4], dx
jmp 0x4055f8
mov ax, word [ebp - 4]
add ax, 1
mov word [ebp - 4], ax
movsx ecx, word [ebp - 4]
movsx edx, word [0x47f638]
cmp ecx, edx
jg 0x40567a
movsx eax, word [ebp - 4]
movsx ecx, word [eax*2 + 0x47abec]
cmp ecx, dword [0x47a158]
jne 0x405675
movsx edx, word [ebp - 4]
movsx eax, byte [edx + 0x47a86e]
cmp eax, 0x54
jne 0x405675
movsx ecx, word [ebp - 4]
movsd xmm0, qword [ecx*8 + 0x47ffc8]
movsd qword [ebp - 0x30], xmm0
movsd xmm0, qword [ebp - 0x30]
comisd xmm0, xmmword [0x449c58]
jbe 0x405659
movsd xmm0, qword [ebp - 0x30]
movsd qword [0x449c58], xmm0
movsd xmm0, qword [0x449c50]
comisd xmm0, xmmword [ebp - 0x30]
jbe 0x405675
movsd xmm0, qword [ebp - 0x30]
movsd qword [0x449c50], xmm0
jmp 0x4055ec
mov edx, 1
mov word [ebp - 4], dx
jmp 0x405691
mov ax, word [ebp - 4]
add ax, 1
mov word [ebp - 4], ax
movsx ecx, word [ebp - 4]
movsx edx, word [0x47f638]
cmp ecx, edx
jg 0x405760
movsx eax, word [ebp - 4]
movsx ecx, word [eax*2 + 0x47abec]
cmp ecx, dword [0x47a158]
jne 0x40575b
movsx edx, word [ebp - 4]
movsx eax, byte [edx + 0x47a4f0]
cmp eax, 0x41
jne 0x40570e
movzx ecx, byte [0x44827a]
test ecx, ecx
jne 0x40570e
movsx edx, word [ebp - 4]
movsd xmm0, qword [0x449c58]
movsd qword [edx*8 + 0x47ffc8], xmm0
mov byte [0x44827a], 1
movsx eax, word [ebp - 4]
mov byte [eax + 0x47a4f0], 0x58
movsx ecx, word [ebp - 4]
mov byte [ecx + 0x47b898], 1
jmp 0x405685
movsx edx, word [ebp - 4]
movsx eax, byte [edx + 0x47a4f0]
cmp eax, 0x41
jne 0x40575b
movzx ecx, byte [0x448279]
test ecx, ecx
jne 0x40575b
movsx edx, word [ebp - 4]
movsd xmm0, qword [0x449c50]
movsd qword [edx*8 + 0x47ffc8], xmm0
mov byte [0x448279], 1
movsx eax, word [ebp - 4]
mov byte [eax + 0x47a4f0], 0x4d
movsx ecx, word [ebp - 4]
mov byte [ecx + 0x47b898], 1
jmp 0x405685
movsx edx, word [0x47f638]
push edx
call fcn.00402400
add esp, 4
xorps xmm0, xmm0
movsd qword [0x449c50], xmm0
xorps xmm0, xmm0
movsd qword [0x449c58], xmm0
mov dword [ebp - 0x24], 0
call fcn.00401260
mov eax, 1
mov word [ebp - 4], ax
jmp 0x4057a9
mov cx, word [ebp - 4]
add cx, 1
mov word [ebp - 4], cx
movsx edx, word [ebp - 4]
movsx eax, word [0x47f638]
cmp edx, eax
jg 0x405914
movsx ecx, word [ebp - 4]
movsx edx, word [ecx*2 + 0x47abec]
cmp edx, dword [0x47a158]
jne 0x40590f
movsx eax, word [ebp - 4]
movsx ecx, word [eax*2 + 0x47abec]
cmp ecx, 1
je 0x4057fa
movsx edx, word [ebp - 4]
movsx eax, word [edx*2 + 0x47abec]
cmp eax, 0xc
jne 0x40590f
movsx ecx, word [ebp - 4]
movsx edx, word [ebp - 4]
cvtss2sd xmm0, dword [edx*4 + 0x47b0c8]
mulsd xmm0, qword [ecx*8 + 0x47ffc8]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x14], xmm0
movsx eax, word [ebp - 4]
movsx ecx, word [ebp - 4]
cvtss2sd xmm0, dword [ecx*4 + 0x47b258]
mulsd xmm0, qword [eax*8 + 0x47ffc8]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x18], xmm0
movsx edx, word [ebp - 4]
movsx eax, byte [edx + 0x47a86e]
cmp eax, 0x57
je 0x4058be
movss xmm0, dword [ebp - 0x18]
comiss xmm0, dword [ebp - 0x14]
jbe 0x405867
movss xmm0, dword [ebp - 0x14]
movss dword [ebp - 0x1c], xmm0
jmp 0x405871
movss xmm0, dword [ebp - 0x18]
movss dword [ebp - 0x1c], xmm0
cvtss2sd xmm0, dword [ebp - 0x1c]
addsd xmm0, qword [0x449c50]
movsd qword [0x449c50], xmm0
movss xmm0, dword [ebp - 0x14]
comiss xmm0, dword [ebp - 0x18]
jbe 0x40589d
movss xmm0, dword [ebp - 0x14]
movss dword [ebp - 0x20], xmm0
jmp 0x4058a7
movss xmm0, dword [ebp - 0x18]
movss dword [ebp - 0x20], xmm0
cvtss2sd xmm0, dword [ebp - 0x20]
addsd xmm0, qword [0x449c58]
movsd qword [0x449c58], xmm0
jmp 0x40590f
mov dword [ebp - 0x24], 1
mov ecx, 0x2c
shl ecx, 0
movsx edx, word [ebp - 4]
mov eax, 4
shl eax, 0
mov ecx, dword [ecx + edx*4 + 0x46ac98]
movss xmm0, dword [ebp - 0x14]
movss dword [eax + ecx], xmm0
mov edx, 0x2c
shl edx, 0
movsx eax, word [ebp - 4]
mov ecx, 4
shl ecx, 0
mov edx, dword [edx + eax*4 + 0x46adf8]
movss xmm0, dword [ebp - 0x18]
movss dword [ecx + edx], xmm0
jmp 0x40579d
cmp dword [ebp - 0x24], 1
jne 0x405976
push 1
movsx eax, word [0x47f638]
push eax
push 1
push 1
call section..text
add esp, 0x10
fstp qword [ebp - 0x48]
movsd xmm0, qword [ebp - 0x48]
addsd xmm0, qword [0x449c50]
movsd qword [0x449c50], xmm0
push 1
movsx ecx, word [0x47f638]
push ecx
push 1
push 1
call fcn.00401130
add esp, 0x10
fstp qword [ebp - 0x50]
movsd xmm0, qword [ebp - 0x50]
addsd xmm0, qword [0x449c58]
movsd qword [0x449c58], xmm0
cmp dword [0x47a158], 1
je 0x405988
cmp dword [0x47a158], 0xc
jne 0x405992
jmp 0x405c42
mov edx, 1
mov word [ebp - 8], dx
jmp 0x4059a9
mov ax, word [ebp - 8]
add ax, 1
mov word [ebp - 8], ax
movsx ecx, word [ebp - 8]
movsx edx, word [0x47a3c4]
cmp ecx, edx
jg 0x405b4f
movsd xmm0, qword [0x449c50]
movsd qword [ebp - 0x38], xmm0
movsd xmm0, qword [0x449c58]
movsd qword [ebp - 0x40], xmm0
movsx eax, word [ebp - 8]
movsx ecx, word [eax*2 + 0x47ade0]
cmp ecx, 1
je 0x4059f8
movsx edx, word [ebp - 8]
movsx eax, word [edx*2 + 0x47ade0]
cmp eax, 0xc
jne 0x4059fa
jmp 0x40599d
mov ecx, 1
mov word [ebp - 4], cx
jmp 0x405a11
mov dx, word [ebp - 4]
add dx, 1
mov word [ebp - 4], dx
movsx eax, word [ebp - 4]
movsx ecx, word [0x47f638]
cmp eax, ecx
jg 0x405b26
movsx edx, word [ebp - 4]
movzx eax, byte [edx + 0x47b898]
cmp eax, 1
jne 0x405b21
movsx ecx, word [ebp - 4]
movsx edx, word [ecx*2 + 0x47abec]
cmp edx, dword [0x47a158]
jne 0x405b21
movsx eax, word [ebp - 4]
movsx ecx, word [eax*2 + 0x47abec]
movsx edx, word [ebp - 8]
movsx eax, word [edx*2 + 0x47ade0]
cmp ecx, eax
jne 0x405a8d
movsx ecx, word [ebp - 4]
movsx edx, word [ebp - 4]
cvtss2sd xmm0, dword [edx*4 + 0x47b0c8]
mulsd xmm0, qword [ecx*8 + 0x47ffc8]
movsd qword [ebp - 0x30], xmm0
jmp 0x405abd
movsx eax, word [ebp - 4]
movsx ecx, word [ebp - 4]
cvtss2sd xmm0, dword [ecx*4 + 0x47b0c8]
mulsd xmm0, qword [eax*8 + 0x47ffc8]
movsx edx, word [ebp - 4]
cvtss2sd xmm1, dword [edx*4 + 0x47b3e8]
mulsd xmm0, xmm1
movsd qword [ebp - 0x30], xmm0
movsx eax, word [ebp - 4]
movsx ecx, byte [eax + 0x47a4f0]
cmp ecx, 0x4d
je 0x405aed
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x30]
comisd xmm0, xmmword [ebp - 0x40]
jbe 0x405aed
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x30]
movsd qword [ebp - 0x40], xmm0
movsx edx, word [ebp - 4]
movsx eax, byte [edx + 0x47a4f0]
cmp eax, 0x58
je 0x405b21
movsd xmm0, qword [ebp - 0x38]
addsd xmm0, qword [ebp - 0x30]
movsd xmm1, qword [ebp - 0x38]
comisd xmm1, xmm0
jbe 0x405b21
movsd xmm0, qword [ebp - 0x38]
addsd xmm0, qword [ebp - 0x30]
movsd qword [ebp - 0x38], xmm0
jmp 0x405a05
movsx ecx, word [ebp - 8]
movsd xmm0, qword [ebp - 0x38]
movsd qword [ecx*8 + 0x449c68], xmm0
movsx edx, word [ebp - 8]
movsd xmm0, qword [ebp - 0x40]
movsd qword [edx*8 + 0x449d10], xmm0
jmp 0x40599d
mov dword [ebp - 0x28], 0
mov eax, 1
mov word [ebp - 8], ax
jmp 0x405b6d
mov cx, word [ebp - 8]
add cx, 1
mov word [ebp - 8], cx
movsx edx, word [ebp - 8]
movsx eax, word [0x47a3c4]
cmp edx, eax
jg 0x405c28
movsx ecx, word [ebp - 8]
movsx edx, word [ecx*2 + 0x47ade0]
cmp edx, 1
je 0x405ba2
movsx eax, word [ebp - 8]
movsx ecx, word [eax*2 + 0x47ade0]
cmp ecx, 0xc
jne 0x405ba4
jmp 0x405b61
cmp dword [ebp - 0x28], 0
jne 0x405bd7
movsx edx, word [ebp - 8]
movsd xmm0, qword [edx*8 + 0x449c68]
movsd qword [ebp - 0x38], xmm0
movsx eax, word [ebp - 8]
movsd xmm0, qword [eax*8 + 0x449d10]
movsd qword [ebp - 0x40], xmm0
mov dword [ebp - 0x28], 1
jmp 0x405b61
movsx ecx, word [ebp - 8]
movsd xmm0, qword [ebp - 0x38]
comisd xmm0, xmmword [ecx*8 + 0x449c68]
jbe 0x405bfd
movsx edx, word [ebp - 8]
movsd xmm0, qword [edx*8 + 0x449c68]
movsd qword [ebp - 0x38], xmm0
movsx eax, word [ebp - 8]
movsd xmm0, qword [eax*8 + 0x449d10]
comisd xmm0, xmmword [ebp - 0x40]
jbe 0x405c23
movsx ecx, word [ebp - 8]
movsd xmm0, qword [ecx*8 + 0x449d10]
movsd qword [ebp - 0x40], xmm0
jmp 0x405b61
movsd xmm0, qword [ebp - 0x38]
movsd qword [0x449c50], xmm0
movsd xmm0, qword [ebp - 0x40]
movsd qword [0x449c58], xmm0
push 0x4ccaf0
mov edx, dword [0x47a158]
push edx
push 0x4ccce0
push str._sKOMBI_SUMMIMX__i_12__s
push 0x4cc900
call fcn.00401f00
add esp, 0x14
push 0x43c720
push 0x4cc900
call fcn.0042b546
add esp, 8
mov dword [0x46ac90], eax
cmp dword [0x46ac90], 0
je 0x405cc3
mov eax, dword [0x46ac90]
push eax
push 1
push 8
push 0x449c50
call fcn.0042bee8
add esp, 0x10
mov ecx, dword [0x46ac90]
push ecx
push 1
push 8
push 0x449c58
call fcn.0042bee8
add esp, 0x10
mov edx, dword [0x46ac90]
push edx
call fcn.0042b45f
add esp, 4
mov esp, ebp
pop ebp
ret