Function at 0x4039c0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x20de8
call fcn.004251a0
mov eax, dword [0x447040]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
xorps xmm0, xmm0
movsd qword [ebp - 0x20d50], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x20d48], xmm0
xor eax, eax
mov word [0x47a15c], ax
push str.MinMaxOf_T
call fcn.004022d0
add esp, 4
push 0x4ccaf0
push str.INFO_T
push 0x4ccce0
push 0x43c61c
push 0x4cc900
call fcn.00401f00
add esp, 0x14
push 0x4cc900
call fcn.00402370
add esp, 4
push 0x43c624
push 0x4cc900
call fcn.0042b546
add esp, 8
mov dword [0x46ac90], eax
mov ecx, 1
mov word [ebp - 0x20d28], cx
jmp 0x403a68
mov dx, word [ebp - 0x20d28]
add dx, 1
mov word [ebp - 0x20d28], dx
movsx eax, word [ebp - 0x20d28]
movsx ecx, word [0x47f320]
cmp eax, ecx
jg 0x403aa1
mov edx, dword [0x46ac90]
push edx
push 1
push 0x10
movsx eax, word [ebp - 0x20d28]
shl eax, 4
lea ecx, [ebp + eax - 0x10694]
push ecx
call fcn.0042b7c5
add esp, 0x10
jmp 0x403a56
cmp dword [0x46ac90], 0
je 0x403ab9
mov edx, dword [0x46ac90]
push edx
call fcn.0042b45f
add esp, 4
mov dword [0x47a3b8], 0x1069
mov byte [0x448278], 0
mov byte [0x448279], 0
mov byte [0x44827a], 0
movsx eax, word [0x47f320]
movsx ecx, word [0x47a15c]
sub eax, ecx
mov word [0x47a3bc], ax
movsx edx, word [0x47a3bc]
movsx eax, word [0x47f648]
sub eax, 1
cmp edx, eax
jle 0x403b14
movsx ecx, word [0x47f648]
sub ecx, 1
mov word [0x47a3bc], cx
mov dx, word [0x47a15c]
mov word [0x467f74], dx
mov eax, 1
mov word [ebp - 0x20d28], ax
jmp 0x403b42
mov cx, word [ebp - 0x20d28]
add cx, 1
mov word [ebp - 0x20d28], cx
movsx edx, word [ebp - 0x20d28]
movsx eax, word [0x47f638]
cmp edx, eax
jg 0x403cd5
movsx ecx, word [ebp - 0x20d28]
movsx edx, word [ecx*2 + 0x47abec]
cmp edx, dword [0x47a158]
jne 0x403cd0
movsx eax, word [ebp - 0x20d28]
movsx ecx, word [eax*2 + 0x47a2f0]
push ecx
push 0x43c628
push 0x4ccdd8
call fcn.00401f00
add esp, 0xc
push 0x4ccaf0
push 0x4ccdd8
push 0x43c62c
push 0x4ccce0
push 0x43c630
push 0x4cc900
call fcn.00401f00
add esp, 0x18
push 0x4cc900
call fcn.00402370
add esp, 4
push 0x43c63c
push 0x4cc900
call fcn.0042b546
add esp, 8
mov dword [0x46ac90], eax
push 0
movsx edx, word [0x47a15c]
add edx, dword [0x47a3b8]
shl edx, 3
push edx
mov eax, dword [0x46ac90]
push eax
call fcn.0042bbe9
add esp, 0xc
mov ecx, dword [0x46ac90]
push ecx
push 1
movsx edx, word [0x47a3bc]
lea eax, [edx*8 + 8]
push eax
movsx ecx, word [ebp - 0x20d28]
mov edx, dword [ecx*4 + 0x449fa8]
push edx
call fcn.0042b7c5
add esp, 0x10
cmp dword [0x46ac90], 0
je 0x403c46
mov eax, dword [0x46ac90]
push eax
call fcn.0042b45f
add esp, 4
movsx ecx, word [ebp - 0x20d28]
movzx edx, byte [ecx + 0x448280]
test edx, edx
jne 0x403cd0
mov eax, 1
mov word [ebp - 0x20d2c], ax
jmp 0x403c78
mov cx, word [ebp - 0x20d2c]
add cx, 1
mov word [ebp - 0x20d2c], cx
movsx edx, word [ebp - 0x20d2c]
movsx eax, word [0x47a3bc]
cmp edx, eax
jg 0x403cd0
movsx ecx, word [ebp - 0x20d28]
movsx edx, word [ebp - 0x20d2c]
mov eax, dword [ecx*4 + 0x449fa8]
movsx ecx, word [ebp - 0x20d28]
cvtss2sd xmm0, dword [ecx*4 + 0x47aed4]
mulsd xmm0, qword [eax + edx*8]
movsx edx, word [ebp - 0x20d28]
movsx eax, word [ebp - 0x20d2c]
mov ecx, dword [edx*4 + 0x449fa8]
movsd qword [ecx + eax*8], xmm0
jmp 0x403c66
jmp 0x403b30
mov edx, 1
mov word [ebp - 0x20d28], dx
jmp 0x403cf5
mov ax, word [ebp - 0x20d28]
add ax, 1
mov word [ebp - 0x20d28], ax
movsx ecx, word [ebp - 0x20d28]
movsx edx, word [0x47f628]
cmp ecx, edx
jg 0x403ea4
xor eax, eax
mov word [ebp - 0x20d38], ax
mov ecx, 1
mov word [ebp - 0x20d34], cx
jmp 0x403d34
mov dx, word [ebp - 0x20d34]
add dx, 1
mov word [ebp - 0x20d34], dx
movsx eax, word [ebp - 0x20d34]
movsx ecx, word [0x47f638]
cmp eax, ecx
jg 0x403e9f
movsx edx, word [ebp - 0x20d34]
movsx eax, word [edx*2 + 0x47abec]
cmp eax, dword [0x47a158]
jne 0x403e9a
movsx ecx, word [ebp - 0x20d34]
movsx edx, byte [ecx + 0x47a4f0]
cmp edx, 0x47
jne 0x403e9a
movsx eax, word [ebp - 0x20d34]
movsx ecx, word [eax*2 + 0x47a998]
movsx edx, word [ebp - 0x20d28]
cmp ecx, edx
jne 0x403e9a
movsx eax, word [ebp - 0x20d38]
test eax, eax
jne 0x403df4
movsx ecx, word [ebp - 0x20d34]
movsx edx, byte [ecx + 0x47a3c6]
cmp edx, 0x41
jne 0x403dd6
movsx eax, word [ebp - 0x20d34]
mov byte [eax + 0x47a4f0], 0x41
movsx ecx, word [ebp - 0x20d34]
mov byte [ecx + 0x47a86e], 0x54
jmp 0x403de4
movsx edx, word [ebp - 0x20d34]
mov byte [edx + 0x47a4f0], 0x51
movsx eax, word [ebp - 0x20d38]
mov byte [eax + 0x47b898], 1
jmp 0x403e02
movsx ecx, word [ebp - 0x20d34]
mov byte [ecx + 0x47b898], 0
movsx edx, word [ebp - 0x20d34]
movsx eax, word [ebp - 0x20d38]
cmp edx, eax
je 0x403e9a
mov ecx, 1
mov word [ebp - 0x20d2c], cx
jmp 0x403e38
mov dx, word [ebp - 0x20d2c]
add dx, 1
mov word [ebp - 0x20d2c], dx
movsx eax, word [ebp - 0x20d2c]
movsx ecx, word [0x47a3bc]
cmp eax, ecx
jg 0x403e9a
movsx edx, word [ebp - 0x20d38]
movsx eax, word [ebp - 0x20d2c]
mov ecx, dword [edx*4 + 0x449fa8]
movsx edx, word [ebp - 0x20d34]
movsx esi, word [ebp - 0x20d2c]
mov edx, dword [edx*4 + 0x449fa8]
movsd xmm0, qword [ecx + eax*8]
addsd xmm0, qword [edx + esi*8]
movsx eax, word [ebp - 0x20d38]
movsx ecx, word [ebp - 0x20d2c]
mov edx, dword [eax*4 + 0x449fa8]
movsd qword [edx + ecx*8], xmm0
jmp 0x403e26
jmp 0x403d22
jmp 0x403ce3
mov eax, 1
mov word [ebp - 0x20d28], ax
jmp 0x403ec4
mov cx, word [ebp - 0x20d28]
add cx, 1
mov word [ebp - 0x20d28], cx
movsx edx, word [ebp - 0x20d28]
movsx eax, word [0x47f638]
cmp edx, eax
jg 0x403fb9
movsx ecx, word [ebp - 0x20d28]
movsx edx, word [ecx*2 + 0x47abec]
cmp edx, dword [0x47a158]
jne 0x403fb4
movsx eax, word [ebp - 0x20d28]
movsx ecx, byte [eax + 0x47a86e]
cmp ecx, 0x54
jne 0x403fb4
mov edx, 1
mov word [ebp - 0x20d2c], dx
jmp 0x403f2c
mov ax, word [ebp - 0x20d2c]
add ax, 1
mov word [ebp - 0x20d2c], ax
movsx ecx, word [ebp - 0x20d2c]
movsx edx, word [0x47a3bc]
cmp ecx, edx
jg 0x403fa9
movsx eax, word [ebp - 0x20d28]
movsx ecx, word [ebp - 0x20d2c]
mov edx, dword [eax*4 + 0x449fa8]
movsx eax, word [0x467f74]
movsx esi, word [ebp - 0x20d2c]
add eax, esi
movsd xmm0, qword [edx + ecx*8]
movsd qword [eax*8 + 0x490978], xmm0
movsx ecx, word [ebp - 0x20d28]
movsx edx, word [ebp - 0x20d2c]
mov eax, dword [ecx*4 + 0x449fa8]
movsx ecx, word [0x467f74]
movsx esi, word [ebp - 0x20d2c]
add ecx, esi
movsd xmm0, qword [eax + edx*8]
movsd qword [ecx*8 + 0x498cc0], xmm0
jmp 0x403f1a
mov byte [0x448278], 1
jmp 0x403fb9
jmp 0x403eb2
mov edx, 1
mov word [ebp - 0x20d28], dx
jmp 0x403fd9
mov ax, word [ebp - 0x20d28]
add ax, 1
mov word [ebp - 0x20d28], ax
movsx ecx, word [ebp - 0x20d28]
movsx edx, word [0x47f638]
cmp ecx, edx
jg 0x40410b
movsx eax, word [ebp - 0x20d28]
movsx ecx, word [eax*2 + 0x47abec]
cmp ecx, dword [0x47a158]
jne 0x404106
movsx edx, word [ebp - 0x20d28]
movsx eax, byte [edx + 0x47a86e]
cmp eax, 0x54
jne 0x404106
mov ecx, 1
mov word [ebp - 0x20d2c], cx
jmp 0x404041
mov dx, word [ebp - 0x20d2c]
add dx, 1
mov word [ebp - 0x20d2c], dx
movsx eax, word [ebp - 0x20d2c]
movsx ecx, word [0x47a3bc]
cmp eax, ecx
jg 0x404106
movsx edx, word [ebp - 0x20d28]
movsx eax, word [ebp - 0x20d2c]
mov ecx, dword [edx*4 + 0x449fa8]
movsd xmm0, qword [ecx + eax*8]
movsd qword [ebp - 0x20d40], xmm0
movsx edx, word [0x467f74]
movsx eax, word [ebp - 0x20d2c]
add edx, eax
movsd xmm0, qword [ebp - 0x20d40]
comisd xmm0, xmmword [edx*8 + 0x498cc0]
jbe 0x4040bd
movsx ecx, word [0x467f74]
movsx edx, word [ebp - 0x20d2c]
add ecx, edx
movsd xmm0, qword [ebp - 0x20d40]
movsd qword [ecx*8 + 0x498cc0], xmm0
movsx eax, word [0x467f74]
movsx ecx, word [ebp - 0x20d2c]
add eax, ecx
movsd xmm0, qword [eax*8 + 0x490978]
comisd xmm0, xmmword [ebp - 0x20d40]
jbe 0x404101
movsx edx, word [0x467f74]
movsx eax, word [ebp - 0x20d2c]
add edx, eax
movsd xmm0, qword [ebp - 0x20d40]
movsd qword [edx*8 + 0x490978], xmm0
jmp 0x40402f
jmp 0x403fc7
movzx ecx, byte [0x448278]
test ecx, ecx
je 0x4042d5
mov edx, 1
mov word [ebp - 0x20d28], dx
jmp 0x40413a
mov ax, word [ebp - 0x20d28]
add ax, 1
mov word [ebp - 0x20d28], ax
movsx ecx, word [ebp - 0x20d28]
movsx edx, word [0x47f638]
cmp ecx, edx
jg 0x4042d5
movsx eax, word [ebp - 0x20d28]
movsx ecx, word [eax*2 + 0x47abec]
cmp ecx, dword [0x47a158]
jne 0x4042d0
movsx edx, word [ebp - 0x20d28]
movsx eax, byte [edx + 0x47a4f0]
cmp eax, 0x41
jne 0x404220
movzx ecx, byte [0x44827a]
test ecx, ecx
jne 0x404220
mov edx, 1
mov word [ebp - 0x20d2c], dx
jmp 0x4041b1
mov ax, word [ebp - 0x20d2c]
add ax, 1
mov word [ebp - 0x20d2c], ax
movsx ecx, word [ebp - 0x20d2c]
movsx edx, word [0x47a3bc]
cmp ecx, edx
jg 0x4041f8
movsx eax, word [0x467f74]
movsx ecx, word [ebp - 0x20d2c]
add eax, ecx
movsx edx, word [ebp - 0x20d28]
movsx ecx, word [ebp - 0x20d2c]
mov edx, dword [edx*4 + 0x449fa8]
movsd xmm0, qword [eax*8 + 0x498cc0]
movsd qword [edx + ecx*8], xmm0
jmp 0x40419f
mov byte [0x44827a], 1
movsx eax, word [ebp - 0x20d28]
mov byte [eax + 0x47a4f0], 0x58
movsx ecx, word [ebp - 0x20d28]
mov byte [ecx + 0x47b898], 1
jmp 0x404128
movsx edx, word [ebp - 0x20d28]
movsx eax, byte [edx + 0x47a4f0]
cmp eax, 0x41
jne 0x4042d0
movzx ecx, byte [0x448279]
test ecx, ecx
jne 0x4042d0
mov edx, 1
mov word [ebp - 0x20d2c], dx
jmp 0x404266
mov ax, word [ebp - 0x20d2c]
add ax, 1
mov word [ebp - 0x20d2c], ax
movsx ecx, word [ebp - 0x20d2c]
movsx edx, word [0x47a3bc]
cmp ecx, edx
jg 0x4042ad
movsx eax, word [0x467f74]
movsx ecx, word [ebp - 0x20d2c]
add eax, ecx
movsx edx, word [ebp - 0x20d28]
movsx ecx, word [ebp - 0x20d2c]
mov edx, dword [edx*4 + 0x449fa8]
movsd xmm0, qword [eax*8 + 0x490978]
movsd qword [edx + ecx*8], xmm0
jmp 0x404254
mov byte [0x448279], 1
movsx eax, word [ebp - 0x20d28]
mov byte [eax + 0x47a4f0], 0x4d
movsx ecx, word [ebp - 0x20d28]
mov byte [ecx + 0x47b898], 1
jmp 0x404128
movsx edx, word [0x47f638]
push edx
call fcn.00402400
add esp, 4
mov eax, 1
mov word [ebp - 0x20d2c], ax
jmp 0x404305
mov cx, word [ebp - 0x20d2c]
add cx, 1
mov word [ebp - 0x20d2c], cx
movsx edx, word [ebp - 0x20d2c]
movsx eax, word [0x47a3bc]
cmp edx, eax
jg 0x404351
movsx ecx, word [0x467f74]
movsx edx, word [ebp - 0x20d2c]
add ecx, edx
xorps xmm0, xmm0
movsd qword [ecx*8 + 0x490978], xmm0
movsx eax, word [0x467f74]
movsx ecx, word [ebp - 0x20d2c]
add eax, ecx
xorps xmm0, xmm0
movsd qword [eax*8 + 0x498cc0], xmm0
jmp 0x4042f3
mov dword [ebp - 0x20d6c], 0
call fcn.00401260
mov edx, 1
mov word [ebp - 0x20d28], dx
jmp 0x404380
mov ax, word [ebp - 0x20d28]
add ax, 1
mov word [ebp - 0x20d28], ax
movsx ecx, word [ebp - 0x20d28]
movsx edx, word [0x47f638]
cmp ecx, edx
jg 0x4045f6
movsx eax, word [ebp - 0x20d28]
movsx ecx, word [eax*2 + 0x47abec]
cmp ecx, dword [0x47a158]
jne 0x4045f1
movsx edx, word [ebp - 0x20d28]
movsx eax, word [edx*2 + 0x47abec]
cmp eax, 1
je 0x4043dd
movsx ecx, word [ebp - 0x20d28]
movsx edx, word [ecx*2 + 0x47abec]
cmp edx, 0xc
jne 0x4045f1
mov eax, 1
mov word [ebp - 0x20d2c], ax
jmp 0x4043fd
mov cx, word [ebp - 0x20d2c]
add cx, 1
mov word [ebp - 0x20d2c], cx
movsx edx, word [ebp - 0x20d2c]
movsx eax, word [0x47a3bc]
cmp edx, eax
jg 0x4045f1
movsx ecx, word [ebp - 0x20d28]
movsx edx, word [ebp - 0x20d2c]
mov eax, dword [ecx*4 + 0x449fa8]
movsx ecx, word [ebp - 0x20d28]
cvtss2sd xmm0, dword [ecx*4 + 0x47b0c8]
mulsd xmm0, qword [eax + edx*8]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x20d54], xmm0
movsx edx, word [ebp - 0x20d28]
movsx eax, word [ebp - 0x20d2c]
mov ecx, dword [edx*4 + 0x449fa8]
movsx edx, word [ebp - 0x20d28]
cvtss2sd xmm0, dword [edx*4 + 0x47b258]
mulsd xmm0, qword [ecx + eax*8]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x20d58], xmm0
movss xmm0, dword [ebp - 0x20d58]
comiss xmm0, dword [ebp - 0x20d54]
jbe 0x4044a2
movss xmm0, dword [ebp - 0x20d54]
movss dword [ebp - 0x20d5c], xmm0
jmp 0x4044b2
movss xmm0, dword [ebp - 0x20d58]
movss dword [ebp - 0x20d5c], xmm0
movss xmm0, dword [ebp - 0x20d5c]
movss dword [ebp - 0x20d64], xmm0
movss xmm0, dword [ebp - 0x20d54]
comiss xmm0, dword [ebp - 0x20d58]
jbe 0x4044e5
movss xmm0, dword [ebp - 0x20d54]
movss dword [ebp - 0x20d60], xmm0
jmp 0x4044f5
movss xmm0, dword [ebp - 0x20d58]
movss dword [ebp - 0x20d60], xmm0
movss xmm0, dword [ebp - 0x20d60]
movss dword [ebp - 0x20d68], xmm0
movsx eax, word [ebp - 0x20d28]
movsx ecx, byte [eax + 0x47a86e]
cmp ecx, 0x57
je 0x40458e
movsx edx, word [0x467f74]
movsx eax, word [ebp - 0x20d2c]
add edx, eax
cvtss2sd xmm0, dword [ebp - 0x20d64]
addsd xmm0, qword [edx*8 + 0x490978]
movsx ecx, word [ebp - 0x20d2c]
movsx edx, word [0x467f74]
add edx, ecx
movsd qword [edx*8 + 0x490978], xmm0
movsx eax, word [0x467f74]
movsx ecx, word [ebp - 0x20d2c]
add eax, ecx
cvtss2sd xmm0, dword [ebp - 0x20d68]
addsd xmm0, qword [eax*8 + 0x498cc0]
movsx edx, word [ebp - 0x20d2c]
movsx eax, word [0x467f74]
add eax, edx
movsd qword [eax*8 + 0x498cc0], xmm0
jmp 0x4045ec
mov dword [ebp - 0x20d6c], 1
mov ecx, 0x2c
shl ecx, 0
movsx edx, word [ebp - 0x20d28]
movsx eax, word [ebp - 0x20d2c]
mov ecx, dword [ecx + edx*4 + 0x46ac98]
movss xmm0, dword [ebp - 0x20d64]
movss dword [ecx + eax*4], xmm0
mov edx, 0x2c
shl edx, 0
movsx eax, word [ebp - 0x20d28]
movsx ecx, word [ebp - 0x20d2c]
mov edx, dword [edx + eax*4 + 0x46adf8]
movss xmm0, dword [ebp - 0x20d68]
movss dword [edx + ecx*4], xmm0
jmp 0x4043eb
jmp 0x40436e
cmp dword [ebp - 0x20d6c], 1
jne 0x4046f6
mov eax, 1
mov word [ebp - 0x20d2c], ax
jmp 0x404623
mov cx, word [ebp - 0x20d2c]
add cx, 1
mov word [ebp - 0x20d2c], cx
movsx edx, word [ebp - 0x20d2c]
movsx eax, word [0x47a3bc]
cmp edx, eax
jg 0x4046f6
movsx esi, word [0x467f74]
movsx ecx, word [ebp - 0x20d2c]
add esi, ecx
movsx edx, word [ebp - 0x20d2c]
push edx
movsx eax, word [0x47f638]
push eax
push 1
push 1
call section..text
add esp, 0x10
fstp qword [ebp - 0x20de0]
movsd xmm0, qword [ebp - 0x20de0]
addsd xmm0, qword [esi*8 + 0x490978]
movsx ecx, word [ebp - 0x20d2c]
movsx edx, word [0x467f74]
add edx, ecx
movsd qword [edx*8 + 0x490978], xmm0
movsx esi, word [0x467f74]
movsx eax, word [ebp - 0x20d2c]
add esi, eax
movsx ecx, word [ebp - 0x20d2c]
push ecx
movsx edx, word [0x47f638]
push edx
push 1
push 1
call fcn.00401130
add esp, 0x10
fstp qword [ebp - 0x20de8]
movsd xmm0, qword [ebp - 0x20de8]
addsd xmm0, qword [esi*8 + 0x498cc0]
movsx eax, word [ebp - 0x20d2c]
movsx ecx, word [0x467f74]
add ecx, eax
movsd qword [ecx*8 + 0x498cc0], xmm0
jmp 0x404611
cmp dword [0x47a158], 1
je 0x404708
cmp dword [0x47a158], 0xc
jne 0x404712
jmp 0x404b1b
mov edx, 1
mov word [ebp - 0x20d2c], dx
jmp 0x404732
mov ax, word [ebp - 0x20d2c]
add ax, 1
mov word [ebp - 0x20d2c], ax
movsx ecx, word [ebp - 0x20d2c]
movsx edx, word [0x47a3bc]
cmp ecx, edx
jg 0x404b1b
mov eax, 1
mov word [ebp - 0x20d30], ax
jmp 0x404768
mov cx, word [ebp - 0x20d30]
add cx, 1
mov word [ebp - 0x20d30], cx
movsx edx, word [ebp - 0x20d30]
movsx eax, word [0x47a3c4]
cmp edx, eax
jg 0x4049b9
movsx ecx, word [0x467f74]
movsx edx, word [ebp - 0x20d2c]
add ecx, edx
movsd xmm0, qword [ecx*8 + 0x490978]
movsd qword [ebp - 0x20d50], xmm0
movsx eax, word [0x467f74]
movsx ecx, word [ebp - 0x20d2c]
add eax, ecx
movsd xmm0, qword [eax*8 + 0x498cc0]
movsd qword [ebp - 0x20d48], xmm0
movsx edx, word [ebp - 0x20d30]
movsx eax, word [edx*2 + 0x47ade0]
cmp eax, 1
je 0x4047e8
movsx ecx, word [ebp - 0x20d30]
movsx edx, word [ecx*2 + 0x47ade0]
cmp edx, 0xc
jne 0x4047ed
jmp 0x404756
mov eax, 1
mov word [ebp - 0x20d28], ax
jmp 0x40480d
mov cx, word [ebp - 0x20d28]
add cx, 1
mov word [ebp - 0x20d28], cx
movsx edx, word [ebp - 0x20d28]
movsx eax, word [0x47f638]
cmp edx, eax
jg 0x404984
movsx ecx, word [ebp - 0x20d28]
movzx edx, byte [ecx + 0x47b898]
cmp edx, 1
jne 0x40497f
movsx eax, word [ebp - 0x20d28]
movsx ecx, word [eax*2 + 0x47abec]
cmp ecx, dword [0x47a158]
jne 0x40497f
movsx edx, word [ebp - 0x20d28]
movsx eax, word [edx*2 + 0x47abec]
movsx ecx, word [ebp - 0x20d30]
movsx edx, word [ecx*2 + 0x47ade0]
cmp eax, edx
jne 0x4048ab
movsx eax, word [ebp - 0x20d28]
movsx ecx, word [ebp - 0x20d2c]
mov edx, dword [eax*4 + 0x449fa8]
movsx eax, word [ebp - 0x20d28]
cvtss2sd xmm0, dword [eax*4 + 0x47b0c8]
mulsd xmm0, qword [edx + ecx*8]
movsd qword [ebp - 0x20d40], xmm0
jmp 0x4048f1
movsx ecx, word [ebp - 0x20d28]
movsx edx, word [ebp - 0x20d2c]
mov eax, dword [ecx*4 + 0x449fa8]
movsx ecx, word [ebp - 0x20d28]
cvtss2sd xmm0, dword [ecx*4 + 0x47b0c8]
mulsd xmm0, qword [eax + edx*8]
movsx edx, word [ebp - 0x20d28]
cvtss2sd xmm1, dword [edx*4 + 0x47b3e8]
mulsd xmm0, xmm1
movsd qword [ebp - 0x20d40], xmm0
movsx eax, word [ebp - 0x20d28]
movsx ecx, byte [eax + 0x47a4f0]
cmp ecx, 0x4d
je 0x404936
movsd xmm0, qword [ebp - 0x20d48]
addsd xmm0, qword [ebp - 0x20d40]
comisd xmm0, xmmword [ebp - 0x20d48]
jbe 0x404936
movsd xmm0, qword [ebp - 0x20d48]
addsd xmm0, qword [ebp - 0x20d40]
movsd qword [ebp - 0x20d48], xmm0
movsx edx, word [ebp - 0x20d28]
movsx eax, byte [edx + 0x47a4f0]
cmp eax, 0x58
je 0x40497f
movsd xmm0, qword [ebp - 0x20d50]
addsd xmm0, qword [ebp - 0x20d40]
movsd xmm1, qword [ebp - 0x20d50]
comisd xmm1, xmm0
jbe 0x40497f
movsd xmm0, qword [ebp - 0x20d50]
addsd xmm0, qword [ebp - 0x20d40]
movsd qword [ebp - 0x20d50], xmm0
jmp 0x4047fb
movsx ecx, word [ebp - 0x20d30]
movsd xmm0, qword [ebp - 0x20d50]
movsd qword [ecx*8 + 0x449c68], xmm0
movsx edx, word [ebp - 0x20d30]
movsd xmm0, qword [ebp - 0x20d48]
movsd qword [edx*8 + 0x449d10], xmm0
jmp 0x404756
mov dword [ebp - 0x20d70], 0
mov eax, 1
mov word [ebp - 0x20d30], ax
jmp 0x4049e3
mov cx, word [ebp - 0x20d30]
add cx, 1
mov word [ebp - 0x20d30], cx
movsx edx, word [ebp - 0x20d30]
movsx eax, word [0x47a3c4]
cmp edx, eax
jg 0x404ad4
movsx ecx, word [ebp - 0x20d30]
movsx edx, word [ecx*2 + 0x47ade0]
cmp edx, 1
je 0x404a21
movsx eax, word [ebp - 0x20d30]
movsx ecx, word [eax*2 + 0x47ade0]
cmp ecx, 0xc
jne 0x404a23
jmp 0x4049d1
cmp dword [ebp - 0x20d70], 0
jne 0x404a6b
movsx edx, word [ebp - 0x20d30]
movsd xmm0, qword [edx*8 + 0x449c68]
movsd qword [ebp - 0x20d50], xmm0
movsx eax, word [ebp - 0x20d30]
movsd xmm0, qword [eax*8 + 0x449d10]
movsd qword [ebp - 0x20d48], xmm0
mov dword [ebp - 0x20d70], 1
jmp 0x4049d1
movsx ecx, word [ebp - 0x20d30]
movsd xmm0, qword [ebp - 0x20d50]
comisd xmm0, xmmword [ecx*8 + 0x449c68]
jbe 0x404a9d
movsx edx, word [ebp - 0x20d30]
movsd xmm0, qword [edx*8 + 0x449c68]
movsd qword [ebp - 0x20d50], xmm0
movsx eax, word [ebp - 0x20d30]
movsd xmm0, qword [eax*8 + 0x449d10]
comisd xmm0, xmmword [ebp - 0x20d48]
jbe 0x404acf
movsx ecx, word [ebp - 0x20d30]
movsd xmm0, qword [ecx*8 + 0x449d10]
movsd qword [ebp - 0x20d48], xmm0
jmp 0x4049d1
movsx edx, word [0x467f74]
movsx eax, word [ebp - 0x20d2c]
add edx, eax
movsd xmm0, qword [ebp - 0x20d48]
movsd qword [edx*8 + 0x498cc0], xmm0
movsx ecx, word [0x467f74]
movsx edx, word [ebp - 0x20d2c]
add ecx, edx
movsd xmm0, qword [ebp - 0x20d50]
movsd qword [ecx*8 + 0x490978], xmm0
jmp 0x404720
movsx eax, word [0x47a3bc]
movsx ecx, word [0x47a15c]
add ecx, eax
mov word [0x47a15c], cx
movsx edx, word [0x47f320]
movsx eax, word [0x47a15c]
cmp edx, eax
jle 0x404b60
push 0x1a70
push 0x47be30
push 0x47a3c0
call fcn.00425eb0
add esp, 0xc
jmp 0x403ac3
mov ecx, 1
mov word [ebp - 0x20d28], cx
jmp 0x404b80
mov dx, word [ebp - 0x20d28]
add dx, 1
mov word [ebp - 0x20d28], dx
movsx eax, word [ebp - 0x20d28]
movsx ecx, word [0x47f320]
cmp eax, ecx
jg 0x404c30
movsx edx, word [ebp - 0x20d28]
shl edx, 4
movzx eax, byte [ebp + edx - 0x1068e]
cmp eax, 2
je 0x404bdb
movsx ecx, word [ebp - 0x20d28]
shl ecx, 4
movzx edx, byte [ebp + ecx - 0x1068e]
cmp edx, 3
je 0x404bdb
movsx eax, word [ebp - 0x20d28]
shl eax, 4
movzx ecx, byte [ebp + eax - 0x1068e]
cmp ecx, 4
jne 0x404c2b
movsx edx, word [ebp - 0x20d28]
movsd xmm0, qword [edx*8 + 0x490978]
movsd qword [ebp - 0x20d78], xmm0
movsx eax, word [ebp - 0x20d28]
movsx ecx, word [ebp - 0x20d28]
movsd xmm0, qword [eax*8 + 0x498cc0]
movsd qword [ecx*8 + 0x490978], xmm0
movsx edx, word [ebp - 0x20d28]
movsd xmm0, qword [ebp - 0x20d78]
movsd qword [edx*8 + 0x498cc0], xmm0
jmp 0x404b6e
push 0x4ccaf0
mov eax, dword [0x47a158]
push eax
push 0x4ccce0
push str._sKOMBI_UT_S__i_12__s
push 0x4cc900
call fcn.00401f00
add esp, 0x14
push 0x43c658
push 0x4cc900
call fcn.0042b546
add esp, 8
mov dword [0x46ac90], eax
mov ecx, dword [0x46ac90]
push ecx
push 1
push 0x8348
push 0x4802e8
call fcn.0042bee8
add esp, 0x10
mov edx, dword [0x46ac90]
push edx
push 1
push 0x8348
push 0x488630
call fcn.0042bee8
add esp, 0x10
mov eax, dword [0x46ac90]
push eax
push 1
push 0x8348
push 0x490978
call fcn.0042bee8
add esp, 0x10
mov ecx, dword [0x46ac90]
push ecx
push 1
push 0x8348
push 0x498cc0
call fcn.0042bee8
add esp, 0x10
cmp dword [0x46ac90], 0
je 0x404cec
mov edx, dword [0x46ac90]
push edx
call fcn.0042b45f
add esp, 4
push 0x4ccaf0
mov eax, dword [0x47a158]
push eax
push 0x43c65c
push 0x4ccce0
push 0x43c668
push 0x4cc900
call fcn.00401f00
add esp, 0x18
push 0x43c678
push 0x4cc900
call fcn.0042b546
add esp, 8
mov dword [0x46ac90], eax
mov ecx, dword [0x46ac90]
push ecx
push 1
push 0x8348
push 0x4802e8
call fcn.0042bee8
add esp, 0x10
mov edx, dword [0x46ac90]
push edx
push 1
push 0x8348
push 0x490978
call fcn.0042bee8
add esp, 0x10
cmp dword [0x46ac90], 0
je 0x404d77
mov eax, dword [0x46ac90]
push eax
call fcn.0042b45f
add esp, 4
push 0x4ccaf0
mov ecx, dword [0x47a158]
push ecx
push 0x43c67c
push 0x4ccce0
push 0x43c688
push 0x4cc900
call fcn.00401f00
add esp, 0x18
push 0x43c698
push 0x4cc900
call fcn.0042b546
add esp, 8
mov dword [0x46ac90], eax
mov edx, dword [0x46ac90]
push edx
push 1
push 0x8348
push 0x488630
call fcn.0042bee8
add esp, 0x10
mov eax, dword [0x46ac90]
push eax
push 1
push 0x8348
push 0x498cc0
call fcn.0042bee8
add esp, 0x10
cmp dword [0x46ac90], 0
je 0x404e03
mov ecx, dword [0x46ac90]
push ecx
call fcn.0042b45f
add esp, 4
mov edx, 1
mov word [0x47f62c], dx
jmp 0x404e21
mov ax, word [0x47f62c]
add ax, 1
mov word [0x47f62c], ax
movsx ecx, word [0x47f62c]
movsx edx, word [0x47f31e]
cmp ecx, edx
jg 0x404ef0
movsx eax, word [0x47f62c]
sub esp, 8
movsd xmm0, qword [eax*8 + 0x4802e8]
movsd qword [esp], xmm0
call fcn.0042c1e3
add esp, 8
fstp qword [ebp - 0x20d80]
movsd xmm0, qword [ebp - 0x20d80]
movsx ecx, word [0x47f62c]
sub esp, 8
movsd xmm1, qword [ecx*8 + 0x488630]
movsd qword [esp], xmm1
movsd qword [ebp - 0x20d90], xmm0
call fcn.0042c1e3
add esp, 8
fstp qword [ebp - 0x20d88]
movsd xmm0, qword [ebp - 0x20d88]
movsd xmm1, qword [ebp - 0x20d90]
comisd xmm0, xmm1
jbe 0x404ecb
movsx edx, word [0x47f62c]
movsx eax, word [0x47f62c]
movsd xmm0, qword [edx*8 + 0x4802e8]
movsd qword [ebp + eax*8 - 0x20d24], xmm0
jmp 0x404eeb
movsx ecx, word [0x47f62c]
movsx edx, word [0x47f62c]
movsd xmm0, qword [ecx*8 + 0x488630]
movsd qword [ebp + edx*8 - 0x20d24], xmm0
jmp 0x404e11
mov eax, 1
mov word [0x47f62c], ax
jmp 0x404f0f
mov cx, word [0x47f62c]
add cx, 1
mov word [0x47f62c], cx
movsx edx, word [0x47f62c]
movsx eax, word [0x47f320]
cmp edx, eax
jg 0x404fde
movsx ecx, word [0x47f62c]
sub esp, 8
movsd xmm0, qword [ecx*8 + 0x490978]
movsd qword [esp], xmm0
call fcn.0042c1e3
add esp, 8
fstp qword [ebp - 0x20d98]
movsd xmm0, qword [ebp - 0x20d98]
movsx edx, word [0x47f62c]
sub esp, 8
movsd xmm1, qword [edx*8 + 0x498cc0]
movsd qword [esp], xmm1
movsd qword [ebp - 0x20da8], xmm0
call fcn.0042c1e3
add esp, 8
fstp qword [ebp - 0x20da0]
movsd xmm0, qword [ebp - 0x20da0]
movsd xmm1, qword [ebp - 0x20da8]
comisd xmm0, xmm1
jbe 0x404fb9
movsx eax, word [0x47f62c]
movsx ecx, word [0x47f62c]
movsd xmm0, qword [eax*8 + 0x490978]
movsd qword [ebp + ecx*8 - 0x189dc], xmm0
jmp 0x404fd9
movsx edx, word [0x47f62c]
movsx eax, word [0x47f62c]
movsd xmm0, qword [edx*8 + 0x498cc0]
movsd qword [ebp + eax*8 - 0x189dc], xmm0
jmp 0x404efd
push 0x4ccaf0
mov ecx, dword [0x47a158]
push ecx
push 0x43c69c
push 0x4ccce0
push 0x43c6a8
push 0x4cc900
call fcn.00401f00
add esp, 0x18
push 0x43c6b8
push 0x4cc900
call fcn.0042b546
add esp, 8
mov dword [0x46ac90], eax
cmp dword [0x46ac90], 0
je 0x40506e
mov edx, dword [0x46ac90]
push edx
push 1
push 0x8348
lea eax, [ebp - 0x20d24]
push eax
call fcn.0042bee8
add esp, 0x10
mov ecx, dword [0x46ac90]
push ecx
push 1
push 0x8348
lea edx, [ebp - 0x189dc]
push edx
call fcn.0042bee8
add esp, 0x10
mov eax, dword [0x46ac90]
push eax
call fcn.0042b45f
add esp, 4
mov ecx, 1
mov word [0x47f62c], cx
jmp 0x40508e
mov dx, word [0x47f62c]
add dx, 1
mov word [0x47f62c], dx
movsx eax, word [0x47f62c]
movsx ecx, word [0x47f31e]
cmp eax, ecx
jg 0x405159
movsx edx, word [0x47f62c]
sub esp, 8
movsd xmm0, qword [edx*8 + 0x4802e8]
movsd qword [esp], xmm0
call fcn.0042c1e3
add esp, 8
fstp qword [ebp - 0x20db0]
movsd xmm0, qword [ebp - 0x20db0]
movsx eax, word [0x47f62c]
sub esp, 8
movsd xmm1, qword [eax*8 + 0x488630]
movsd qword [esp], xmm1
movsd qword [ebp - 0x20db8], xmm0
call fcn.0042c1e3
add esp, 8
fstp qword [ebp - 0x20dc0]
movsd xmm0, qword [ebp - 0x20db8]
comisd xmm0, xmmword [ebp - 0x20dc0]
jbe 0x405134
movsx ecx, word [0x47f62c]
movsx edx, word [0x47f62c]
movsd xmm0, qword [ecx*8 + 0x4802e8]
movsd qword [ebp + edx*8 - 0x20d24], xmm0
jmp 0x405154
movsx eax, word [0x47f62c]
movsx ecx, word [0x47f62c]
movsd xmm0, qword [eax*8 + 0x488630]
movsd qword [ebp + ecx*8 - 0x20d24], xmm0
jmp 0x40507c
mov edx, 1
mov word [0x47f62c], dx
jmp 0x405177
mov ax, word [0x47f62c]
add ax, 1
mov word [0x47f62c], ax
movsx ecx, word [0x47f62c]
movsx edx, word [0x47f320]
cmp ecx, edx
jg 0x405242
movsx eax, word [0x47f62c]
sub esp, 8
movsd xmm0, qword [eax*8 + 0x490978]
movsd qword [esp], xmm0
call fcn.0042c1e3
add esp, 8
fstp qword [ebp - 0x20dc8]
movsd xmm0, qword [ebp - 0x20dc8]
movsx ecx, word [0x47f62c]
sub esp, 8
movsd xmm1, qword [ecx*8 + 0x498cc0]
movsd qword [esp], xmm1
movsd qword [ebp - 0x20dd0], xmm0
call fcn.0042c1e3
add esp, 8
fstp qword [ebp - 0x20dd8]
movsd xmm0, qword [ebp - 0x20dd0]
comisd xmm0, xmmword [ebp - 0x20dd8]
jbe 0x40521d
movsx edx, word [0x47f62c]
movsx eax, word [0x47f62c]
movsd xmm0, qword [edx*8 + 0x490978]
movsd qword [ebp + eax*8 - 0x189dc], xmm0
jmp 0x40523d
movsx ecx, word [0x47f62c]
movsx edx, word [0x47f62c]
movsd xmm0, qword [ecx*8 + 0x498cc0]
movsd qword [ebp + edx*8 - 0x189dc], xmm0
jmp 0x405167
push 0x4ccaf0
mov eax, dword [0x47a158]
push eax
push str.KOMBI_UT_S
push 0x4ccce0
push 0x43c6c8
push 0x4cc900
call fcn.00401f00
add esp, 0x18
push 0x43c6d8
push 0x4cc900
call fcn.0042b546
add esp, 8
mov dword [0x46ac90], eax
mov ecx, dword [0x46ac90]
push ecx
push 1
push 0x8348
lea edx, [ebp - 0x20d24]
push edx
call fcn.0042bee8
add esp, 0x10
mov eax, dword [0x46ac90]
push eax
push 1
push 0x8348
lea ecx, [ebp - 0x189dc]
push ecx
call fcn.0042bee8
add esp, 0x10
cmp dword [0x46ac90], 0
je 0x4052d1
mov edx, dword [0x46ac90]
push edx
call fcn.0042b45f
add esp, 4
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424f84
mov esp, ebp
pop ebp
ret