Function at 0x409fa0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
push esi
xorps xmm0, xmm0
movsd qword [ebp - 0x4c], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x44], xmm0
push str.MinMaxOf_BeamL
call fcn.004022a0
add esp, 4
mov eax, 1
mov word [ebp - 0x14], ax
jmp 0x409fdb
mov cx, word [ebp - 0x14]
add cx, 1
mov word [ebp - 0x14], cx
movsx edx, word [ebp - 0x14]
movsx eax, word [0x4b1982]
cmp edx, eax
jg 0x40ae6e
movsx ecx, word [ebp - 0x14]
shl ecx, 9
movsx edx, word [ecx + 0x49f1d6]
add edx, 1
mov word [ebp - 0x1c], 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 - 0x1c]
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 0x40a061
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 - 8], cx
jmp 0x40a084
mov dx, word [ebp - 8]
add dx, 1
mov word [ebp - 8], dx
movsx eax, word [ebp - 8]
movsx ecx, word [0x4b1c6c]
cmp eax, ecx
jg 0x40a1f7
movsx edx, word [ebp - 8]
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 - 0x14]
push ecx
push 0x46f668
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
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 - 4], cx
jmp 0x40a137
mov dx, word [ebp - 4]
add dx, 1
mov word [ebp - 4], dx
movsx eax, word [ebp - 4]
movsx ecx, word [0x4b1c4c]
cmp eax, ecx
jg 0x40a16e
mov edx, dword [0x49ead0]
push edx
push 1
push 8
movsx eax, word [ebp - 8]
movsx ecx, word [ebp - 4]
mov edx, dword [eax*4 + 0x47dec0]
lea eax, [edx + ecx*8]
push eax
call fcn.0044770d
add esp, 0x10
jmp 0x40a12b
cmp dword [0x49ead0], 0
je 0x40a186
mov ecx, dword [0x49ead0]
push ecx
call fcn.0044716d
add esp, 4
movsx edx, word [ebp - 8]
movzx eax, byte [edx + 0x47c330]
test eax, eax
jne 0x40a1f2
mov ecx, 1
mov word [ebp - 4], cx
jmp 0x40a1ac
mov dx, word [ebp - 4]
add dx, 1
mov word [ebp - 4], dx
movsx eax, word [ebp - 4]
movsx ecx, word [0x4b1c4c]
cmp eax, ecx
jg 0x40a1f2
movsx edx, word [ebp - 8]
movsx eax, word [ebp - 4]
mov ecx, dword [edx*4 + 0x47dec0]
movsx edx, word [ebp - 8]
cvtss2sd xmm0, dword [edx*4 + 0x4aef74]
mulsd xmm0, qword [ecx + eax*8]
movsx eax, word [ebp - 8]
movsx ecx, word [ebp - 4]
mov edx, dword [eax*4 + 0x47dec0]
movsd qword [edx + ecx*8], xmm0
jmp 0x40a1a0
jmp 0x40a078
mov eax, 1
mov word [ebp - 8], ax
jmp 0x40a20e
mov cx, word [ebp - 8]
add cx, 1
mov word [ebp - 8], cx
movsx edx, word [ebp - 8]
movsx eax, word [0x4b1c5c]
cmp edx, eax
jg 0x40a352
xor ecx, ecx
mov word [ebp - 0x18], cx
mov edx, 1
mov word [ebp - 0x10], dx
jmp 0x40a23e
mov ax, word [ebp - 0x10]
add ax, 1
mov word [ebp - 0x10], ax
movsx ecx, word [ebp - 0x10]
movsx edx, word [0x4b1c6c]
cmp ecx, edx
jg 0x40a34d
movsx eax, word [ebp - 0x10]
movsx ecx, byte [eax + 0x4ae590]
cmp ecx, 0x47
jne 0x40a348
movsx edx, word [ebp - 0x10]
movsx eax, word [edx*2 + 0x4aea38]
movsx ecx, word [ebp - 8]
cmp eax, ecx
jne 0x40a348
movsx edx, word [ebp - 0x18]
test edx, edx
jne 0x40a2cd
mov ax, word [ebp - 0x10]
mov word [ebp - 0x18], ax
movsx ecx, word [ebp - 0x10]
movsx edx, byte [ecx + 0x4ae466]
cmp edx, 0x41
jne 0x40a2b5
movsx eax, word [ebp - 0x10]
mov byte [eax + 0x4ae590], 0x41
movsx ecx, word [ebp - 0x10]
mov byte [ecx + 0x4ae90e], 0x54
jmp 0x40a2c0
movsx edx, word [ebp - 0x10]
mov byte [edx + 0x4ae590], 0x51
movsx eax, word [ebp - 0x18]
mov byte [eax + 0x4af938], 1
jmp 0x40a2d8
movsx ecx, word [ebp - 0x10]
mov byte [ecx + 0x4af938], 0
movsx edx, word [ebp - 0x10]
movsx eax, word [ebp - 0x18]
cmp edx, eax
je 0x40a348
mov ecx, 1
mov word [ebp - 4], cx
jmp 0x40a2fb
mov dx, word [ebp - 4]
add dx, 1
mov word [ebp - 4], dx
movsx eax, word [ebp - 4]
movsx ecx, word [0x4b1c4c]
cmp eax, ecx
jg 0x40a348
movsx edx, word [ebp - 0x18]
movsx eax, word [ebp - 4]
mov ecx, dword [edx*4 + 0x47dec0]
movsx edx, word [ebp - 0x10]
movsx esi, word [ebp - 4]
mov edx, dword [edx*4 + 0x47dec0]
movsd xmm0, qword [ecx + eax*8]
addsd xmm0, qword [edx + esi*8]
movsx eax, word [ebp - 0x18]
movsx ecx, word [ebp - 4]
mov edx, dword [eax*4 + 0x47dec0]
movsd qword [edx + ecx*8], xmm0
jmp 0x40a2ef
jmp 0x40a232
jmp 0x40a202
mov eax, 1
mov word [ebp - 8], ax
jmp 0x40a369
mov cx, word [ebp - 8]
add cx, 1
mov word [ebp - 8], cx
movsx edx, word [ebp - 8]
movsx eax, word [0x4b1c6c]
cmp edx, eax
jg 0x40a41c
movsx ecx, word [ebp - 8]
movsx edx, byte [ecx + 0x4ae90e]
cmp edx, 0x54
jne 0x40a417
mov eax, 1
mov word [ebp - 4], ax
jmp 0x40a3a7
mov cx, word [ebp - 4]
add cx, 1
mov word [ebp - 4], cx
movsx edx, word [ebp - 4]
movsx eax, word [0x4b1c4c]
cmp edx, eax
jg 0x40a40c
movsx ecx, word [ebp - 8]
movsx edx, word [ebp - 4]
mov eax, dword [ecx*4 + 0x47dec0]
movsx ecx, word [0x49bdb4]
movsx esi, word [ebp - 4]
add ecx, esi
movsd xmm0, qword [eax + edx*8]
movsd qword [ecx*8 + 0x4b24f0], xmm0
movsx edx, word [ebp - 8]
movsx eax, word [ebp - 4]
mov ecx, dword [edx*4 + 0x47dec0]
movsx edx, word [0x49bdb4]
movsx esi, word [ebp - 4]
add edx, esi
movsd xmm0, qword [ecx + eax*8]
movsd qword [edx*8 + 0x4ba838], xmm0
jmp 0x40a39b
mov byte [0x47c328], 1
jmp 0x40a41c
jmp 0x40a35d
mov eax, 1
mov word [ebp - 8], ax
jmp 0x40a433
mov cx, word [ebp - 8]
add cx, 1
mov word [ebp - 8], cx
movsx edx, word [ebp - 8]
movsx eax, word [0x4b1c6c]
cmp edx, eax
jg 0x40a526
movsx ecx, word [ebp - 8]
movsx edx, byte [ecx + 0x4ae90e]
cmp edx, 0x54
jne 0x40a521
mov eax, 1
mov word [ebp - 4], ax
jmp 0x40a471
mov cx, word [ebp - 4]
add cx, 1
mov word [ebp - 4], cx
movsx edx, word [ebp - 4]
movsx eax, word [0x4b1c4c]
cmp edx, eax
jg 0x40a521
movsx ecx, word [ebp - 8]
movsx edx, word [ebp - 4]
mov eax, dword [ecx*4 + 0x47dec0]
movsd xmm0, qword [eax + edx*8]
movsd qword [0x47dcf0], xmm0
movsx ecx, word [0x49bdb4]
movsx edx, word [ebp - 4]
add ecx, edx
movsd xmm0, qword [0x47dcf0]
comisd xmm0, xmmword [ecx*8 + 0x4ba838]
jbe 0x40a4de
movsx eax, word [0x49bdb4]
movsx ecx, word [ebp - 4]
add eax, ecx
movsd xmm0, qword [0x47dcf0]
movsd qword [eax*8 + 0x4ba838], xmm0
movsx edx, word [0x49bdb4]
movsx eax, word [ebp - 4]
add edx, eax
movsd xmm0, qword [edx*8 + 0x4b24f0]
comisd xmm0, xmmword [0x47dcf0]
jbe 0x40a51c
movsx ecx, word [0x49bdb4]
movsx edx, word [ebp - 4]
add ecx, edx
movsd xmm0, qword [0x47dcf0]
movsd qword [ecx*8 + 0x4b24f0], xmm0
jmp 0x40a465
jmp 0x40a427
movzx eax, byte [0x47c328]
test eax, eax
je 0x40a67d
mov ecx, 1
mov word [ebp - 8], cx
jmp 0x40a54c
mov dx, word [ebp - 8]
add dx, 1
mov word [ebp - 8], dx
movsx eax, word [ebp - 8]
movsx ecx, word [0x4b1c6c]
cmp eax, ecx
jg 0x40a67d
movsx edx, word [ebp - 8]
movsx eax, byte [edx + 0x4ae90e]
cmp eax, 0x54
jne 0x40a5ee
movzx ecx, byte [0x47c32b]
test ecx, ecx
jne 0x40a5ee
mov edx, 1
mov word [ebp - 4], dx
jmp 0x40a591
mov ax, word [ebp - 4]
add ax, 1
mov word [ebp - 4], ax
movsx ecx, word [ebp - 4]
movsx edx, word [0x4b1c4c]
cmp ecx, edx
jg 0x40a5cc
movsx eax, word [0x49bdb4]
movsx ecx, word [ebp - 4]
add eax, ecx
movsx edx, word [ebp - 8]
movsx ecx, word [ebp - 4]
mov edx, dword [edx*4 + 0x47dec0]
movsd xmm0, qword [eax*8 + 0x4ba838]
movsd qword [edx + ecx*8], xmm0
jmp 0x40a585
mov byte [0x47c32b], 1
movsx eax, word [ebp - 8]
mov byte [eax + 0x4ae590], 0x58
movsx ecx, word [ebp - 8]
mov byte [ecx + 0x4af938], 1
jmp 0x40a540
movsx edx, word [ebp - 8]
movsx eax, byte [edx + 0x4ae90e]
cmp eax, 0x54
jne 0x40a678
movzx ecx, byte [0x47c32a]
test ecx, ecx
jne 0x40a678
mov edx, 1
mov word [ebp - 4], dx
jmp 0x40a620
mov ax, word [ebp - 4]
add ax, 1
mov word [ebp - 4], ax
movsx ecx, word [ebp - 4]
movsx edx, word [0x4b1c4c]
cmp ecx, edx
jg 0x40a65b
movsx eax, word [0x49bdb4]
movsx ecx, word [ebp - 4]
add eax, ecx
movsx edx, word [ebp - 8]
movsx ecx, word [ebp - 4]
mov edx, dword [edx*4 + 0x47dec0]
movsd xmm0, qword [eax*8 + 0x4b24f0]
movsd qword [edx + ecx*8], xmm0
jmp 0x40a614
mov byte [0x47c32a], 1
movsx eax, word [ebp - 8]
mov byte [eax + 0x4ae590], 0x4d
movsx ecx, word [ebp - 8]
mov byte [ecx + 0x4af938], 1
jmp 0x40a540
movsx edx, word [0x4b1c6c]
push edx
call fcn.004023d0
add esp, 4
mov eax, 1
mov word [ebp - 4], ax
jmp 0x40a6a4
mov cx, word [ebp - 4]
add cx, 1
mov word [ebp - 4], cx
movsx edx, word [ebp - 4]
movsx eax, word [0x4b1c4c]
cmp edx, eax
jg 0x40a6e7
movsx ecx, word [0x49bdb4]
movsx edx, word [ebp - 4]
add ecx, edx
xorps xmm0, xmm0
movsd qword [ecx*8 + 0x4b24f0], xmm0
movsx eax, word [0x49bdb4]
movsx ecx, word [ebp - 4]
add eax, ecx
xorps xmm0, xmm0
movsd qword [eax*8 + 0x4ba838], xmm0
jmp 0x40a698
mov dword [ebp - 0x38], 0
call fcn.00401260
mov edx, 1
mov word [ebp - 8], dx
jmp 0x40a70a
mov ax, word [ebp - 8]
add ax, 1
mov word [ebp - 8], ax
movsx ecx, word [ebp - 8]
movsx edx, word [0x4b1c6c]
cmp ecx, edx
jg 0x40a8de
movsx eax, word [ebp - 8]
movsx ecx, word [eax*2 + 0x4aec8c]
cmp ecx, 1
je 0x40a743
movsx edx, word [ebp - 8]
movsx eax, word [edx*2 + 0x4aec8c]
cmp eax, 0xc
jne 0x40a8d9
mov ecx, 1
mov word [ebp - 4], cx
jmp 0x40a75a
mov dx, word [ebp - 4]
add dx, 1
mov word [ebp - 4], dx
movsx eax, word [ebp - 4]
movsx ecx, word [0x4b1c4c]
cmp eax, ecx
jg 0x40a8d9
movsx edx, word [ebp - 8]
movsx eax, word [ebp - 4]
mov ecx, dword [edx*4 + 0x47dec0]
movsx edx, word [ebp - 8]
cvtss2sd xmm0, dword [edx*4 + 0x4af168]
mulsd xmm0, qword [ecx + eax*8]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x20], xmm0
movsx eax, word [ebp - 8]
movsx ecx, word [ebp - 4]
mov edx, dword [eax*4 + 0x47dec0]
movsx eax, word [ebp - 8]
cvtss2sd xmm0, dword [eax*4 + 0x4af2f8]
mulsd xmm0, qword [edx + ecx*8]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x24]
comiss xmm0, dword [ebp - 0x20]
jbe 0x40a7d8
movss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x28], xmm0
jmp 0x40a7e2
movss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [ebp - 0x20]
comiss xmm0, dword [ebp - 0x24]
jbe 0x40a803
movss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x2c], xmm0
jmp 0x40a80d
movss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [ebp - 0x2c]
movss dword [ebp - 0x34], xmm0
movsx ecx, word [ebp - 8]
movsx edx, byte [ecx + 0x4ae90e]
cmp edx, 0x57
je 0x40a88b
movsx eax, word [0x49bdb4]
movsx ecx, word [ebp - 4]
add eax, ecx
cvtss2sd xmm0, dword [ebp - 0x30]
addsd xmm0, qword [eax*8 + 0x4b24f0]
movsx edx, word [ebp - 4]
movsx eax, word [0x49bdb4]
add eax, edx
movsd qword [eax*8 + 0x4b24f0], xmm0
movsx ecx, word [0x49bdb4]
movsx edx, word [ebp - 4]
add ecx, edx
cvtss2sd xmm0, dword [ebp - 0x34]
addsd xmm0, qword [ecx*8 + 0x4ba838]
movsx eax, word [ebp - 4]
movsx ecx, word [0x49bdb4]
add ecx, eax
movsd qword [ecx*8 + 0x4ba838], xmm0
jmp 0x40a8d4
mov dword [ebp - 0x38], 1
mov edx, 0x2c
shl edx, 0
movsx eax, word [ebp - 8]
movsx ecx, word [ebp - 4]
mov edx, dword [edx + eax*4 + 0x49ed40]
movss xmm0, dword [ebp - 0x30]
movss dword [edx + ecx*4], xmm0
mov eax, 0x2c
shl eax, 0
movsx ecx, word [ebp - 8]
movsx edx, word [ebp - 4]
mov eax, dword [eax + ecx*4 + 0x49eea0]
movss xmm0, dword [ebp - 0x34]
movss dword [eax + edx*4], xmm0
jmp 0x40a74e
jmp 0x40a6fe
cmp dword [ebp - 0x38], 1
jne 0x40a9b1
mov ecx, 1
mov word [ebp - 4], cx
jmp 0x40a8ff
mov dx, word [ebp - 4]
add dx, 1
mov word [ebp - 4], dx
movsx eax, word [ebp - 4]
movsx ecx, word [0x4b1c4c]
cmp eax, ecx
jg 0x40a9b1
movsx esi, word [0x49bdb4]
movsx edx, word [ebp - 4]
add esi, edx
movsx eax, word [ebp - 4]
push eax
movsx ecx, word [0x4b1c6c]
push ecx
push 1
push 1
call section..text
add esp, 0x10
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
addsd xmm0, qword [esi*8 + 0x4b24f0]
movsx edx, word [ebp - 4]
movsx eax, word [0x49bdb4]
add eax, edx
movsd qword [eax*8 + 0x4b24f0], xmm0
movsx esi, word [0x49bdb4]
movsx ecx, word [ebp - 4]
add esi, ecx
movsx edx, word [ebp - 4]
push edx
movsx eax, word [0x4b1c6c]
push eax
push 1
push 1
call fcn.00401130
add esp, 0x10
fstp qword [ebp - 0x5c]
movsd xmm0, qword [ebp - 0x5c]
addsd xmm0, qword [esi*8 + 0x4ba838]
movsx ecx, word [ebp - 4]
movsx edx, word [0x49bdb4]
add edx, ecx
movsd qword [edx*8 + 0x4ba838], xmm0
jmp 0x40a8f3
mov eax, 1
mov word [ebp - 4], ax
jmp 0x40a9c8
mov cx, word [ebp - 4]
add cx, 1
mov word [ebp - 4], cx
movsx edx, word [ebp - 4]
movsx eax, word [0x4b1c4c]
cmp edx, eax
jg 0x40acd0
mov ecx, 1
mov word [ebp - 0xc], cx
jmp 0x40a9f2
mov dx, word [ebp - 0xc]
add dx, 1
mov word [ebp - 0xc], dx
movsx eax, word [ebp - 0xc]
movsx ecx, word [0x4ae464]
cmp eax, ecx
jg 0x40abbc
movsx edx, word [0x49bdb4]
movsx eax, word [ebp - 4]
add edx, eax
movsd xmm0, qword [edx*8 + 0x4b24f0]
movsd qword [ebp - 0x4c], xmm0
movsx ecx, word [0x49bdb4]
movsx edx, word [ebp - 4]
add ecx, edx
movsd xmm0, qword [ecx*8 + 0x4ba838]
movsd qword [ebp - 0x44], xmm0
movsx eax, word [ebp - 0xc]
movsx ecx, word [eax*2 + 0x4aee80]
cmp ecx, 1
je 0x40aa5d
movsx edx, word [ebp - 0xc]
movsx eax, word [edx*2 + 0x4aee80]
cmp eax, 0xc
jne 0x40aa5f
jmp 0x40a9e6
mov ecx, 1
mov word [ebp - 8], cx
jmp 0x40aa76
mov dx, word [ebp - 8]
add dx, 1
mov word [ebp - 8], dx
movsx eax, word [ebp - 8]
movsx ecx, word [0x4b1c6c]
cmp eax, ecx
jg 0x40ab93
movsx edx, word [ebp - 8]
movzx eax, byte [edx + 0x4af938]
cmp eax, 1
jne 0x40ab8e
movsx ecx, word [ebp - 8]
movsx edx, word [ecx*2 + 0x4aec8c]
movsx eax, word [ebp - 0xc]
movsx ecx, word [eax*2 + 0x4aee80]
cmp edx, ecx
jne 0x40aae4
movsx edx, word [ebp - 8]
movsx eax, word [ebp - 4]
mov ecx, dword [edx*4 + 0x47dec0]
movsx edx, word [ebp - 8]
cvtss2sd xmm0, dword [edx*4 + 0x4af168]
mulsd xmm0, qword [ecx + eax*8]
movsd qword [0x47dcf0], xmm0
jmp 0x40ab1e
movsx eax, word [ebp - 8]
movsx ecx, word [ebp - 4]
mov edx, dword [eax*4 + 0x47dec0]
movsx eax, word [ebp - 8]
cvtss2sd xmm0, dword [eax*4 + 0x4af168]
mulsd xmm0, qword [edx + ecx*8]
movsx ecx, word [ebp - 8]
cvtss2sd xmm1, dword [ecx*4 + 0x4af488]
mulsd xmm0, xmm1
movsd qword [0x47dcf0], xmm0
movsx edx, word [ebp - 8]
movsx eax, byte [edx + 0x4ae590]
cmp eax, 0x4d
je 0x40ab54
movsd xmm0, qword [ebp - 0x44]
addsd xmm0, qword [0x47dcf0]
comisd xmm0, xmmword [ebp - 0x44]
jbe 0x40ab54
movsd xmm0, qword [ebp - 0x44]
addsd xmm0, qword [0x47dcf0]
movsd qword [ebp - 0x44], xmm0
movsx ecx, word [ebp - 8]
movsx edx, byte [ecx + 0x4ae590]
cmp edx, 0x58
je 0x40ab8e
movsd xmm0, qword [ebp - 0x4c]
addsd xmm0, qword [0x47dcf0]
movsd xmm1, qword [ebp - 0x4c]
comisd xmm1, xmm0
jbe 0x40ab8e
movsd xmm0, qword [ebp - 0x4c]
addsd xmm0, qword [0x47dcf0]
movsd qword [ebp - 0x4c], xmm0
jmp 0x40aa6a
movsx eax, word [ebp - 0xc]
movsd xmm0, qword [ebp - 0x4c]
movsd qword [eax*8 + 0x47dd10], xmm0
movsx ecx, word [ebp - 0xc]
movsd xmm0, qword [ebp - 0x44]
movsd qword [ecx*8 + 0x47ddb8], xmm0
jmp 0x40a9e6
mov dword [ebp - 0x3c], 0
mov edx, 1
mov word [ebp - 0xc], dx
jmp 0x40abda
mov ax, word [ebp - 0xc]
add ax, 1
mov word [ebp - 0xc], ax
movsx ecx, word [ebp - 0xc]
movsx edx, word [0x4ae464]
cmp ecx, edx
jg 0x40ac95
movsx eax, word [ebp - 0xc]
movsx ecx, word [eax*2 + 0x4aee80]
cmp ecx, 1
je 0x40ac0f
movsx edx, word [ebp - 0xc]
movsx eax, word [edx*2 + 0x4aee80]
cmp eax, 0xc
jne 0x40ac11
jmp 0x40abce
cmp dword [ebp - 0x3c], 0
jne 0x40ac44
movsx ecx, word [ebp - 0xc]
movsd xmm0, qword [ecx*8 + 0x47dd10]
movsd qword [ebp - 0x4c], xmm0
movsx edx, word [ebp - 0xc]
movsd xmm0, qword [edx*8 + 0x47ddb8]
movsd qword [ebp - 0x44], xmm0
mov dword [ebp - 0x3c], 1
jmp 0x40abce
movsx eax, word [ebp - 0xc]
movsd xmm0, qword [ebp - 0x4c]
comisd xmm0, xmmword [eax*8 + 0x47dd10]
jbe 0x40ac6a
movsx ecx, word [ebp - 0xc]
movsd xmm0, qword [ecx*8 + 0x47dd10]
movsd qword [ebp - 0x4c], xmm0
movsx edx, word [ebp - 0xc]
movsd xmm0, qword [edx*8 + 0x47ddb8]
comisd xmm0, xmmword [ebp - 0x44]
jbe 0x40ac90
movsx eax, word [ebp - 0xc]
movsd xmm0, qword [eax*8 + 0x47ddb8]
movsd qword [ebp - 0x44], xmm0
jmp 0x40abce
movsx ecx, word [0x49bdb4]
movsx edx, word [ebp - 4]
add ecx, edx
movsd xmm0, qword [ebp - 0x44]
movsd qword [ecx*8 + 0x4ba838], xmm0
movsx eax, word [0x49bdb4]
movsx ecx, word [ebp - 4]
add eax, ecx
movsd xmm0, qword [ebp - 0x4c]
movsd qword [eax*8 + 0x4b24f0], xmm0
jmp 0x40a9bc
movsx edx, word [0x4b1c4c]
movsx eax, word [0x4ae45c]
add eax, edx
mov word [0x4ae45c], ax
movsx ecx, word [ebp - 0x1c]
movsx edx, word [0x4ae45c]
cmp ecx, edx
jle 0x40ad11
push 0x1a70
push 0x4afed0
push 0x4ae460
call fcn.00421c60
add esp, 0xc
jmp 0x40a00b
push 0x4fecf8
movsx eax, word [ebp - 0x14]
push eax
push str.BFMIN
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 0x40adac
mov ecx, 1
mov word [ebp - 4], cx
jmp 0x40ad6e
mov dx, word [ebp - 4]
add dx, 1
mov word [ebp - 4], dx
movsx eax, word [ebp - 4]
movsx ecx, word [ebp - 0x1c]
cmp eax, ecx
jg 0x40ad9b
mov edx, dword [0x49ead0]
push edx
push 1
push 8
movsx eax, word [ebp - 4]
lea ecx, [eax*8 + 0x4b24f0]
push ecx
call fcn.00447ff0
add esp, 0x10
jmp 0x40ad62
mov edx, dword [0x49ead0]
push edx
call fcn.0044716d
add esp, 4
jmp 0x40adb9
push 0x4feb08
call fcn.004022e0
add esp, 4
push 0x4fecf8
movsx eax, word [ebp - 0x14]
push eax
push str.BFMAX
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 0x40ae52
mov ecx, 1
mov word [ebp - 4], cx
jmp 0x40ae16
mov dx, word [ebp - 4]
add dx, 1
mov word [ebp - 4], dx
movsx eax, word [ebp - 4]
movsx ecx, word [ebp - 0x1c]
cmp eax, ecx
jg 0x40ae43
mov edx, dword [0x49ead0]
push edx
push 1
push 8
movsx eax, word [ebp - 4]
lea ecx, [eax*8 + 0x4ba838]
push ecx
call fcn.00447ff0
add esp, 0x10
jmp 0x40ae0a
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 0x409fcf
pop esi
mov esp, ebp
pop ebp
ret