Function at 0x4061b0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x5e70
call fcn.00420ab0
mov eax, dword [0x47b040]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
xor eax, eax
mov word [ebp - 0x5e00], ax
xorps xmm0, xmm0
movsd qword [ebp - 0x5e18], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x5e10], xmm0
push str.MinMaxOf_Beams
call fcn.004022a0
add esp, 4
mov ecx, 1
mov word [ebp - 0x5e08], cx
jmp 0x406214
mov dx, word [ebp - 0x5e08]
add dx, 1
mov word [ebp - 0x5e08], dx
movsx eax, word [ebp - 0x5e08]
movsx ecx, word [0x4b1982]
cmp eax, ecx
jg 0x40803c
mov edx, 2
shl edx, 0
movsx eax, word [edx + 0x4ae200]
push eax
push 0x46f57c
push 0x4fefe0
call fcn.00401f10
add esp, 0xc
push 0x4fecf8
push 0x4fefe0
movsx ecx, word [ebp - 0x5e08]
push ecx
push 0x46f608
push 0x4feee8
push str._s_s_i_s_s
push 0x4feb08
call fcn.00401f10
add esp, 0x1c
push 0x4feb08
call fcn.00402340
add esp, 4
push 0x46f52c
push 0x4feb08
call fcn.0044745b
add esp, 8
mov dword [0x49ead0], eax
cmp dword [0x49ead0], 0
je 0x4062d0
mov edx, dword [0x49ead0]
push edx
push 1
push 2
lea eax, [ebp - 0x5e00]
push eax
call fcn.0044770d
add esp, 0x10
mov ecx, dword [0x49ead0]
push ecx
call fcn.0044716d
add esp, 4
xor edx, edx
mov word [0x4ae45c], dx
mov byte [0x47c328], 0
mov byte [0x47c329], 0
mov byte [0x47c32a], 0
mov byte [0x47c32b], 0
movsx eax, word [ebp - 0x5e00]
movsx ecx, word [0x4ae45c]
sub eax, ecx
mov word [0x4b1c4c], ax
movsx edx, word [0x4b1c4c]
movsx eax, word [0x4b1c7c]
sub eax, 1
cmp edx, eax
jle 0x406331
movsx ecx, word [0x4b1c7c]
sub ecx, 1
mov word [0x4b1c4c], cx
mov dx, word [0x4ae45c]
mov word [0x49bdb4], dx
mov eax, 1
mov word [ebp - 0x5df4], ax
jmp 0x40635f
mov cx, word [ebp - 0x5df4]
add cx, 1
mov word [ebp - 0x5df4], cx
movsx edx, word [ebp - 0x5df4]
movsx eax, word [0x4b1c6c]
cmp edx, eax
jg 0x4065c3
movsx ecx, word [ebp - 0x5df4]
movsx edx, word [ecx*2 + 0x4ae200]
push edx
push 0x46f57c
push 0x4fefe0
call fcn.00401f10
add esp, 0xc
mov eax, 1
mov word [ebp - 0x5e1c], ax
push 0x4fecf8
push 0x4fefe0
movsx ecx, word [ebp - 0x5e08]
push ecx
push 0x46f608
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
push 0x4feb08
call fcn.00402340
add esp, 4
movsx edx, word [0x4ae45c]
imul eax, edx, 3
mov word [ebp - 0x5e34], ax
push 0
movsx ecx, word [ebp - 0x5e34]
lea edx, [ecx*8 + 2]
push edx
mov eax, dword [0x49ead0]
push eax
call fcn.00447c27
add esp, 0xc
mov ecx, 1
mov word [ebp - 0x5df0], cx
jmp 0x406445
mov dx, word [ebp - 0x5df0]
add dx, 1
mov word [ebp - 0x5df0], dx
movsx eax, word [ebp - 0x5df0]
movsx ecx, word [0x4b1c4c]
cmp eax, ecx
jg 0x4064cd
mov edx, dword [0x49ead0]
push edx
push 1
push 8
lea eax, [ebp - 0x5e50]
push eax
call fcn.0044770d
add esp, 0x10
mov ecx, dword [0x49ead0]
push ecx
push 1
push 8
movsx edx, word [ebp - 0x5df4]
movsx eax, word [ebp - 0x5df0]
mov ecx, dword [edx*4 + 0x47dec0]
lea edx, [ecx + eax*8]
push edx
call fcn.0044770d
add esp, 0x10
mov eax, dword [0x49ead0]
push eax
push 1
push 8
movsx ecx, word [ebp - 0x5df4]
movsx edx, word [ebp - 0x5df0]
mov eax, dword [ecx*4 + 0x47e050]
lea ecx, [eax + edx*8]
push ecx
call fcn.0044770d
add esp, 0x10
jmp 0x406433
cmp dword [0x49ead0], 0
je 0x4064e5
mov edx, dword [0x49ead0]
push edx
call fcn.0044716d
add esp, 4
movsx eax, word [ebp - 0x5df4]
movzx ecx, byte [eax + 0x47c330]
test ecx, ecx
jne 0x4065be
mov edx, 1
mov word [ebp - 0x5df0], dx
jmp 0x40651b
mov ax, word [ebp - 0x5df0]
add ax, 1
mov word [ebp - 0x5df0], ax
movsx ecx, word [ebp - 0x5df0]
movsx edx, word [0x4b1c4c]
cmp ecx, edx
jg 0x4065be
movsx eax, word [ebp - 0x5df4]
movsx ecx, word [ebp - 0x5df0]
mov edx, dword [eax*4 + 0x47dec0]
movsx eax, word [ebp - 0x5df4]
cvtss2sd xmm0, dword [eax*4 + 0x4aef74]
mulsd xmm0, qword [edx + ecx*8]
movsx ecx, word [ebp - 0x5df4]
movsx edx, word [ebp - 0x5df0]
mov eax, dword [ecx*4 + 0x47dec0]
movsd qword [eax + edx*8], xmm0
movsx ecx, word [ebp - 0x5df4]
movsx edx, word [ebp - 0x5df0]
mov eax, dword [ecx*4 + 0x47e050]
movsx ecx, word [ebp - 0x5df4]
cvtss2sd xmm0, dword [ecx*4 + 0x4aef74]
mulsd xmm0, qword [eax + edx*8]
movsx edx, word [ebp - 0x5df4]
movsx eax, word [ebp - 0x5df0]
mov ecx, dword [edx*4 + 0x47e050]
movsd qword [ecx + eax*8], xmm0
jmp 0x406509
jmp 0x40634d
mov edx, 1
mov word [ebp - 0x5df4], dx
jmp 0x4065e3
mov ax, word [ebp - 0x5df4]
add ax, 1
mov word [ebp - 0x5df4], ax
movsx ecx, word [ebp - 0x5df4]
movsx edx, word [0x4b1c5c]
cmp ecx, edx
jg 0x4067da
xor eax, eax
mov word [ebp - 0x5e04], ax
mov ecx, 1
mov word [ebp - 0x5dfc], cx
jmp 0x406622
mov dx, word [ebp - 0x5dfc]
add dx, 1
mov word [ebp - 0x5dfc], dx
movsx eax, word [ebp - 0x5dfc]
movsx ecx, word [0x4b1c6c]
cmp eax, ecx
jg 0x4067d5
movsx edx, word [ebp - 0x5dfc]
movsx eax, byte [edx + 0x4ae590]
cmp eax, 0x47
jne 0x4067d0
movsx ecx, word [ebp - 0x5dfc]
movsx edx, word [ecx*2 + 0x4aea38]
movsx eax, word [ebp - 0x5df4]
cmp edx, eax
jne 0x4067d0
movsx ecx, word [ebp - 0x5e04]
test ecx, ecx
jne 0x4066d5
mov dx, word [ebp - 0x5dfc]
mov word [ebp - 0x5e04], dx
movsx eax, word [ebp - 0x5dfc]
movsx ecx, byte [eax + 0x4ae466]
cmp ecx, 0x41
jne 0x4066b7
movsx edx, word [ebp - 0x5dfc]
mov byte [edx + 0x4ae590], 0x41
movsx eax, word [ebp - 0x5dfc]
mov byte [eax + 0x4ae90e], 0x54
jmp 0x4066c5
movsx ecx, word [ebp - 0x5dfc]
mov byte [ecx + 0x4ae590], 0x51
movsx edx, word [ebp - 0x5e04]
mov byte [edx + 0x4af938], 1
jmp 0x4066e3
movsx eax, word [ebp - 0x5dfc]
mov byte [eax + 0x4af938], 0
movsx ecx, word [ebp - 0x5dfc]
movsx edx, word [ebp - 0x5e04]
cmp ecx, edx
je 0x4067d0
mov eax, 1
mov word [ebp - 0x5df0], ax
jmp 0x406719
mov cx, word [ebp - 0x5df0]
add cx, 1
mov word [ebp - 0x5df0], cx
movsx edx, word [ebp - 0x5df0]
movsx eax, word [0x4b1c4c]
cmp edx, eax
jg 0x4067d0
movsx ecx, word [ebp - 0x5e04]
movsx edx, word [ebp - 0x5df0]
mov eax, dword [ecx*4 + 0x47dec0]
movsx ecx, word [ebp - 0x5dfc]
movsx esi, word [ebp - 0x5df0]
mov ecx, dword [ecx*4 + 0x47dec0]
movsd xmm0, qword [eax + edx*8]
addsd xmm0, qword [ecx + esi*8]
movsx edx, word [ebp - 0x5e04]
movsx eax, word [ebp - 0x5df0]
mov ecx, dword [edx*4 + 0x47dec0]
movsd qword [ecx + eax*8], xmm0
movsx edx, word [ebp - 0x5e04]
movsx eax, word [ebp - 0x5df0]
mov ecx, dword [edx*4 + 0x47e050]
movsx edx, word [ebp - 0x5dfc]
movsx esi, word [ebp - 0x5df0]
mov edx, dword [edx*4 + 0x47e050]
movsd xmm0, qword [ecx + eax*8]
addsd xmm0, qword [edx + esi*8]
movsx eax, word [ebp - 0x5e04]
movsx ecx, word [ebp - 0x5df0]
mov edx, dword [eax*4 + 0x47e050]
movsd qword [edx + ecx*8], xmm0
jmp 0x406707
jmp 0x406610
jmp 0x4065d1
mov eax, 1
mov word [ebp - 0x5df4], ax
jmp 0x4067fa
mov cx, word [ebp - 0x5df4]
add cx, 1
mov word [ebp - 0x5df4], cx
movsx edx, word [ebp - 0x5df4]
movsx eax, word [0x4b1c6c]
cmp edx, eax
jg 0x40693e
movsx ecx, word [ebp - 0x5df4]
movsx edx, byte [ecx + 0x4ae90e]
cmp edx, 0x54
jne 0x406939
mov eax, 1
mov word [ebp - 0x5df0], ax
jmp 0x406847
mov cx, word [ebp - 0x5df0]
add cx, 1
mov word [ebp - 0x5df0], cx
movsx edx, word [ebp - 0x5df0]
movsx eax, word [0x4b1c4c]
cmp edx, eax
jg 0x40692e
movsx ecx, word [ebp - 0x5df4]
movsx edx, word [ebp - 0x5df0]
mov eax, dword [ecx*4 + 0x47dec0]
movsx ecx, word [0x49bdb4]
movsx esi, word [ebp - 0x5df0]
add ecx, esi
movsd xmm0, qword [eax + edx*8]
movsd qword [ebp + ecx*8 - 0x12cc], xmm0
movsx edx, word [ebp - 0x5df4]
movsx eax, word [ebp - 0x5df0]
mov ecx, dword [edx*4 + 0x47dec0]
movsx edx, word [0x49bdb4]
movsx esi, word [ebp - 0x5df0]
add edx, esi
movsd xmm0, qword [ecx + eax*8]
movsd qword [ebp + edx*8 - 0x385c], xmm0
movsx eax, word [ebp - 0x5df4]
movsx ecx, word [ebp - 0x5df0]
mov edx, dword [eax*4 + 0x47e050]
movsx eax, word [0x49bdb4]
movsx esi, word [ebp - 0x5df0]
add eax, esi
movsd xmm0, qword [edx + ecx*8]
movsd qword [ebp + eax*8 - 0x2594], xmm0
movsx ecx, word [ebp - 0x5df4]
movsx edx, word [ebp - 0x5df0]
mov eax, dword [ecx*4 + 0x47e050]
movsx ecx, word [0x49bdb4]
movsx esi, word [ebp - 0x5df0]
add ecx, esi
movsd xmm0, qword [eax + edx*8]
movsd qword [ebp + ecx*8 - 0x4b24], xmm0
jmp 0x406835
mov byte [0x47c328], 1
jmp 0x40693e
jmp 0x4067e8
mov edx, 1
mov word [ebp - 0x5df4], dx
jmp 0x40695e
mov ax, word [ebp - 0x5df4]
add ax, 1
mov word [ebp - 0x5df4], ax
movsx ecx, word [ebp - 0x5df4]
movsx edx, word [0x4b1c6c]
cmp ecx, edx
jg 0x406b1f
movsx eax, word [ebp - 0x5df4]
movsx ecx, byte [eax + 0x4ae90e]
cmp ecx, 0x54
jne 0x406b1a
mov edx, 1
mov word [ebp - 0x5df0], dx
jmp 0x4069ab
mov ax, word [ebp - 0x5df0]
add ax, 1
mov word [ebp - 0x5df0], ax
movsx ecx, word [ebp - 0x5df0]
movsx edx, word [0x4b1c4c]
cmp ecx, edx
jg 0x406b1a
movsx eax, word [ebp - 0x5df4]
movsx ecx, word [ebp - 0x5df0]
mov edx, dword [eax*4 + 0x47dec0]
movsd xmm0, qword [edx + ecx*8]
movsd qword [0x47dcf0], xmm0
movsx eax, word [0x49bdb4]
movsx ecx, word [ebp - 0x5df0]
add eax, ecx
movsd xmm0, qword [0x47dcf0]
comisd xmm0, xmmword [ebp + eax*8 - 0x385c]
jbe 0x406a27
movsx edx, word [0x49bdb4]
movsx eax, word [ebp - 0x5df0]
add edx, eax
movsd xmm0, qword [0x47dcf0]
movsd qword [ebp + edx*8 - 0x385c], xmm0
movsx ecx, word [0x49bdb4]
movsx edx, word [ebp - 0x5df0]
add ecx, edx
movsd xmm0, qword [ebp + ecx*8 - 0x12cc]
comisd xmm0, xmmword [0x47dcf0]
jbe 0x406a6b
movsx eax, word [0x49bdb4]
movsx ecx, word [ebp - 0x5df0]
add eax, ecx
movsd xmm0, qword [0x47dcf0]
movsd qword [ebp + eax*8 - 0x12cc], xmm0
movsx edx, word [ebp - 0x5df4]
movsx eax, word [ebp - 0x5df0]
mov ecx, dword [edx*4 + 0x47e050]
movsd xmm0, qword [ecx + eax*8]
movsd qword [0x47dcf0], xmm0
movsx edx, word [0x49bdb4]
movsx eax, word [ebp - 0x5df0]
add edx, eax
movsd xmm0, qword [0x47dcf0]
comisd xmm0, xmmword [ebp + edx*8 - 0x4b24]
jbe 0x406ad1
movsx ecx, word [0x49bdb4]
movsx edx, word [ebp - 0x5df0]
add ecx, edx
movsd xmm0, qword [0x47dcf0]
movsd qword [ebp + ecx*8 - 0x4b24], xmm0
movsx eax, word [0x49bdb4]
movsx ecx, word [ebp - 0x5df0]
add eax, ecx
movsd xmm0, qword [ebp + eax*8 - 0x2594]
comisd xmm0, xmmword [0x47dcf0]
jbe 0x406b15
movsx edx, word [0x49bdb4]
movsx eax, word [ebp - 0x5df0]
add edx, eax
movsd xmm0, qword [0x47dcf0]
movsd qword [ebp + edx*8 - 0x2594], xmm0
jmp 0x406999
jmp 0x40694c
movzx ecx, byte [0x47c328]
test ecx, ecx
je 0x406d9c
mov edx, 1
mov word [ebp - 0x5df4], dx
jmp 0x406b4e
mov ax, word [ebp - 0x5df4]
add ax, 1
mov word [ebp - 0x5df4], ax
movsx ecx, word [ebp - 0x5df4]
movsx edx, word [0x4b1c6c]
cmp ecx, edx
jg 0x406d9c
movsx eax, word [ebp - 0x5df4]
movsx ecx, byte [eax + 0x4ae90e]
cmp ecx, 0x54
jne 0x406c80
movzx edx, byte [0x47c32b]
test edx, edx
jne 0x406c80
mov eax, 1
mov word [ebp - 0x5df0], ax
jmp 0x406baa
mov cx, word [ebp - 0x5df0]
add cx, 1
mov word [ebp - 0x5df0], cx
movsx edx, word [ebp - 0x5df0]
movsx eax, word [0x4b1c4c]
cmp edx, eax
jg 0x406bf1
movsx ecx, word [0x49bdb4]
movsx edx, word [ebp - 0x5df0]
add ecx, edx
movsx eax, word [ebp - 0x5df4]
movsx edx, word [ebp - 0x5df0]
mov eax, dword [eax*4 + 0x47dec0]
movsd xmm0, qword [ebp + ecx*8 - 0x385c]
movsd qword [eax + edx*8], xmm0
jmp 0x406b98
mov ecx, 1
mov word [ebp - 0x5df0], cx
jmp 0x406c11
mov dx, word [ebp - 0x5df0]
add dx, 1
mov word [ebp - 0x5df0], dx
movsx eax, word [ebp - 0x5df0]
movsx ecx, word [0x4b1c4c]
cmp eax, ecx
jg 0x406c58
movsx edx, word [0x49bdb4]
movsx eax, word [ebp - 0x5df0]
add edx, eax
movsx ecx, word [ebp - 0x5df4]
movsx eax, word [ebp - 0x5df0]
mov ecx, dword [ecx*4 + 0x47e050]
movsd xmm0, qword [ebp + edx*8 - 0x4b24]
movsd qword [ecx + eax*8], xmm0
jmp 0x406bff
mov byte [0x47c32b], 1
movsx edx, word [ebp - 0x5df4]
mov byte [edx + 0x4ae590], 0x58
movsx eax, word [ebp - 0x5df4]
mov byte [eax + 0x4af938], 1
jmp 0x406b3c
movsx ecx, word [ebp - 0x5df4]
movsx edx, byte [ecx + 0x4ae90e]
cmp edx, 0x54
jne 0x406d97
movzx eax, byte [0x47c32a]
test eax, eax
jne 0x406d97
mov ecx, 1
mov word [ebp - 0x5df0], cx
jmp 0x406cc6
mov dx, word [ebp - 0x5df0]
add dx, 1
mov word [ebp - 0x5df0], dx
movsx eax, word [ebp - 0x5df0]
movsx ecx, word [0x4b1c4c]
cmp eax, ecx
jg 0x406d0d
movsx edx, word [0x49bdb4]
movsx eax, word [ebp - 0x5df0]
add edx, eax
movsx ecx, word [ebp - 0x5df4]
movsx eax, word [ebp - 0x5df0]
mov ecx, dword [ecx*4 + 0x47dec0]
movsd xmm0, qword [ebp + edx*8 - 0x12cc]
movsd qword [ecx + eax*8], xmm0
jmp 0x406cb4
mov edx, 1
mov word [ebp - 0x5df0], dx
jmp 0x406d2d
mov ax, word [ebp - 0x5df0]
add ax, 1
mov word [ebp - 0x5df0], ax
movsx ecx, word [ebp - 0x5df0]
movsx edx, word [0x4b1c4c]
cmp ecx, edx
jg 0x406d74
movsx eax, word [0x49bdb4]
movsx ecx, word [ebp - 0x5df0]
add eax, ecx
movsx edx, word [ebp - 0x5df4]
movsx ecx, word [ebp - 0x5df0]
mov edx, dword [edx*4 + 0x47e050]
movsd xmm0, qword [ebp + eax*8 - 0x2594]
movsd qword [edx + ecx*8], xmm0
jmp 0x406d1b
mov byte [0x47c32a], 1
movsx eax, word [ebp - 0x5df4]
mov byte [eax + 0x4ae590], 0x4d
movsx ecx, word [ebp - 0x5df4]
mov byte [ecx + 0x4af938], 1
jmp 0x406b3c
movsx edx, word [0x4b1c6c]
push edx
call fcn.004023d0
add esp, 4
mov eax, 1
mov word [ebp - 0x5df0], ax
jmp 0x406dcc
mov cx, word [ebp - 0x5df0]
add cx, 1
mov word [ebp - 0x5df0], cx
movsx edx, word [ebp - 0x5df0]
movsx eax, word [0x4b1c4c]
cmp edx, eax
jg 0x406e53
movsx ecx, word [0x49bdb4]
movsx edx, word [ebp - 0x5df0]
add ecx, edx
xorps xmm0, xmm0
movsd qword [ebp + ecx*8 - 0x12cc], xmm0
movsx eax, word [0x49bdb4]
movsx ecx, word [ebp - 0x5df0]
add eax, ecx
xorps xmm0, xmm0
movsd qword [ebp + eax*8 - 0x385c], xmm0
movsx edx, word [0x49bdb4]
movsx eax, word [ebp - 0x5df0]
add edx, eax
xorps xmm0, xmm0
movsd qword [ebp + edx*8 - 0x2594], xmm0
movsx ecx, word [0x49bdb4]
movsx edx, word [ebp - 0x5df0]
add ecx, edx
xorps xmm0, xmm0
movsd qword [ebp + ecx*8 - 0x4b24], xmm0
jmp 0x406dba
mov dword [ebp - 0x5e38], 0
call fcn.00401260
mov eax, 1
mov word [ebp - 0x5df4], ax
jmp 0x406e82
mov cx, word [ebp - 0x5df4]
add cx, 1
mov word [ebp - 0x5df4], cx
movsx edx, word [ebp - 0x5df4]
movsx eax, word [0x4b1c6c]
cmp edx, eax
jg 0x4072b4
movsx ecx, word [ebp - 0x5df4]
movsx edx, word [ecx*2 + 0x4aec8c]
cmp edx, 1
je 0x406ec4
movsx eax, word [ebp - 0x5df4]
movsx ecx, word [eax*2 + 0x4aec8c]
cmp ecx, 0xc
jne 0x4072af
mov edx, 1
mov word [ebp - 0x5df0], dx
jmp 0x406ee4
mov ax, word [ebp - 0x5df0]
add ax, 1
mov word [ebp - 0x5df0], ax
movsx ecx, word [ebp - 0x5df0]
movsx edx, word [0x4b1c4c]
cmp ecx, edx
jg 0x4072af
movsx eax, word [ebp - 0x5df4]
movsx ecx, word [ebp - 0x5df0]
mov edx, dword [eax*4 + 0x47dec0]
movsx eax, word [ebp - 0x5df4]
cvtss2sd xmm0, dword [eax*4 + 0x4af168]
mulsd xmm0, qword [edx + ecx*8]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x5e20], xmm0
movsx ecx, word [ebp - 0x5df4]
movsx edx, word [ebp - 0x5df0]
mov eax, dword [ecx*4 + 0x47dec0]
movsx ecx, word [ebp - 0x5df4]
cvtss2sd xmm0, dword [ecx*4 + 0x4af2f8]
mulsd xmm0, qword [eax + edx*8]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x5e24], xmm0
movss xmm0, dword [ebp - 0x5e24]
comiss xmm0, dword [ebp - 0x5e20]
jbe 0x406f89
movss xmm0, dword [ebp - 0x5e20]
movss dword [ebp - 0x5e3c], xmm0
jmp 0x406f99
movss xmm0, dword [ebp - 0x5e24]
movss dword [ebp - 0x5e3c], xmm0
movss xmm0, dword [ebp - 0x5e3c]
movss dword [ebp - 0x5e28], xmm0
movss xmm0, dword [ebp - 0x5e20]
comiss xmm0, dword [ebp - 0x5e24]
jbe 0x406fcc
movss xmm0, dword [ebp - 0x5e20]
movss dword [ebp - 0x5e40], xmm0
jmp 0x406fdc
movss xmm0, dword [ebp - 0x5e24]
movss dword [ebp - 0x5e40], xmm0
movss xmm0, dword [ebp - 0x5e40]
movss dword [ebp - 0x5e2c], xmm0
movsx edx, word [ebp - 0x5df4]
movsx eax, byte [edx + 0x4ae90e]
cmp eax, 0x57
je 0x407075
movsx ecx, word [0x49bdb4]
movsx edx, word [ebp - 0x5df0]
add ecx, edx
cvtss2sd xmm0, dword [ebp - 0x5e28]
addsd xmm0, qword [ebp + ecx*8 - 0x12cc]
movsx eax, word [ebp - 0x5df0]
movsx ecx, word [0x49bdb4]
add ecx, eax
movsd qword [ebp + ecx*8 - 0x12cc], xmm0
movsx edx, word [0x49bdb4]
movsx eax, word [ebp - 0x5df0]
add edx, eax
cvtss2sd xmm0, dword [ebp - 0x5e2c]
addsd xmm0, qword [ebp + edx*8 - 0x385c]
movsx ecx, word [ebp - 0x5df0]
movsx edx, word [0x49bdb4]
add edx, ecx
movsd qword [ebp + edx*8 - 0x385c], xmm0
jmp 0x4070d3
mov dword [ebp - 0x5e38], 1
mov eax, 0x2c
shl eax, 0
movsx ecx, word [ebp - 0x5df4]
movsx edx, word [ebp - 0x5df0]
mov eax, dword [eax + ecx*4 + 0x49ed40]
movss xmm0, dword [ebp - 0x5e28]
movss dword [eax + edx*4], xmm0
mov ecx, 0x2c
shl ecx, 0
movsx edx, word [ebp - 0x5df4]
movsx eax, word [ebp - 0x5df0]
mov ecx, dword [ecx + edx*4 + 0x49eea0]
movss xmm0, dword [ebp - 0x5e2c]
movss dword [ecx + eax*4], xmm0
movsx edx, word [ebp - 0x5df4]
movsx eax, word [ebp - 0x5df0]
mov ecx, dword [edx*4 + 0x47e050]
movsx edx, word [ebp - 0x5df4]
cvtss2sd xmm0, dword [edx*4 + 0x4af168]
mulsd xmm0, qword [ecx + eax*8]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x5e20], xmm0
movsx eax, word [ebp - 0x5df4]
movsx ecx, word [ebp - 0x5df0]
mov edx, dword [eax*4 + 0x47e050]
movsx eax, word [ebp - 0x5df4]
cvtss2sd xmm0, dword [eax*4 + 0x4af2f8]
mulsd xmm0, qword [edx + ecx*8]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x5e24], xmm0
movss xmm0, dword [ebp - 0x5e24]
comiss xmm0, dword [ebp - 0x5e20]
jbe 0x407162
movss xmm0, dword [ebp - 0x5e20]
movss dword [ebp - 0x5e44], xmm0
jmp 0x407172
movss xmm0, dword [ebp - 0x5e24]
movss dword [ebp - 0x5e44], xmm0
movss xmm0, dword [ebp - 0x5e44]
movss dword [ebp - 0x5e28], xmm0
movss xmm0, dword [ebp - 0x5e20]
comiss xmm0, dword [ebp - 0x5e24]
jbe 0x4071a5
movss xmm0, dword [ebp - 0x5e20]
movss dword [ebp - 0x5e48], xmm0
jmp 0x4071b5
movss xmm0, dword [ebp - 0x5e24]
movss dword [ebp - 0x5e48], xmm0
movss xmm0, dword [ebp - 0x5e48]
movss dword [ebp - 0x5e2c], xmm0
movsx ecx, word [ebp - 0x5df4]
movsx edx, byte [ecx + 0x4ae90e]
cmp edx, 0x57
je 0x40724e
movsx eax, word [0x49bdb4]
movsx ecx, word [ebp - 0x5df0]
add eax, ecx
cvtss2sd xmm0, dword [ebp - 0x5e28]
addsd xmm0, qword [ebp + eax*8 - 0x2594]
movsx edx, word [ebp - 0x5df0]
movsx eax, word [0x49bdb4]
add eax, edx
movsd qword [ebp + eax*8 - 0x2594], xmm0
movsx ecx, word [0x49bdb4]
movsx edx, word [ebp - 0x5df0]
add ecx, edx
cvtss2sd xmm0, dword [ebp - 0x5e2c]
addsd xmm0, qword [ebp + ecx*8 - 0x4b24]
movsx eax, word [ebp - 0x5df0]
movsx ecx, word [0x49bdb4]
add ecx, eax
movsd qword [ebp + ecx*8 - 0x4b24], xmm0
jmp 0x4072aa
mov dword [ebp - 0x5e38], 1
mov edx, 0x2c
shl edx, 1
movsx eax, word [ebp - 0x5df4]
movsx ecx, word [ebp - 0x5df0]
mov edx, dword [edx + eax*4 + 0x49ed40]
movss xmm0, dword [ebp - 0x5e28]
movss dword [edx + ecx*4], xmm0
mov eax, 0x2c
shl eax, 1
movsx ecx, word [ebp - 0x5df4]
movsx edx, word [ebp - 0x5df0]
mov eax, dword [eax + ecx*4 + 0x49eea0]
movss xmm0, dword [ebp - 0x5e2c]
movss dword [eax + edx*4], xmm0
jmp 0x406ed2
jmp 0x406e70
cmp dword [ebp - 0x5e38], 1
jne 0x4074a7
mov ecx, 1
mov word [ebp - 0x5df0], cx
jmp 0x4072e1
mov dx, word [ebp - 0x5df0]
add dx, 1
mov word [ebp - 0x5df0], dx
movsx eax, word [ebp - 0x5df0]
movsx ecx, word [0x4b1c4c]
cmp eax, ecx
jg 0x4073b4
movsx esi, word [0x49bdb4]
movsx edx, word [ebp - 0x5df0]
add esi, edx
movsx eax, word [ebp - 0x5df0]
push eax
movsx ecx, word [0x4b1c6c]
push ecx
push 1
push 1
call section..text
add esp, 0x10
fstp qword [ebp - 0x5e58]
movsd xmm0, qword [ebp - 0x5e58]
addsd xmm0, qword [ebp + esi*8 - 0x12cc]
movsx edx, word [ebp - 0x5df0]
movsx eax, word [0x49bdb4]
add eax, edx
movsd qword [ebp + eax*8 - 0x12cc], xmm0
movsx esi, word [0x49bdb4]
movsx ecx, word [ebp - 0x5df0]
add esi, ecx
movsx edx, word [ebp - 0x5df0]
push edx
movsx eax, word [0x4b1c6c]
push eax
push 1
push 1
call fcn.00401130
add esp, 0x10
fstp qword [ebp - 0x5e60]
movsd xmm0, qword [ebp - 0x5e60]
addsd xmm0, qword [ebp + esi*8 - 0x385c]
movsx ecx, word [ebp - 0x5df0]
movsx edx, word [0x49bdb4]
add edx, ecx
movsd qword [ebp + edx*8 - 0x385c], xmm0
jmp 0x4072cf
mov eax, 1
mov word [ebp - 0x5df0], ax
jmp 0x4073d4
mov cx, word [ebp - 0x5df0]
add cx, 1
mov word [ebp - 0x5df0], cx
movsx edx, word [ebp - 0x5df0]
movsx eax, word [0x4b1c4c]
cmp edx, eax
jg 0x4074a7
movsx esi, word [0x49bdb4]
movsx ecx, word [ebp - 0x5df0]
add esi, ecx
movsx edx, word [ebp - 0x5df0]
push edx
movsx eax, word [0x4b1c6c]
push eax
push 2
push 2
call section..text
add esp, 0x10
fstp qword [ebp - 0x5e68]
movsd xmm0, qword [ebp - 0x5e68]
addsd xmm0, qword [ebp + esi*8 - 0x2594]
movsx ecx, word [ebp - 0x5df0]
movsx edx, word [0x49bdb4]
add edx, ecx
movsd qword [ebp + edx*8 - 0x2594], xmm0
movsx esi, word [0x49bdb4]
movsx eax, word [ebp - 0x5df0]
add esi, eax
movsx ecx, word [ebp - 0x5df0]
push ecx
movsx edx, word [0x4b1c6c]
push edx
push 2
push 2
call fcn.00401130
add esp, 0x10
fstp qword [ebp - 0x5e70]
movsd xmm0, qword [ebp - 0x5e70]
addsd xmm0, qword [ebp + esi*8 - 0x4b24]
movsx eax, word [ebp - 0x5df0]
movsx ecx, word [0x49bdb4]
add ecx, eax
movsd qword [ebp + ecx*8 - 0x4b24], xmm0
jmp 0x4073c2
mov edx, 1
mov word [ebp - 0x5df0], dx
jmp 0x4074c7
mov ax, word [ebp - 0x5df0]
add ax, 1
mov word [ebp - 0x5df0], ax
movsx ecx, word [ebp - 0x5df0]
movsx edx, word [0x4b1c4c]
cmp ecx, edx
jg 0x407895
mov eax, 1
mov word [ebp - 0x5df8], ax
jmp 0x4074fd
mov cx, word [ebp - 0x5df8]
add cx, 1
mov word [ebp - 0x5df8], cx
movsx edx, word [ebp - 0x5df8]
movsx eax, word [0x4ae464]
cmp edx, eax
jg 0x407733
movsx ecx, word [0x49bdb4]
movsx edx, word [ebp - 0x5df0]
add ecx, edx
movsd xmm0, qword [ebp + ecx*8 - 0x12cc]
movsd qword [ebp - 0x5e18], xmm0
movsx eax, word [0x49bdb4]
movsx ecx, word [ebp - 0x5df0]
add eax, ecx
movsd xmm0, qword [ebp + eax*8 - 0x385c]
movsd qword [ebp - 0x5e10], xmm0
movsx edx, word [ebp - 0x5df8]
movsx eax, word [edx*2 + 0x4aee80]
cmp eax, 1
je 0x40757d
movsx ecx, word [ebp - 0x5df8]
movsx edx, word [ecx*2 + 0x4aee80]
cmp edx, 0xc
jne 0x407582
jmp 0x4074eb
mov eax, 1
mov word [ebp - 0x5df4], ax
jmp 0x4075a2
mov cx, word [ebp - 0x5df4]
add cx, 1
mov word [ebp - 0x5df4], cx
movsx edx, word [ebp - 0x5df4]
movsx eax, word [0x4b1c6c]
cmp edx, eax
jg 0x4076fe
movsx ecx, word [ebp - 0x5df4]
movzx edx, byte [ecx + 0x4af938]
cmp edx, 1
jne 0x4076f9
movsx eax, word [ebp - 0x5df4]
movsx ecx, word [eax*2 + 0x4aec8c]
movsx edx, word [ebp - 0x5df8]
movsx eax, word [edx*2 + 0x4aee80]
cmp ecx, eax
jne 0x407625
movsx ecx, word [ebp - 0x5df4]
movsx edx, word [ebp - 0x5df0]
mov eax, dword [ecx*4 + 0x47dec0]
movsx ecx, word [ebp - 0x5df4]
cvtss2sd xmm0, dword [ecx*4 + 0x4af168]
mulsd xmm0, qword [eax + edx*8]
movsd qword [0x47dcf0], xmm0
jmp 0x40766b
movsx edx, word [ebp - 0x5df4]
movsx eax, word [ebp - 0x5df0]
mov ecx, dword [edx*4 + 0x47dec0]
movsx edx, word [ebp - 0x5df4]
cvtss2sd xmm0, dword [edx*4 + 0x4af168]
mulsd xmm0, qword [ecx + eax*8]
movsx eax, word [ebp - 0x5df4]
cvtss2sd xmm1, dword [eax*4 + 0x4af488]
mulsd xmm0, xmm1
movsd qword [0x47dcf0], xmm0
movsx ecx, word [ebp - 0x5df4]
movsx edx, byte [ecx + 0x4ae590]
cmp edx, 0x4d
je 0x4076b0
movsd xmm0, qword [ebp - 0x5e10]
addsd xmm0, qword [0x47dcf0]
comisd xmm0, xmmword [ebp - 0x5e10]
jbe 0x4076b0
movsd xmm0, qword [ebp - 0x5e10]
addsd xmm0, qword [0x47dcf0]
movsd qword [ebp - 0x5e10], xmm0
movsx eax, word [ebp - 0x5df4]
movsx ecx, byte [eax + 0x4ae590]
cmp ecx, 0x58
je 0x4076f9
movsd xmm0, qword [ebp - 0x5e18]
addsd xmm0, qword [0x47dcf0]
movsd xmm1, qword [ebp - 0x5e18]
comisd xmm1, xmm0
jbe 0x4076f9
movsd xmm0, qword [ebp - 0x5e18]
addsd xmm0, qword [0x47dcf0]
movsd qword [ebp - 0x5e18], xmm0
jmp 0x407590
movsx edx, word [ebp - 0x5df8]
movsd xmm0, qword [ebp - 0x5e18]
movsd qword [edx*8 + 0x47dd10], xmm0
movsx eax, word [ebp - 0x5df8]
movsd xmm0, qword [ebp - 0x5e10]
movsd qword [eax*8 + 0x47ddb8], xmm0
jmp 0x4074eb
mov dword [ebp - 0x5e30], 0
mov ecx, 1
mov word [ebp - 0x5df8], cx
jmp 0x40775d
mov dx, word [ebp - 0x5df8]
add dx, 1
mov word [ebp - 0x5df8], dx
movsx eax, word [ebp - 0x5df8]
movsx ecx, word [0x4ae464]
cmp eax, ecx
jg 0x40784e
movsx edx, word [ebp - 0x5df8]
movsx eax, word [edx*2 + 0x4aee80]
cmp eax, 1
je 0x40779b
movsx ecx, word [ebp - 0x5df8]
movsx edx, word [ecx*2 + 0x4aee80]
cmp edx, 0xc
jne 0x40779d
jmp 0x40774b
cmp dword [ebp - 0x5e30], 0
jne 0x4077e5
movsx eax, word [ebp - 0x5df8]
movsd xmm0, qword [eax*8 + 0x47dd10]
movsd qword [ebp - 0x5e18], xmm0
movsx ecx, word [ebp - 0x5df8]
movsd xmm0, qword [ecx*8 + 0x47ddb8]
movsd qword [ebp - 0x5e10], xmm0
mov dword [ebp - 0x5e30], 1
jmp 0x40774b
movsx edx, word [ebp - 0x5df8]
movsd xmm0, qword [ebp - 0x5e18]
comisd xmm0, xmmword [edx*8 + 0x47dd10]
jbe 0x407817
movsx eax, word [ebp - 0x5df8]
movsd xmm0, qword [eax*8 + 0x47dd10]
movsd qword [ebp - 0x5e18], xmm0
movsx ecx, word [ebp - 0x5df8]
movsd xmm0, qword [ecx*8 + 0x47ddb8]
comisd xmm0, xmmword [ebp - 0x5e10]
jbe 0x407849
movsx edx, word [ebp - 0x5df8]
movsd xmm0, qword [edx*8 + 0x47ddb8]
movsd qword [ebp - 0x5e10], xmm0
jmp 0x40774b
movsx eax, word [0x49bdb4]
movsx ecx, word [ebp - 0x5df0]
add eax, ecx
movsd xmm0, qword [ebp - 0x5e10]
movsd qword [ebp + eax*8 - 0x385c], xmm0
movsx edx, word [0x49bdb4]
movsx eax, word [ebp - 0x5df0]
add edx, eax
movsd xmm0, qword [ebp - 0x5e18]
movsd qword [ebp + edx*8 - 0x12cc], xmm0
jmp 0x4074b5
mov ecx, 1
mov word [ebp - 0x5df0], cx
jmp 0x4078b5
mov dx, word [ebp - 0x5df0]
add dx, 1
mov word [ebp - 0x5df0], dx
movsx eax, word [ebp - 0x5df0]
movsx ecx, word [0x4b1c4c]
cmp eax, ecx
jg 0x407c83
mov edx, 1
mov word [ebp - 0x5df8], dx
jmp 0x4078eb
mov ax, word [ebp - 0x5df8]
add ax, 1
mov word [ebp - 0x5df8], ax
movsx ecx, word [ebp - 0x5df8]
movsx edx, word [0x4ae464]
cmp ecx, edx
jg 0x407b21
movsx eax, word [0x49bdb4]
movsx ecx, word [ebp - 0x5df0]
add eax, ecx
movsd xmm0, qword [ebp + eax*8 - 0x2594]
movsd qword [ebp - 0x5e18], xmm0
movsx edx, word [0x49bdb4]
movsx eax, word [ebp - 0x5df0]
add edx, eax
movsd xmm0, qword [ebp + edx*8 - 0x4b24]
movsd qword [ebp - 0x5e10], xmm0
movsx ecx, word [ebp - 0x5df8]
movsx edx, word [ecx*2 + 0x4aee80]
cmp edx, 1
je 0x40796b
movsx eax, word [ebp - 0x5df8]
movsx ecx, word [eax*2 + 0x4aee80]
cmp ecx, 0xc
jne 0x407970
jmp 0x4078d9
mov edx, 1
mov word [ebp - 0x5df4], dx
jmp 0x407990
mov ax, word [ebp - 0x5df4]
add ax, 1
mov word [ebp - 0x5df4], ax
movsx ecx, word [ebp - 0x5df4]
movsx edx, word [0x4b1c6c]
cmp ecx, edx
jg 0x407aec
movsx eax, word [ebp - 0x5df4]
movzx ecx, byte [eax + 0x4af938]
cmp ecx, 1
jne 0x407ae7
movsx edx, word [ebp - 0x5df4]
movsx eax, word [edx*2 + 0x4aec8c]
movsx ecx, word [ebp - 0x5df8]
movsx edx, word [ecx*2 + 0x4aee80]
cmp eax, edx
jne 0x407a13
movsx eax, word [ebp - 0x5df4]
movsx ecx, word [ebp - 0x5df0]
mov edx, dword [eax*4 + 0x47e050]
movsx eax, word [ebp - 0x5df4]
cvtss2sd xmm0, dword [eax*4 + 0x4af168]
mulsd xmm0, qword [edx + ecx*8]
movsd qword [0x47dcf0], xmm0
jmp 0x407a59
movsx ecx, word [ebp - 0x5df4]
movsx edx, word [ebp - 0x5df0]
mov eax, dword [ecx*4 + 0x47e050]
movsx ecx, word [ebp - 0x5df4]
cvtss2sd xmm0, dword [ecx*4 + 0x4af168]
mulsd xmm0, qword [eax + edx*8]
movsx edx, word [ebp - 0x5df4]
cvtss2sd xmm1, dword [edx*4 + 0x4af488]
mulsd xmm0, xmm1
movsd qword [0x47dcf0], xmm0
movsx eax, word [ebp - 0x5df4]
movsx ecx, byte [eax + 0x4ae590]
cmp ecx, 0x4d
je 0x407a9e
movsd xmm0, qword [ebp - 0x5e10]
addsd xmm0, qword [0x47dcf0]
comisd xmm0, xmmword [ebp - 0x5e10]
jbe 0x407a9e
movsd xmm0, qword [ebp - 0x5e10]
addsd xmm0, qword [0x47dcf0]
movsd qword [ebp - 0x5e10], xmm0
movsx edx, word [ebp - 0x5df4]
movsx eax, byte [edx + 0x4ae590]
cmp eax, 0x58
je 0x407ae7
movsd xmm0, qword [ebp - 0x5e18]
addsd xmm0, qword [0x47dcf0]
movsd xmm1, qword [ebp - 0x5e18]
comisd xmm1, xmm0
jbe 0x407ae7
movsd xmm0, qword [ebp - 0x5e18]
addsd xmm0, qword [0x47dcf0]
movsd qword [ebp - 0x5e18], xmm0
jmp 0x40797e
movsx ecx, word [ebp - 0x5df8]
movsd xmm0, qword [ebp - 0x5e18]
movsd qword [ecx*8 + 0x47dd10], xmm0
movsx edx, word [ebp - 0x5df8]
movsd xmm0, qword [ebp - 0x5e10]
movsd qword [edx*8 + 0x47ddb8], xmm0
jmp 0x4078d9
mov dword [ebp - 0x5e30], 0
mov eax, 1
mov word [ebp - 0x5df8], ax
jmp 0x407b4b
mov cx, word [ebp - 0x5df8]
add cx, 1
mov word [ebp - 0x5df8], cx
movsx edx, word [ebp - 0x5df8]
movsx eax, word [0x4ae464]
cmp edx, eax
jg 0x407c3c
movsx ecx, word [ebp - 0x5df8]
movsx edx, word [ecx*2 + 0x4aee80]
cmp edx, 1
je 0x407b89
movsx eax, word [ebp - 0x5df8]
movsx ecx, word [eax*2 + 0x4aee80]
cmp ecx, 0xc
jne 0x407b8b
jmp 0x407b39
cmp dword [ebp - 0x5e30], 0
jne 0x407bd3
movsx edx, word [ebp - 0x5df8]
movsd xmm0, qword [edx*8 + 0x47dd10]
movsd qword [ebp - 0x5e18], xmm0
movsx eax, word [ebp - 0x5df8]
movsd xmm0, qword [eax*8 + 0x47ddb8]
movsd qword [ebp - 0x5e10], xmm0
mov dword [ebp - 0x5e30], 1
jmp 0x407b39
movsx ecx, word [ebp - 0x5df8]
movsd xmm0, qword [ebp - 0x5e18]
comisd xmm0, xmmword [ecx*8 + 0x47dd10]
jbe 0x407c05
movsx edx, word [ebp - 0x5df8]
movsd xmm0, qword [edx*8 + 0x47dd10]
movsd qword [ebp - 0x5e18], xmm0
movsx eax, word [ebp - 0x5df8]
movsd xmm0, qword [eax*8 + 0x47ddb8]
comisd xmm0, xmmword [ebp - 0x5e10]
jbe 0x407c37
movsx ecx, word [ebp - 0x5df8]
movsd xmm0, qword [ecx*8 + 0x47ddb8]
movsd qword [ebp - 0x5e10], xmm0
jmp 0x407b39
movsx edx, word [0x49bdb4]
movsx eax, word [ebp - 0x5df0]
add edx, eax
movsd xmm0, qword [ebp - 0x5e10]
movsd qword [ebp + edx*8 - 0x4b24], xmm0
movsx ecx, word [0x49bdb4]
movsx edx, word [ebp - 0x5df0]
add ecx, edx
movsd xmm0, qword [ebp - 0x5e18]
movsd qword [ebp + ecx*8 - 0x2594], xmm0
jmp 0x4078a3
movsx eax, word [0x4b1c4c]
movsx ecx, word [0x4ae45c]
add ecx, eax
mov word [0x4ae45c], cx
movsx edx, word [ebp - 0x5e00]
movsx eax, word [0x4ae45c]
cmp edx, eax
jle 0x407cc8
push 0x1a70
push 0x4afed0
push 0x4ae460
call fcn.00421c60
add esp, 0xc
jmp 0x4062d9
mov ecx, 2
shl ecx, 0
movsx edx, word [ecx + 0x4ae200]
push edx
push 0x46f57c
push 0x4fefe0
call fcn.00401f10
add esp, 0xc
push 0x4fecf8
push 0x4fefe0
movsx eax, word [ebp - 0x5e08]
push eax
push 0x46f608
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
mov ecx, dword [0x49ead0]
push ecx
push 1
push 2
lea edx, [ebp - 0x5e00]
push edx
call fcn.0044770d
add esp, 0x10
xor eax, eax
mov word [ebp - 0x5e1c], ax
mov ecx, 1
mov word [ebp - 0x5df0], cx
jmp 0x407d72
mov dx, word [ebp - 0x5df0]
add dx, 1
mov word [ebp - 0x5df0], dx
movsx eax, word [ebp - 0x5df0]
movsx ecx, word [ebp - 0x5e00]
imul edx, ecx, 3
cmp eax, edx
jg 0x407de5
mov eax, dword [0x49ead0]
push eax
push 1
push 8
lea ecx, [ebp - 0x5e50]
push ecx
call fcn.0044770d
add esp, 0x10
movsx eax, word [ebp - 0x5df0]
sub eax, 1
cdq
mov ecx, 3
idiv ecx
test edx, edx
jne 0x407de0
mov dx, word [ebp - 0x5e1c]
add dx, 1
mov word [ebp - 0x5e1c], dx
movsx eax, word [ebp - 0x5e1c]
movsd xmm0, qword [ebp - 0x5e50]
movsd qword [ebp + eax*8 - 0x5dec], xmm0
jmp 0x407d60
mov ecx, dword [0x49ead0]
push ecx
call fcn.0044716d
add esp, 4
push 0x4fecf8
movsx edx, word [ebp - 0x5e08]
push edx
push str.BMQMIN
push 0x4feee8
push str._s_s_i_s
push 0x4feb08
call fcn.00401f10
add esp, 0x18
push 0x46f5a4
push 0x4feb08
call fcn.0044745b
add esp, 8
mov dword [0x49ead0], eax
cmp dword [0x49ead0], 0
je 0x407f04
mov eax, dword [0x49ead0]
push eax
push 1
push 2
lea ecx, [ebp - 0x5e00]
push ecx
call fcn.00447ff0
add esp, 0x10
mov edx, 1
mov word [ebp - 0x5df0], dx
jmp 0x407e7a
mov ax, word [ebp - 0x5df0]
add ax, 1
mov word [ebp - 0x5df0], ax
movsx ecx, word [ebp - 0x5df0]
movsx edx, word [ebp - 0x5e00]
cmp ecx, edx
jg 0x407ef4
mov eax, dword [0x49ead0]
push eax
push 1
push 8
movsx ecx, word [ebp - 0x5df0]
lea edx, [ebp + ecx*8 - 0x5dec]
push edx
call fcn.00447ff0
add esp, 0x10
mov eax, dword [0x49ead0]
push eax
push 1
push 8
movsx ecx, word [ebp - 0x5df0]
lea edx, [ebp + ecx*8 - 0x12cc]
push edx
call fcn.00447ff0
add esp, 0x10
mov eax, dword [0x49ead0]
push eax
push 1
push 8
movsx ecx, word [ebp - 0x5df0]
lea edx, [ebp + ecx*8 - 0x2594]
push edx
call fcn.00447ff0
add esp, 0x10
jmp 0x407e68
mov eax, dword [0x49ead0]
push eax
call fcn.0044716d
add esp, 4
jmp 0x407f11
push 0x4feb08
call fcn.004022e0
add esp, 4
push 0x4fecf8
movsx ecx, word [ebp - 0x5e08]
push ecx
push str.BMQMAX
push 0x4feee8
push str._s_s_i_s
push 0x4feb08
call fcn.00401f10
add esp, 0x18
push 0x46f5a4
push 0x4feb08
call fcn.0044745b
add esp, 8
mov dword [0x49ead0], eax
mov edx, dword [0x49ead0]
push edx
push 1
push 2
lea eax, [ebp - 0x5e00]
push eax
call fcn.00447ff0
add esp, 0x10
mov ecx, 1
mov word [ebp - 0x5df0], cx
jmp 0x407f8b
mov dx, word [ebp - 0x5df0]
add dx, 1
mov word [ebp - 0x5df0], dx
movsx eax, word [ebp - 0x5df0]
movsx ecx, word [ebp - 0x5e00]
cmp eax, ecx
jg 0x408008
mov edx, dword [0x49ead0]
push edx
push 1
push 8
movsx eax, word [ebp - 0x5df0]
lea ecx, [ebp + eax*8 - 0x5dec]
push ecx
call fcn.00447ff0
add esp, 0x10
mov edx, dword [0x49ead0]
push edx
push 1
push 8
movsx eax, word [ebp - 0x5df0]
lea ecx, [ebp + eax*8 - 0x385c]
push ecx
call fcn.00447ff0
add esp, 0x10
mov edx, dword [0x49ead0]
push edx
push 1
push 8
movsx eax, word [ebp - 0x5df0]
lea ecx, [ebp + eax*8 - 0x4b24]
push ecx
call fcn.00447ff0
add esp, 0x10
jmp 0x407f79
cmp dword [0x49ead0], 0
je 0x408020
mov edx, dword [0x49ead0]
push edx
call fcn.0044716d
add esp, 4
push 0x1a70
push 0x4afed0
push 0x4ae460
call fcn.00421c60
add esp, 0xc
jmp 0x406202
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00420778
mov esp, ebp
pop ebp
ret