Function at 0x404780
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
xorps xmm0, xmm0
movsd qword [ebp - 0x30], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x38], xmm0
push str.MinMaxOf_Sum
call fcn.004022d0
add esp, 4
mov eax, 1
mov word [ebp - 4], ax
jmp 0x4047ba
mov cx, word [ebp - 4]
add cx, 1
mov word [ebp - 4], cx
movsx edx, word [ebp - 4]
movsx eax, word [0x47b64c]
cmp edx, eax
jg 0x4048bd
movsx ecx, word [ebp - 4]
movsx edx, word [ecx*2 + 0x4762f8]
push edx
push 0x43867c
push 0x4c8de8
call fcn.00401f00
add esp, 0xc
push 0x4c8b00
push 0x4c8de8
push 0x438680
push 0x4c8cf0
push 0x438684
push 0x4c8910
call fcn.00401f00
add esp, 0x18
push 0x4c8910
call fcn.00402370
add esp, 4
push 0x438690
push 0x4c8910
call fcn.00426e66
add esp, 8
mov dword [0x466c98], eax
cmp dword [0x466c98], 0
je 0x4048b8
mov eax, dword [0x466c98]
push eax
push 1
push 0x10
push 0x4c85f8
call fcn.00427056
add esp, 0x10
mov ecx, 4
shl ecx, 0
cvtss2sd xmm0, dword [ecx + 0x4c85f8]
movsx edx, word [ebp - 4]
movsd qword [edx*8 + 0x47bfd8], xmm0
movsx eax, word [ebp - 4]
movzx ecx, byte [eax + 0x444280]
test ecx, ecx
jne 0x4048a9
movsx edx, word [ebp - 4]
movsx eax, word [ebp - 4]
cvtss2sd xmm0, dword [eax*4 + 0x476edc]
mulsd xmm0, qword [edx*8 + 0x47bfd8]
movsx ecx, word [ebp - 4]
movsd qword [ecx*8 + 0x47bfd8], xmm0
mov edx, dword [0x466c98]
push edx
call fcn.00426d7f
add esp, 4
jmp 0x4047ae
mov eax, 1
mov word [ebp - 4], ax
jmp 0x4048d4
mov cx, word [ebp - 4]
add cx, 1
mov word [ebp - 4], cx
movsx edx, word [ebp - 4]
movsx eax, word [0x47b63c]
cmp edx, eax
jg 0x4049db
xor ecx, ecx
mov word [ebp - 0x10], cx
mov edx, 1
mov word [ebp - 0xc], dx
jmp 0x404904
mov ax, word [ebp - 0xc]
add ax, 1
mov word [ebp - 0xc], ax
movsx ecx, word [ebp - 0xc]
movsx edx, word [0x47b64c]
cmp ecx, edx
jg 0x4049d6
movsx eax, word [ebp - 0xc]
movsx ecx, byte [eax + 0x4764f8]
cmp ecx, 0x47
jne 0x4049d1
movsx edx, word [ebp - 0xc]
movsx eax, word [edx*2 + 0x4769a0]
movsx ecx, word [ebp - 4]
cmp eax, ecx
jne 0x4049d1
movsx edx, word [ebp - 0x10]
test edx, edx
jne 0x404993
mov ax, word [ebp - 0xc]
mov word [ebp - 0x10], ax
movsx ecx, word [ebp - 0xc]
movsx edx, byte [ecx + 0x4763ce]
cmp edx, 0x41
jne 0x40497b
movsx eax, word [ebp - 0xc]
mov byte [eax + 0x4764f8], 0x41
movsx ecx, word [ebp - 0xc]
mov byte [ecx + 0x476876], 0x54
jmp 0x404986
movsx edx, word [ebp - 0xc]
mov byte [edx + 0x4764f8], 0x51
movsx eax, word [ebp - 0x10]
mov byte [eax + 0x4778a0], 1
jmp 0x40499e
movsx ecx, word [ebp - 0xc]
mov byte [ecx + 0x4778a0], 0
movsx edx, word [ebp - 0xc]
movsx eax, word [ebp - 0x10]
cmp edx, eax
je 0x4049d1
movsx ecx, word [ebp - 0x10]
movsx edx, word [ebp - 0xc]
movsd xmm0, qword [ecx*8 + 0x47bfd8]
addsd xmm0, qword [edx*8 + 0x47bfd8]
movsx eax, word [ebp - 0x10]
movsd qword [eax*8 + 0x47bfd8], xmm0
jmp 0x4048f8
jmp 0x4048c8
mov byte [0x444278], 0
mov byte [0x44427a], 0
mov byte [0x44427b], 0
mov ecx, 1
mov word [ebp - 4], cx
jmp 0x404a07
mov dx, word [ebp - 4]
add dx, 1
mov word [ebp - 4], dx
movsx eax, word [ebp - 4]
movsx ecx, word [0x47b64c]
cmp eax, ecx
jg 0x404a54
movsx edx, word [ebp - 4]
movsx eax, byte [edx + 0x476876]
cmp eax, 0x54
jne 0x404a52
movsx ecx, word [ebp - 4]
movsd xmm0, qword [ecx*8 + 0x47bfd8]
movsd qword [0x445c58], xmm0
movsx edx, word [ebp - 4]
movsd xmm0, qword [edx*8 + 0x47bfd8]
movsd qword [0x445c60], xmm0
jmp 0x404a54
jmp 0x4049fb
mov eax, 1
mov word [ebp - 4], ax
jmp 0x404a6b
mov cx, word [ebp - 4]
add cx, 1
mov word [ebp - 4], cx
movsx edx, word [ebp - 4]
movsx eax, word [0x47b64c]
cmp edx, eax
jg 0x404ae8
movsx ecx, word [ebp - 4]
movsx edx, byte [ecx + 0x476876]
cmp edx, 0x54
jne 0x404ae3
movsx eax, word [ebp - 4]
movsd xmm0, qword [eax*8 + 0x47bfd8]
movsd qword [0x445c50], xmm0
movsd xmm0, qword [0x445c50]
comisd xmm0, xmmword [0x445c60]
jbe 0x404ac1
movsd xmm0, qword [0x445c50]
movsd qword [0x445c60], xmm0
movsd xmm0, qword [0x445c58]
comisd xmm0, xmmword [0x445c50]
jbe 0x404ae3
movsd xmm0, qword [0x445c50]
movsd qword [0x445c58], xmm0
jmp 0x404a5f
mov ecx, 1
mov word [ebp - 4], cx
jmp 0x404aff
mov dx, word [ebp - 4]
add dx, 1
mov word [ebp - 4], dx
movsx eax, word [ebp - 4]
movsx ecx, word [0x47b64c]
cmp eax, ecx
jg 0x404bb3
movsx edx, word [ebp - 4]
movsx eax, byte [edx + 0x476876]
cmp eax, 0x54
jne 0x404b61
movzx ecx, byte [0x44427b]
test ecx, ecx
jne 0x404b61
movsx edx, word [ebp - 4]
movsd xmm0, qword [0x445c60]
movsd qword [edx*8 + 0x47bfd8], xmm0
mov byte [0x44427b], 1
movsx eax, word [ebp - 4]
mov byte [eax + 0x4764f8], 0x58
movsx ecx, word [ebp - 4]
mov byte [ecx + 0x4778a0], 1
jmp 0x404af3
movsx edx, word [ebp - 4]
movsx eax, byte [edx + 0x476876]
cmp eax, 0x54
jne 0x404bae
movzx ecx, byte [0x44427a]
test ecx, ecx
jne 0x404bae
movsx edx, word [ebp - 4]
movsd xmm0, qword [0x445c58]
movsd qword [edx*8 + 0x47bfd8], xmm0
mov byte [0x44427a], 1
movsx eax, word [ebp - 4]
mov byte [eax + 0x4764f8], 0x4d
movsx ecx, word [ebp - 4]
mov byte [ecx + 0x4778a0], 1
jmp 0x404af3
movsx edx, word [0x47b64c]
push edx
call fcn.00402400
add esp, 4
xorps xmm0, xmm0
movsd qword [0x445c58], xmm0
xorps xmm0, xmm0
movsd qword [0x445c60], xmm0
mov dword [ebp - 0x24], 0
call fcn.00401260
mov eax, 1
mov word [ebp - 4], ax
jmp 0x404bfc
mov cx, word [ebp - 4]
add cx, 1
mov word [ebp - 4], cx
movsx edx, word [ebp - 4]
movsx eax, word [0x47b64c]
cmp edx, eax
jg 0x404d4f
movsx ecx, word [ebp - 4]
movsx edx, word [ecx*2 + 0x476bf4]
cmp edx, 1
je 0x404c35
movsx eax, word [ebp - 4]
movsx ecx, word [eax*2 + 0x476bf4]
cmp ecx, 0xc
jne 0x404d4a
movsx edx, word [ebp - 4]
movsx eax, word [ebp - 4]
cvtss2sd xmm0, dword [eax*4 + 0x4770d0]
mulsd xmm0, qword [edx*8 + 0x47bfd8]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x14], xmm0
movsx ecx, word [ebp - 4]
movsx edx, word [ebp - 4]
cvtss2sd xmm0, dword [edx*4 + 0x477260]
mulsd xmm0, qword [ecx*8 + 0x47bfd8]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x18], xmm0
movsx eax, word [ebp - 4]
movsx ecx, byte [eax + 0x476876]
cmp ecx, 0x57
je 0x404cf9
movss xmm0, dword [ebp - 0x18]
comiss xmm0, dword [ebp - 0x14]
jbe 0x404ca2
movss xmm0, dword [ebp - 0x14]
movss dword [ebp - 0x1c], xmm0
jmp 0x404cac
movss xmm0, dword [ebp - 0x18]
movss dword [ebp - 0x1c], xmm0
cvtss2sd xmm0, dword [ebp - 0x1c]
addsd xmm0, qword [0x445c58]
movsd qword [0x445c58], xmm0
movss xmm0, dword [ebp - 0x14]
comiss xmm0, dword [ebp - 0x18]
jbe 0x404cd8
movss xmm0, dword [ebp - 0x14]
movss dword [ebp - 0x20], xmm0
jmp 0x404ce2
movss xmm0, dword [ebp - 0x18]
movss dword [ebp - 0x20], xmm0
cvtss2sd xmm0, dword [ebp - 0x20]
addsd xmm0, qword [0x445c60]
movsd qword [0x445c60], xmm0
jmp 0x404d4a
mov dword [ebp - 0x24], 1
mov edx, 0x2c
shl edx, 0
movsx eax, word [ebp - 4]
mov ecx, 4
shl ecx, 0
mov edx, dword [edx + eax*4 + 0x466ca0]
movss xmm0, dword [ebp - 0x14]
movss dword [ecx + edx], xmm0
mov eax, 0x2c
shl eax, 0
movsx ecx, word [ebp - 4]
mov edx, 4
shl edx, 0
mov eax, dword [eax + ecx*4 + 0x466e00]
movss xmm0, dword [ebp - 0x18]
movss dword [edx + eax], xmm0
jmp 0x404bf0
cmp dword [ebp - 0x24], 1
jne 0x404db1
push 1
movsx ecx, word [0x47b64c]
push ecx
push 1
push 1
call section..text
add esp, 0x10
fstp qword [ebp - 0x40]
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [0x445c58]
movsd qword [0x445c58], xmm0
push 1
movsx edx, word [0x47b64c]
push edx
push 1
push 1
call fcn.00401130
add esp, 0x10
fstp qword [ebp - 0x48]
movsd xmm0, qword [ebp - 0x48]
addsd xmm0, qword [0x445c60]
movsd qword [0x445c60], xmm0
mov eax, 1
mov word [ebp - 8], ax
jmp 0x404dc8
mov cx, word [ebp - 8]
add cx, 1
mov word [ebp - 8], cx
movsx edx, word [ebp - 8]
movsx eax, word [0x4763cc]
cmp edx, eax
jg 0x404f68
movsd xmm0, qword [0x445c58]
movsd qword [ebp - 0x30], xmm0
movsd xmm0, qword [0x445c60]
movsd qword [ebp - 0x38], xmm0
movsx ecx, word [ebp - 8]
movsx edx, word [ecx*2 + 0x476de8]
cmp edx, 1
je 0x404e17
movsx eax, word [ebp - 8]
movsx ecx, word [eax*2 + 0x476de8]
cmp ecx, 0xc
jne 0x404e19
jmp 0x404dbc
mov edx, 1
mov word [ebp - 4], dx
jmp 0x404e30
mov ax, word [ebp - 4]
add ax, 1
mov word [ebp - 4], ax
movsx ecx, word [ebp - 4]
movsx edx, word [0x47b64c]
cmp ecx, edx
jg 0x404f3f
movsx eax, word [ebp - 4]
movzx ecx, byte [eax + 0x4778a0]
cmp ecx, 1
jne 0x404f3a
movsx edx, word [ebp - 4]
movsx eax, word [edx*2 + 0x476bf4]
movsx ecx, word [ebp - 8]
movsx edx, word [ecx*2 + 0x476de8]
cmp eax, edx
jne 0x404e97
movsx eax, word [ebp - 4]
movsx ecx, word [ebp - 4]
cvtss2sd xmm0, dword [ecx*4 + 0x4770d0]
mulsd xmm0, qword [eax*8 + 0x47bfd8]
movsd qword [0x445c50], xmm0
jmp 0x404eca
movsx edx, word [ebp - 4]
movsx eax, word [ebp - 4]
cvtss2sd xmm0, dword [eax*4 + 0x4770d0]
mulsd xmm0, qword [edx*8 + 0x47bfd8]
movsx ecx, word [ebp - 4]
cvtss2sd xmm1, dword [ecx*4 + 0x4773f0]
mulsd xmm0, xmm1
movsd qword [0x445c50], xmm0
movsx edx, word [ebp - 4]
movsx eax, byte [edx + 0x4764f8]
cmp eax, 0x4d
je 0x404f00
movsd xmm0, qword [ebp - 0x38]
addsd xmm0, qword [0x445c50]
comisd xmm0, xmmword [ebp - 0x38]
jbe 0x404f00
movsd xmm0, qword [ebp - 0x38]
addsd xmm0, qword [0x445c50]
movsd qword [ebp - 0x38], xmm0
movsx ecx, word [ebp - 4]
movsx edx, byte [ecx + 0x4764f8]
cmp edx, 0x58
je 0x404f3a
movsd xmm0, qword [ebp - 0x30]
addsd xmm0, qword [0x445c50]
movsd xmm1, qword [ebp - 0x30]
comisd xmm1, xmm0
jbe 0x404f3a
movsd xmm0, qword [ebp - 0x30]
addsd xmm0, qword [0x445c50]
movsd qword [ebp - 0x30], xmm0
jmp 0x404e24
movsx eax, word [ebp - 8]
movsd xmm0, qword [ebp - 0x30]
movsd qword [eax*8 + 0x445c70], xmm0
movsx ecx, word [ebp - 8]
movsd xmm0, qword [ebp - 0x38]
movsd qword [ecx*8 + 0x445d18], xmm0
jmp 0x404dbc
mov dword [ebp - 0x28], 0
mov edx, 1
mov word [ebp - 8], dx
jmp 0x404f86
mov ax, word [ebp - 8]
add ax, 1
mov word [ebp - 8], ax
movsx ecx, word [ebp - 8]
movsx edx, word [0x4763cc]
cmp ecx, edx
jg 0x405041
movsx eax, word [ebp - 8]
movsx ecx, word [eax*2 + 0x476de8]
cmp ecx, 1
je 0x404fbb
movsx edx, word [ebp - 8]
movsx eax, word [edx*2 + 0x476de8]
cmp eax, 0xc
jne 0x404fbd
jmp 0x404f7a
cmp dword [ebp - 0x28], 0
jne 0x404ff0
movsx ecx, word [ebp - 8]
movsd xmm0, qword [ecx*8 + 0x445c70]
movsd qword [ebp - 0x30], xmm0
movsx edx, word [ebp - 8]
movsd xmm0, qword [edx*8 + 0x445d18]
movsd qword [ebp - 0x38], xmm0
mov dword [ebp - 0x28], 1
jmp 0x404f7a
movsx eax, word [ebp - 8]
movsd xmm0, qword [ebp - 0x30]
comisd xmm0, xmmword [eax*8 + 0x445c70]
jbe 0x405016
movsx ecx, word [ebp - 8]
movsd xmm0, qword [ecx*8 + 0x445c70]
movsd qword [ebp - 0x30], xmm0
movsx edx, word [ebp - 8]
movsd xmm0, qword [edx*8 + 0x445d18]
comisd xmm0, xmmword [ebp - 0x38]
jbe 0x40503c
movsx eax, word [ebp - 8]
movsd xmm0, qword [eax*8 + 0x445d18]
movsd qword [ebp - 0x38], xmm0
jmp 0x404f7a
movsd xmm0, qword [ebp - 0x30]
movsd qword [0x445c58], xmm0
movsd xmm0, qword [ebp - 0x38]
movsd qword [0x445c60], xmm0
push 0x4c8b00
mov ecx, dword [0x476160]
push ecx
push 0x4c8cf0
push str._sKOMBI_SUMMIMX__i_12__s
push 0x4c8910
call fcn.00401f00
add esp, 0x14
push 0x4386b0
push 0x4c8910
call fcn.00426e66
add esp, 8
mov dword [0x466c98], eax
cmp dword [0x466c98], 0
je 0x4050dc
mov edx, dword [0x466c98]
push edx
push 1
push 8
push 0x445c58
call fcn.00427779
add esp, 0x10
mov eax, dword [0x466c98]
push eax
push 1
push 8
push 0x445c60
call fcn.00427779
add esp, 0x10
mov ecx, dword [0x466c98]
push ecx
call fcn.00426d7f
add esp, 4
mov esp, ebp
pop ebp
ret