Function at 0x40ae80
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x25f0
call fcn.00420ab0
mov eax, dword [0x47b040]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
xorps xmm0, xmm0
movsd qword [ebp - 0x25c0], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x25b8], xmm0
push 0x46f67c
call fcn.004022a0
add esp, 4
mov eax, 1
mov word [ebp - 0x25a8], ax
jmp 0x40aedb
mov cx, word [ebp - 0x25a8]
add cx, 1
mov word [ebp - 0x25a8], cx
movsx edx, word [ebp - 0x25a8]
movsx eax, word [0x4b1982]
cmp edx, eax
jg 0x40c0a3
movsx ecx, word [ebp - 0x25a8]
shl ecx, 9
mov dx, word [ecx + 0x49f1d6]
mov word [ebp - 0x25b0], dx
xor eax, eax
mov word [0x4ae45c], ax
mov byte [0x47c328], 0
mov byte [0x47c329], 0
mov byte [0x47c32a], 0
mov byte [0x47c32b], 0
movsx ecx, word [ebp - 0x25b0]
movsx edx, word [0x4ae45c]
sub ecx, edx
mov word [0x4b1c4c], cx
movsx eax, word [0x4b1c4c]
movsx ecx, word [0x4b1c7c]
sub ecx, 1
cmp eax, ecx
jle 0x40af6a
movsx edx, word [0x4b1c7c]
sub edx, 1
mov word [0x4b1c4c], dx
mov ax, word [0x4ae45c]
mov word [0x49bdb4], ax
mov ecx, 1
mov word [ebp - 0x259c], cx
jmp 0x40af96
mov dx, word [ebp - 0x259c]
add dx, 1
mov word [ebp - 0x259c], dx
movsx eax, word [ebp - 0x259c]
movsx ecx, word [0x4b1c6c]
cmp eax, ecx
jg 0x40b143
movsx edx, word [ebp - 0x259c]
movsx eax, word [edx*2 + 0x4ae200]
push eax
push 0x46f57c
push 0x4fefe0
call fcn.00401f10
add esp, 0xc
push 0x4fecf8
push 0x4fefe0
movsx ecx, word [ebp - 0x25a8]
push ecx
push 0x46f68c
push 0x4feee8
push str._s_s_i_s_s
push 0x4feb08
call fcn.00401f10
add esp, 0x1c
push 0x46f52c
push 0x4feb08
call fcn.0044745b
add esp, 8
mov dword [0x49ead0], eax
cmp dword [0x49ead0], 0
jne 0x40b021
jmp 0x40c0a3
push 0
movsx edx, word [0x4ae45c]
shl edx, 3
push edx
mov eax, dword [0x49ead0]
push eax
call fcn.00447c27
add esp, 0xc
mov ecx, 1
mov word [ebp - 0x2598], cx
jmp 0x40b05c
mov dx, word [ebp - 0x2598]
add dx, 1
mov word [ebp - 0x2598], dx
movsx eax, word [ebp - 0x2598]
movsx ecx, word [0x4b1c4c]
cmp eax, ecx
jg 0x40b09c
mov edx, dword [0x49ead0]
push edx
push 1
push 8
movsx eax, word [ebp - 0x259c]
movsx ecx, word [ebp - 0x2598]
mov edx, dword [eax*4 + 0x47dec0]
lea eax, [edx + ecx*8]
push eax
call fcn.0044770d
add esp, 0x10
jmp 0x40b04a
cmp dword [0x49ead0], 0
je 0x40b0b4
mov ecx, dword [0x49ead0]
push ecx
call fcn.0044716d
add esp, 4
movsx edx, word [ebp - 0x259c]
movzx eax, byte [edx + 0x47c330]
test eax, eax
jne 0x40b13e
mov ecx, 1
mov word [ebp - 0x2598], cx
jmp 0x40b0e6
mov dx, word [ebp - 0x2598]
add dx, 1
mov word [ebp - 0x2598], dx
movsx eax, word [ebp - 0x2598]
movsx ecx, word [0x4b1c4c]
cmp eax, ecx
jg 0x40b13e
movsx edx, word [ebp - 0x259c]
movsx eax, word [ebp - 0x2598]
mov ecx, dword [edx*4 + 0x47dec0]
movsx edx, word [ebp - 0x259c]
cvtss2sd xmm0, dword [edx*4 + 0x4aef74]
mulsd xmm0, qword [ecx + eax*8]
movsx eax, word [ebp - 0x259c]
movsx ecx, word [ebp - 0x2598]
mov edx, dword [eax*4 + 0x47dec0]
movsd qword [edx + ecx*8], xmm0
jmp 0x40b0d4
jmp 0x40af84
mov eax, 1
mov word [ebp - 0x259c], ax
jmp 0x40b163
mov cx, word [ebp - 0x259c]
add cx, 1
mov word [ebp - 0x259c], cx
movsx edx, word [ebp - 0x259c]
movsx eax, word [0x4b1c5c]
cmp edx, eax
jg 0x40b305
xor ecx, ecx
mov word [ebp - 0x25ac], cx
mov edx, 1
mov word [ebp - 0x25a4], dx
jmp 0x40b1a2
mov ax, word [ebp - 0x25a4]
add ax, 1
mov word [ebp - 0x25a4], ax
movsx ecx, word [ebp - 0x25a4]
movsx edx, word [0x4b1c6c]
cmp ecx, edx
jg 0x40b300
movsx eax, word [ebp - 0x25a4]
movsx ecx, byte [eax + 0x4ae590]
cmp ecx, 0x47
jne 0x40b2fb
movsx edx, word [ebp - 0x25a4]
movsx eax, word [edx*2 + 0x4aea38]
movsx ecx, word [ebp - 0x259c]
cmp eax, ecx
jne 0x40b2fb
movsx edx, word [ebp - 0x25ac]
test edx, edx
jne 0x40b255
mov ax, word [ebp - 0x25a4]
mov word [ebp - 0x25ac], ax
movsx ecx, word [ebp - 0x25a4]
movsx edx, byte [ecx + 0x4ae466]
cmp edx, 0x41
jne 0x40b237
movsx eax, word [ebp - 0x25a4]
mov byte [eax + 0x4ae590], 0x41
movsx ecx, word [ebp - 0x25a4]
mov byte [ecx + 0x4ae90e], 0x54
jmp 0x40b245
movsx edx, word [ebp - 0x25a4]
mov byte [edx + 0x4ae590], 0x51
movsx eax, word [ebp - 0x25ac]
mov byte [eax + 0x4af938], 1
jmp 0x40b263
movsx ecx, word [ebp - 0x25a4]
mov byte [ecx + 0x4af938], 0
movsx edx, word [ebp - 0x25a4]
movsx eax, word [ebp - 0x25ac]
cmp edx, eax
je 0x40b2fb
mov ecx, 1
mov word [ebp - 0x2598], cx
jmp 0x40b299
mov dx, word [ebp - 0x2598]
add dx, 1
mov word [ebp - 0x2598], dx
movsx eax, word [ebp - 0x2598]
movsx ecx, word [0x4b1c4c]
cmp eax, ecx
jg 0x40b2fb
movsx edx, word [ebp - 0x25ac]
movsx eax, word [ebp - 0x2598]
mov ecx, dword [edx*4 + 0x47dec0]
movsx edx, word [ebp - 0x25a4]
movsx esi, word [ebp - 0x2598]
mov edx, dword [edx*4 + 0x47dec0]
movsd xmm0, qword [ecx + eax*8]
addsd xmm0, qword [edx + esi*8]
movsx eax, word [ebp - 0x25ac]
movsx ecx, word [ebp - 0x2598]
mov edx, dword [eax*4 + 0x47dec0]
movsd qword [edx + ecx*8], xmm0
jmp 0x40b287
jmp 0x40b190
jmp 0x40b151
mov eax, 1
mov word [ebp - 0x259c], ax
jmp 0x40b325
mov cx, word [ebp - 0x259c]
add cx, 1
mov word [ebp - 0x259c], cx
movsx edx, word [ebp - 0x259c]
movsx eax, word [0x4b1c6c]
cmp edx, eax
jg 0x40b3ff
movsx ecx, word [ebp - 0x259c]
movsx edx, byte [ecx + 0x4ae90e]
cmp edx, 0x54
jne 0x40b3fa
mov eax, 1
mov word [ebp - 0x2598], ax
jmp 0x40b372
mov cx, word [ebp - 0x2598]
add cx, 1
mov word [ebp - 0x2598], cx
movsx edx, word [ebp - 0x2598]
movsx eax, word [0x4b1c4c]
cmp edx, eax
jg 0x40b3ef
movsx ecx, word [ebp - 0x259c]
movsx edx, word [ebp - 0x2598]
mov eax, dword [ecx*4 + 0x47dec0]
movsx ecx, word [0x49bdb4]
movsx esi, word [ebp - 0x2598]
add ecx, esi
movsd xmm0, qword [eax + edx*8]
movsd qword [ebp + ecx*8 - 0x2594], xmm0
movsx edx, word [ebp - 0x259c]
movsx eax, word [ebp - 0x2598]
mov ecx, dword [edx*4 + 0x47dec0]
movsx edx, word [0x49bdb4]
movsx esi, word [ebp - 0x2598]
add edx, esi
movsd xmm0, qword [ecx + eax*8]
movsd qword [ebp + edx*8 - 0x12cc], xmm0
jmp 0x40b360
mov byte [0x47c328], 1
jmp 0x40b3ff
jmp 0x40b313
mov eax, 1
mov word [ebp - 0x259c], ax
jmp 0x40b41f
mov cx, word [ebp - 0x259c]
add cx, 1
mov word [ebp - 0x259c], cx
movsx edx, word [ebp - 0x259c]
movsx eax, word [0x4b1c6c]
cmp edx, eax
jg 0x40b536
movsx ecx, word [ebp - 0x259c]
movsx edx, byte [ecx + 0x4ae90e]
cmp edx, 0x54
jne 0x40b531
mov eax, 1
mov word [ebp - 0x2598], ax
jmp 0x40b46c
mov cx, word [ebp - 0x2598]
add cx, 1
mov word [ebp - 0x2598], cx
movsx edx, word [ebp - 0x2598]
movsx eax, word [0x4b1c4c]
cmp edx, eax
jg 0x40b531
movsx ecx, word [ebp - 0x259c]
movsx edx, word [ebp - 0x2598]
mov eax, dword [ecx*4 + 0x47dec0]
movsd xmm0, qword [eax + edx*8]
movsd qword [0x47dcf0], xmm0
movsx ecx, word [0x49bdb4]
movsx edx, word [ebp - 0x2598]
add ecx, edx
movsd xmm0, qword [0x47dcf0]
comisd xmm0, xmmword [ebp + ecx*8 - 0x12cc]
jbe 0x40b4e8
movsx eax, word [0x49bdb4]
movsx ecx, word [ebp - 0x2598]
add eax, ecx
movsd xmm0, qword [0x47dcf0]
movsd qword [ebp + eax*8 - 0x12cc], xmm0
movsx edx, word [0x49bdb4]
movsx eax, word [ebp - 0x2598]
add edx, eax
movsd xmm0, qword [ebp + edx*8 - 0x2594]
comisd xmm0, xmmword [0x47dcf0]
jbe 0x40b52c
movsx ecx, word [0x49bdb4]
movsx edx, word [ebp - 0x2598]
add ecx, edx
movsd xmm0, qword [0x47dcf0]
movsd qword [ebp + ecx*8 - 0x2594], xmm0
jmp 0x40b45a
jmp 0x40b40d
movzx eax, byte [0x47c328]
test eax, eax
je 0x40b6e5
mov ecx, 1
mov word [ebp - 0x259c], cx
jmp 0x40b565
mov dx, word [ebp - 0x259c]
add dx, 1
mov word [ebp - 0x259c], dx
movsx eax, word [ebp - 0x259c]
movsx ecx, word [0x4b1c6c]
cmp eax, ecx
jg 0x40b6e5
movsx edx, word [ebp - 0x259c]
movsx eax, byte [edx + 0x4ae90e]
cmp eax, 0x54
jne 0x40b630
movzx ecx, byte [0x47c32b]
test ecx, ecx
jne 0x40b630
mov edx, 1
mov word [ebp - 0x2598], dx
jmp 0x40b5c1
mov ax, word [ebp - 0x2598]
add ax, 1
mov word [ebp - 0x2598], ax
movsx ecx, word [ebp - 0x2598]
movsx edx, word [0x4b1c4c]
cmp ecx, edx
jg 0x40b608
movsx eax, word [0x49bdb4]
movsx ecx, word [ebp - 0x2598]
add eax, ecx
movsx edx, word [ebp - 0x259c]
movsx ecx, word [ebp - 0x2598]
mov edx, dword [edx*4 + 0x47dec0]
movsd xmm0, qword [ebp + eax*8 - 0x12cc]
movsd qword [edx + ecx*8], xmm0
jmp 0x40b5af
mov byte [0x47c32b], 1
movsx eax, word [ebp - 0x259c]
mov byte [eax + 0x4ae590], 0x58
movsx ecx, word [ebp - 0x259c]
mov byte [ecx + 0x4af938], 1
jmp 0x40b553
movsx edx, word [ebp - 0x259c]
movsx eax, byte [edx + 0x4ae90e]
cmp eax, 0x54
jne 0x40b6e0
movzx ecx, byte [0x47c32a]
test ecx, ecx
jne 0x40b6e0
mov edx, 1
mov word [ebp - 0x2598], dx
jmp 0x40b676
mov ax, word [ebp - 0x2598]
add ax, 1
mov word [ebp - 0x2598], ax
movsx ecx, word [ebp - 0x2598]
movsx edx, word [0x4b1c4c]
cmp ecx, edx
jg 0x40b6bd
movsx eax, word [0x49bdb4]
movsx ecx, word [ebp - 0x2598]
add eax, ecx
movsx edx, word [ebp - 0x259c]
movsx ecx, word [ebp - 0x2598]
mov edx, dword [edx*4 + 0x47dec0]
movsd xmm0, qword [ebp + eax*8 - 0x2594]
movsd qword [edx + ecx*8], xmm0
jmp 0x40b664
mov byte [0x47c32a], 1
movsx eax, word [ebp - 0x259c]
mov byte [eax + 0x4ae590], 0x4d
movsx ecx, word [ebp - 0x259c]
mov byte [ecx + 0x4af938], 1
jmp 0x40b553
movsx edx, word [0x4b1c6c]
push edx
call fcn.004023d0
add esp, 4
mov eax, 1
mov word [ebp - 0x2598], ax
jmp 0x40b715
mov cx, word [ebp - 0x2598]
add cx, 1
mov word [ebp - 0x2598], cx
movsx edx, word [ebp - 0x2598]
movsx eax, word [0x4b1c4c]
cmp edx, eax
jg 0x40b761
movsx ecx, word [0x49bdb4]
movsx edx, word [ebp - 0x2598]
add ecx, edx
xorps xmm0, xmm0
movsd qword [ebp + ecx*8 - 0x2594], xmm0
movsx eax, word [0x49bdb4]
movsx ecx, word [ebp - 0x2598]
add eax, ecx
xorps xmm0, xmm0
movsd qword [ebp + eax*8 - 0x12cc], xmm0
jmp 0x40b703
mov dword [ebp - 0x25dc], 0
call fcn.00401260
mov edx, 1
mov word [ebp - 0x259c], dx
jmp 0x40b790
mov ax, word [ebp - 0x259c]
add ax, 1
mov word [ebp - 0x259c], ax
movsx ecx, word [ebp - 0x259c]
movsx edx, word [0x4b1c6c]
cmp ecx, edx
jg 0x40b9eb
movsx eax, word [ebp - 0x259c]
movsx ecx, word [eax*2 + 0x4aec8c]
cmp ecx, 1
je 0x40b7d2
movsx edx, word [ebp - 0x259c]
movsx eax, word [edx*2 + 0x4aec8c]
cmp eax, 0xc
jne 0x40b9e6
mov ecx, 1
mov word [ebp - 0x2598], cx
jmp 0x40b7f2
mov dx, word [ebp - 0x2598]
add dx, 1
mov word [ebp - 0x2598], dx
movsx eax, word [ebp - 0x2598]
movsx ecx, word [0x4b1c4c]
cmp eax, ecx
jg 0x40b9e6
movsx edx, word [ebp - 0x259c]
movsx eax, word [ebp - 0x2598]
mov ecx, dword [edx*4 + 0x47dec0]
movsx edx, word [ebp - 0x259c]
cvtss2sd xmm0, dword [edx*4 + 0x4af168]
mulsd xmm0, qword [ecx + eax*8]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x25c4], xmm0
movsx eax, word [ebp - 0x259c]
movsx ecx, word [ebp - 0x2598]
mov edx, dword [eax*4 + 0x47dec0]
movsx eax, word [ebp - 0x259c]
cvtss2sd xmm0, dword [eax*4 + 0x4af2f8]
mulsd xmm0, qword [edx + ecx*8]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x25c8], xmm0
movss xmm0, dword [ebp - 0x25c8]
comiss xmm0, dword [ebp - 0x25c4]
jbe 0x40b897
movss xmm0, dword [ebp - 0x25c4]
movss dword [ebp - 0x25cc], xmm0
jmp 0x40b8a7
movss xmm0, dword [ebp - 0x25c8]
movss dword [ebp - 0x25cc], xmm0
movss xmm0, dword [ebp - 0x25cc]
movss dword [ebp - 0x25d4], xmm0
movss xmm0, dword [ebp - 0x25c4]
comiss xmm0, dword [ebp - 0x25c8]
jbe 0x40b8da
movss xmm0, dword [ebp - 0x25c4]
movss dword [ebp - 0x25d0], xmm0
jmp 0x40b8ea
movss xmm0, dword [ebp - 0x25c8]
movss dword [ebp - 0x25d0], xmm0
movss xmm0, dword [ebp - 0x25d0]
movss dword [ebp - 0x25d8], xmm0
movsx ecx, word [ebp - 0x259c]
movsx edx, byte [ecx + 0x4ae90e]
cmp edx, 0x57
je 0x40b983
movsx eax, word [0x49bdb4]
movsx ecx, word [ebp - 0x2598]
add eax, ecx
cvtss2sd xmm0, dword [ebp - 0x25d4]
addsd xmm0, qword [ebp + eax*8 - 0x2594]
movsx edx, word [ebp - 0x2598]
movsx eax, word [0x49bdb4]
add eax, edx
movsd qword [ebp + eax*8 - 0x2594], xmm0
movsx ecx, word [0x49bdb4]
movsx edx, word [ebp - 0x2598]
add ecx, edx
cvtss2sd xmm0, dword [ebp - 0x25d8]
addsd xmm0, qword [ebp + ecx*8 - 0x12cc]
movsx eax, word [ebp - 0x2598]
movsx ecx, word [0x49bdb4]
add ecx, eax
movsd qword [ebp + ecx*8 - 0x12cc], xmm0
jmp 0x40b9e1
mov dword [ebp - 0x25dc], 1
mov edx, 0x2c
shl edx, 0
movsx eax, word [ebp - 0x259c]
movsx ecx, word [ebp - 0x2598]
mov edx, dword [edx + eax*4 + 0x49ed40]
movss xmm0, dword [ebp - 0x25d4]
movss dword [edx + ecx*4], xmm0
mov eax, 0x2c
shl eax, 0
movsx ecx, word [ebp - 0x259c]
movsx edx, word [ebp - 0x2598]
mov eax, dword [eax + ecx*4 + 0x49eea0]
movss xmm0, dword [ebp - 0x25d8]
movss dword [eax + edx*4], xmm0
jmp 0x40b7e0
jmp 0x40b77e
cmp dword [ebp - 0x25dc], 1
jne 0x40baeb
mov ecx, 1
mov word [ebp - 0x2598], cx
jmp 0x40ba18
mov dx, word [ebp - 0x2598]
add dx, 1
mov word [ebp - 0x2598], dx
movsx eax, word [ebp - 0x2598]
movsx ecx, word [0x4b1c4c]
cmp eax, ecx
jg 0x40baeb
movsx esi, word [0x49bdb4]
movsx edx, word [ebp - 0x2598]
add esi, edx
movsx eax, word [ebp - 0x2598]
push eax
movsx ecx, word [0x4b1c6c]
push ecx
push 1
push 1
call section..text
add esp, 0x10
fstp qword [ebp - 0x25e8]
movsd xmm0, qword [ebp - 0x25e8]
addsd xmm0, qword [ebp + esi*8 - 0x2594]
movsx edx, word [ebp - 0x2598]
movsx eax, word [0x49bdb4]
add eax, edx
movsd qword [ebp + eax*8 - 0x2594], xmm0
movsx esi, word [0x49bdb4]
movsx ecx, word [ebp - 0x2598]
add esi, ecx
movsx edx, word [ebp - 0x2598]
push edx
movsx eax, word [0x4b1c6c]
push eax
push 1
push 1
call fcn.00401130
add esp, 0x10
fstp qword [ebp - 0x25f0]
movsd xmm0, qword [ebp - 0x25f0]
addsd xmm0, qword [ebp + esi*8 - 0x12cc]
movsx ecx, word [ebp - 0x2598]
movsx edx, word [0x49bdb4]
add edx, ecx
movsd qword [ebp + edx*8 - 0x12cc], xmm0
jmp 0x40ba06
mov eax, 1
mov word [ebp - 0x2598], ax
jmp 0x40bb0b
mov cx, word [ebp - 0x2598]
add cx, 1
mov word [ebp - 0x2598], cx
movsx edx, word [ebp - 0x2598]
movsx eax, word [0x4b1c4c]
cmp edx, eax
jg 0x40bed9
mov ecx, 1
mov word [ebp - 0x25a0], cx
jmp 0x40bb41
mov dx, word [ebp - 0x25a0]
add dx, 1
mov word [ebp - 0x25a0], dx
movsx eax, word [ebp - 0x25a0]
movsx ecx, word [0x4ae464]
cmp eax, ecx
jg 0x40bd77
movsx edx, word [0x49bdb4]
movsx eax, word [ebp - 0x2598]
add edx, eax
movsd xmm0, qword [ebp + edx*8 - 0x2594]
movsd qword [ebp - 0x25c0], xmm0
movsx ecx, word [0x49bdb4]
movsx edx, word [ebp - 0x2598]
add ecx, edx
movsd xmm0, qword [ebp + ecx*8 - 0x12cc]
movsd qword [ebp - 0x25b8], xmm0
movsx eax, word [ebp - 0x25a0]
movsx ecx, word [eax*2 + 0x4aee80]
cmp ecx, 1
je 0x40bbc1
movsx edx, word [ebp - 0x25a0]
movsx eax, word [edx*2 + 0x4aee80]
cmp eax, 0xc
jne 0x40bbc6
jmp 0x40bb2f
mov ecx, 1
mov word [ebp - 0x259c], cx
jmp 0x40bbe6
mov dx, word [ebp - 0x259c]
add dx, 1
mov word [ebp - 0x259c], dx
movsx eax, word [ebp - 0x259c]
movsx ecx, word [0x4b1c6c]
cmp eax, ecx
jg 0x40bd42
movsx edx, word [ebp - 0x259c]
movzx eax, byte [edx + 0x4af938]
cmp eax, 1
jne 0x40bd3d
movsx ecx, word [ebp - 0x259c]
movsx edx, word [ecx*2 + 0x4aec8c]
movsx eax, word [ebp - 0x25a0]
movsx ecx, word [eax*2 + 0x4aee80]
cmp edx, ecx
jne 0x40bc69
movsx edx, word [ebp - 0x259c]
movsx eax, word [ebp - 0x2598]
mov ecx, dword [edx*4 + 0x47dec0]
movsx edx, word [ebp - 0x259c]
cvtss2sd xmm0, dword [edx*4 + 0x4af168]
mulsd xmm0, qword [ecx + eax*8]
movsd qword [0x47dcf0], xmm0
jmp 0x40bcaf
movsx eax, word [ebp - 0x259c]
movsx ecx, word [ebp - 0x2598]
mov edx, dword [eax*4 + 0x47dec0]
movsx eax, word [ebp - 0x259c]
cvtss2sd xmm0, dword [eax*4 + 0x4af168]
mulsd xmm0, qword [edx + ecx*8]
movsx ecx, word [ebp - 0x259c]
cvtss2sd xmm1, dword [ecx*4 + 0x4af488]
mulsd xmm0, xmm1
movsd qword [0x47dcf0], xmm0
movsx edx, word [ebp - 0x259c]
movsx eax, byte [edx + 0x4ae590]
cmp eax, 0x4d
je 0x40bcf4
movsd xmm0, qword [ebp - 0x25b8]
addsd xmm0, qword [0x47dcf0]
comisd xmm0, xmmword [ebp - 0x25b8]
jbe 0x40bcf4
movsd xmm0, qword [ebp - 0x25b8]
addsd xmm0, qword [0x47dcf0]
movsd qword [ebp - 0x25b8], xmm0
movsx ecx, word [ebp - 0x259c]
movsx edx, byte [ecx + 0x4ae590]
cmp edx, 0x58
je 0x40bd3d
movsd xmm0, qword [ebp - 0x25c0]
addsd xmm0, qword [0x47dcf0]
movsd xmm1, qword [ebp - 0x25c0]
comisd xmm1, xmm0
jbe 0x40bd3d
movsd xmm0, qword [ebp - 0x25c0]
addsd xmm0, qword [0x47dcf0]
movsd qword [ebp - 0x25c0], xmm0
jmp 0x40bbd4
movsx eax, word [ebp - 0x25a0]
movsd xmm0, qword [ebp - 0x25c0]
movsd qword [eax*8 + 0x47dd10], xmm0
movsx ecx, word [ebp - 0x25a0]
movsd xmm0, qword [ebp - 0x25b8]
movsd qword [ecx*8 + 0x47ddb8], xmm0
jmp 0x40bb2f
mov dword [ebp - 0x25e0], 0
mov edx, 1
mov word [ebp - 0x25a0], dx
jmp 0x40bda1
mov ax, word [ebp - 0x25a0]
add ax, 1
mov word [ebp - 0x25a0], ax
movsx ecx, word [ebp - 0x25a0]
movsx edx, word [0x4ae464]
cmp ecx, edx
jg 0x40be92
movsx eax, word [ebp - 0x25a0]
movsx ecx, word [eax*2 + 0x4aee80]
cmp ecx, 1
je 0x40bddf
movsx edx, word [ebp - 0x25a0]
movsx eax, word [edx*2 + 0x4aee80]
cmp eax, 0xc
jne 0x40bde1
jmp 0x40bd8f
cmp dword [ebp - 0x25e0], 0
jne 0x40be29
movsx ecx, word [ebp - 0x25a0]
movsd xmm0, qword [ecx*8 + 0x47dd10]
movsd qword [ebp - 0x25c0], xmm0
movsx edx, word [ebp - 0x25a0]
movsd xmm0, qword [edx*8 + 0x47ddb8]
movsd qword [ebp - 0x25b8], xmm0
mov dword [ebp - 0x25e0], 1
jmp 0x40bd8f
movsx eax, word [ebp - 0x25a0]
movsd xmm0, qword [ebp - 0x25c0]
comisd xmm0, xmmword [eax*8 + 0x47dd10]
jbe 0x40be5b
movsx ecx, word [ebp - 0x25a0]
movsd xmm0, qword [ecx*8 + 0x47dd10]
movsd qword [ebp - 0x25c0], xmm0
movsx edx, word [ebp - 0x25a0]
movsd xmm0, qword [edx*8 + 0x47ddb8]
comisd xmm0, xmmword [ebp - 0x25b8]
jbe 0x40be8d
movsx eax, word [ebp - 0x25a0]
movsd xmm0, qword [eax*8 + 0x47ddb8]
movsd qword [ebp - 0x25b8], xmm0
jmp 0x40bd8f
movsx ecx, word [0x49bdb4]
movsx edx, word [ebp - 0x2598]
add ecx, edx
movsd xmm0, qword [ebp - 0x25b8]
movsd qword [ebp + ecx*8 - 0x12cc], xmm0
movsx eax, word [0x49bdb4]
movsx ecx, word [ebp - 0x2598]
add eax, ecx
movsd xmm0, qword [ebp - 0x25c0]
movsd qword [ebp + eax*8 - 0x2594], xmm0
jmp 0x40baf9
movsx edx, word [0x4b1c4c]
movsx eax, word [0x4ae45c]
add eax, edx
mov word [0x4ae45c], ax
movsx ecx, word [ebp - 0x25b0]
movsx edx, word [0x4ae45c]
cmp ecx, edx
jle 0x40bf1d
push 0x1a70
push 0x4afed0
push 0x4ae460
call fcn.00421c60
add esp, 0xc
jmp 0x40af11
push 0x4fecf8
movsx eax, word [0x4b1c54]
push eax
movsx ecx, word [ebp - 0x25a8]
push ecx
push str.UZFS
push 0x4feee8
push str._s_s_i_i_s
push 0x4feb08
call fcn.00401f10
add esp, 0x1c
push 0x46f5a4
push 0x4feb08
call fcn.0044745b
add esp, 8
mov dword [0x49ead0], eax
cmp dword [0x49ead0], 0
je 0x40bfd1
mov edx, 1
mov word [ebp - 0x2598], dx
jmp 0x40bf8e
mov ax, word [ebp - 0x2598]
add ax, 1
mov word [ebp - 0x2598], ax
movsx ecx, word [ebp - 0x2598]
movsx edx, word [ebp - 0x25b0]
cmp ecx, edx
jg 0x40bfc3
mov eax, dword [0x49ead0]
push eax
push 1
push 8
movsx ecx, word [ebp - 0x2598]
lea edx, [ebp + ecx*8 - 0x12cc]
push edx
call fcn.00447ff0
add esp, 0x10
jmp 0x40bf7c
mov eax, dword [0x49ead0]
push eax
call fcn.0044716d
add esp, 4
push 0x4fecf8
movsx ecx, word [0x4b1c58]
push ecx
movsx edx, word [ebp - 0x25a8]
push edx
push str.UZFS
push 0x4feee8
push str._s_s_i_i_s
push 0x4feb08
call fcn.00401f10
add esp, 0x1c
push 0x46f5a4
push 0x4feb08
call fcn.0044745b
add esp, 8
mov dword [0x49ead0], eax
cmp dword [0x49ead0], 0
je 0x40c087
mov eax, 1
mov word [ebp - 0x2598], ax
jmp 0x40c042
mov cx, word [ebp - 0x2598]
add cx, 1
mov word [ebp - 0x2598], cx
movsx edx, word [ebp - 0x2598]
movsx eax, word [ebp - 0x25b0]
cmp edx, eax
jg 0x40c078
mov ecx, dword [0x49ead0]
push ecx
push 1
push 8
movsx edx, word [ebp - 0x2598]
lea eax, [ebp + edx*8 - 0x2594]
push eax
call fcn.00447ff0
add esp, 0x10
jmp 0x40c030
mov ecx, dword [0x49ead0]
push ecx
call fcn.0044716d
add esp, 4
push 0x1a70
push 0x4afed0
push 0x4ae460
call fcn.00421c60
add esp, 0xc
jmp 0x40aec9
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00420778
mov esp, ebp
pop ebp
ret