Function at 0x1400144c0
Capabilities:
Execute command
Query environment variable
Write and execute a file
Write file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x3f]
sub rsp, 0xa8
movaps xmmword [rsp + 0x80], xmm6
mov ecx, 0x5a0
movaps xmmword [rsp + 0x70], xmm8
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
xor edi, edi
mov dword [rbp + 0x6f], 0x2d
mov ebx, 2
mov dword [rbp + 0x67], edi
mov eax, dword [rbp + 0x6f]
mov edx, edi
mov ecx, ebx
cmp edx, 0xa
jge 0x14001451a
mov eax, dword [rbp + 0x67]
inc edx
add eax, ecx
add ecx, ebx
mov dword [rbp + 0x67], eax
mov eax, dword [rbp + 0x6f]
cmp ecx, eax
jle 0x140014502
mov ecx, 0xc80
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp + 0x67], 0x24
mov edx, edi
mov eax, dword [rbp + 0x67]
mov dword [rbp - 0x41], eax
mov dword [rbp + 0x6f], edi
mov dword [rbp + 0x77], edi
mov dword [rbp + 0x7f], edi
mov dword [rbp + 0x67], 0xcb
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x6f], eax
mov dword [rbp + 0x67], 0xac
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x77], eax
mov eax, dword [rbp + 0x67]
cmp edx, 0xc
jge 0x140014599
mov eax, dword [rbp + 0x67]
inc edx
test eax, eax
je 0x140014599
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp - 0x41]
cmp ecx, eax
jle 0x140014584
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x6f]
cmp eax, ecx
jle 0x140014584
mov eax, dword [rbp + 0x7f]
inc eax
mov dword [rbp + 0x7f], eax
mov eax, dword [rbp + 0x6f]
mov dword [rbp - 0x41], eax
mov eax, dword [rbp + 0x77]
mov dword [rbp + 0x6f], eax
mov dword [rbp + 0x67], 0x88
jmp 0x140014551
mov eax, dword [rbp + 0x7f]
mov dword [rbp + 0x67], eax
call fcn.14002c800
movsd xmm0, qword [0x14002d7d8]
mov eax, 0x66666667
mov dword [rbp + 0x67], 0x109
mov ecx, dword [rbp + 0x67]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov dword [rbp + 0x7f], 0xf6
movsd qword [rbp - 0x49], xmm0
mov byte [rbp + 0x67], 0xb4
mov byte [rbp + 0x6f], 1
movsd xmm0, qword [rbp - 0x49]
mov ecx, dword [rbp + 0x7f]
cvttsd2si eax, xmm0
add ecx, eax
mov dword [rbp + 0x77], ecx
movd xmm0, dword [rbp + 0x77]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [rbp - 0x49]
movsd qword [rbp - 0x49], xmm0
movsx ecx, byte [rbp + 0x67]
mov eax, dword [rbp + 0x77]
add al, cl
mov byte [rbp + 0x67], al
movzx eax, byte [rbp + 0x6f]
mov eax, dword [rbp + 0x77]
cmp eax, 0x32
jle 0x140014625
mov al, 1
jmp 0x140014627
xor eax, eax
movsd xmm6, qword [0x14002d670]
mov byte [rbp + 0x6f], al
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x77]
imul ecx, eax
mov dword [rbp + 0x77], ecx
movsd xmm1, qword [rbp - 0x49]
movd xmm0, dword [rbp + 0x7f]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [rbp + 0x7f], xmm1
movzx eax, byte [rbp + 0x67]
dec al
mov byte [rbp + 0x67], al
movzx eax, byte [rbp + 0x6f]
test al, al
mov eax, 0x66666667
sete byte [rbp + 0x6f]
mov ecx, dword [rbp + 0x77]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
mov dword [rbp + 0x77], ecx
movsd xmm0, qword [rbp + 0x7f]
addsd xmm0, xmm6
movsd qword [rbp + 0x7f], xmm0
movzx eax, byte [rbp + 0x67]
add al, bl
mov byte [rbp + 0x67], al
movzx eax, byte [rbp + 0x6f]
test al, al
jne 0x1400146b1
mov eax, dword [rbp + 0x77]
cmp eax, 5
jl 0x1400146b1
xor eax, eax
jmp 0x1400146b3
mov al, 1
mov byte [rbp + 0x67], al
mov ecx, 0xc0
mov byte [rbp + 0x67], 1
movzx eax, byte [rbp + 0x67]
mov byte [rbp + 0x67], dil
movzx eax, byte [rbp + 0x67]
mov byte [rbp + 0x67], al
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x490
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp + 0x67], 0xbd
mov dword [rbp + 0x6f], 0x64
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
add ecx, eax
mov dword [rbp + 0x77], ecx
mov eax, dword [rbp + 0x6f]
mov ecx, dword [rbp + 0x67]
sub ecx, eax
mov dword [rbp + 0x6f], ecx
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x77]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov eax, dword [rbp + 0x6f]
mov ecx, dword [rbp + 0x67]
cdq
idiv ecx
mov dword [rbp + 0x67], eax
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x67], eax
call fcn.14002c800
mov ecx, 0x600
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp - 0x41], 0xdb
mov edx, edi
mov dword [rbp + 0x77], 1
mov dword [rbp + 0x67], edi
mov dword [rbp + 0x7f], edi
mov dword [rbp + 0x6f], 1
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp - 0x41]
cmp edx, 7
jge 0x140014797
mov eax, dword [rbp + 0x67]
cmp eax, 0x418937
jg 0x140014790
mov ecx, dword [rbp + 0x6f]
inc edx
mov eax, dword [rbp + 0x7f]
add ecx, eax
mov dword [rbp + 0x67], ecx
mov eax, dword [rbp + 0x6f]
mov dword [rbp + 0x7f], eax
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x6f], eax
mov eax, dword [rbp + 0x77]
inc eax
mov dword [rbp + 0x77], eax
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp - 0x41]
cmp ecx, eax
jne 0x140014754
jmp 0x140014797
mov dword [rbp + 0x67], 0xffffffff
mov eax, dword [rbp + 0x77]
mov ecx, 0x8a0
mov dword [rbp + 0x67], eax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp + 0x67], 0x93
mov dword [rbp + 0x6f], 0xb2
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
add ecx, eax
mov dword [rbp + 0x7f], ecx
mov ecx, dword [rbp + 0x7f]
mov eax, dword [rbp + 0x6f]
imul ecx, eax
mov dword [rbp + 0x77], ecx
mov eax, dword [rbp + 0x77]
mov ecx, dword [rbp + 0x67]
cdq
idiv ecx
mov dword [rbp - 0x41], eax
mov ecx, dword [rbp - 0x41]
mov eax, dword [rbp + 0x7f]
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov eax, dword [rbp + 0x77]
mov ecx, dword [rbp + 0x6f]
cdq
idiv ecx
mov eax, dword [rbp + 0x67]
add eax, edx
mov dword [rbp + 0x7f], eax
mov ecx, dword [rbp + 0x7f]
mov eax, dword [rbp + 0x7f]
imul ecx, eax
mov dword [rbp - 0x39], ecx
mov ecx, 1
mov eax, dword [rbp + 0x67]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x39]
cdq
idiv ecx
mov dword [rbp + 0x6f], eax
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp - 0x41]
sub ecx, eax
mov dword [rbp - 0x49], ecx
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp + 0x77]
imul ecx, eax
mov dword [rbp + 0x77], ecx
mov ecx, 1
mov eax, dword [rbp + 0x6f]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x77]
cdq
idiv ecx
mov dword [rbp - 0x41], eax
mov ecx, dword [rbp - 0x41]
mov eax, dword [rbp - 0x39]
add ecx, eax
mov dword [rbp - 0x39], ecx
mov ecx, dword [rbp - 0x39]
mov eax, dword [rbp + 0x7f]
sub ecx, eax
mov dword [rbp + 0x6f], ecx
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
imul ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, 1
mov eax, dword [rbp + 0x6f]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x67]
cdq
idiv ecx
mov dword [rbp + 0x6f], eax
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x77]
add ecx, eax
mov dword [rbp + 0x77], ecx
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp - 0x39]
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp - 0x41]
imul ecx, eax
mov dword [rbp + 0x7f], ecx
mov ecx, 1
mov eax, dword [rbp + 0x67]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x7f]
cdq
idiv ecx
mov dword [rbp - 0x39], eax
mov ecx, dword [rbp - 0x39]
mov eax, dword [rbp + 0x6f]
add ecx, eax
mov dword [rbp + 0x6f], ecx
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x77]
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x7f]
imul ecx, eax
mov dword [rbp + 0x77], ecx
mov ecx, 1
mov eax, dword [rbp + 0x67]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x77]
cdq
idiv ecx
mov dword [rbp + 0x7f], eax
mov ecx, dword [rbp + 0x7f]
mov eax, dword [rbp - 0x39]
add ecx, eax
mov dword [rbp - 0x39], ecx
mov ecx, dword [rbp - 0x39]
mov eax, dword [rbp + 0x6f]
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x77]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov ecx, 1
mov eax, dword [rbp + 0x67]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x6f]
cdq
idiv ecx
mov dword [rbp + 0x77], eax
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x7f]
add ecx, eax
mov dword [rbp + 0x7f], ecx
mov ecx, dword [rbp + 0x7f]
mov eax, dword [rbp - 0x39]
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov ecx, 1
mov eax, dword [rbp + 0x67]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x6f]
cdq
idiv ecx
mov dword [rbp - 0x39], eax
mov ecx, dword [rbp - 0x39]
mov eax, dword [rbp + 0x77]
add ecx, eax
mov dword [rbp + 0x77], ecx
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x7f]
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov ecx, 1
mov eax, dword [rbp + 0x67]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x6f]
cdq
idiv ecx
mov dword [rbp + 0x7f], eax
mov ecx, dword [rbp + 0x7f]
mov eax, dword [rbp - 0x39]
add ecx, eax
mov dword [rbp - 0x39], ecx
mov ecx, dword [rbp - 0x39]
mov eax, dword [rbp + 0x77]
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov ecx, 1
mov eax, dword [rbp + 0x67]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x6f]
cdq
idiv ecx
mov dword [rbp + 0x77], eax
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x7f]
add ecx, eax
mov dword [rbp + 0x7f], ecx
mov ecx, dword [rbp + 0x7f]
mov eax, dword [rbp - 0x39]
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov ecx, 1
mov eax, dword [rbp + 0x67]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x6f]
cdq
idiv ecx
mov dword [rbp - 0x39], eax
mov ecx, dword [rbp - 0x39]
mov eax, dword [rbp + 0x77]
add ecx, eax
mov dword [rbp + 0x77], ecx
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x7f]
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov ecx, 1
mov eax, dword [rbp + 0x67]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x6f]
cdq
idiv ecx
mov dword [rbp + 0x67], eax
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp - 0x39]
add ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x77]
mov edx, edi
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov dword [rbp - 0x39], 0x4a
mov dword [rbp + 0x77], 1
mov dword [rbp + 0x67], edi
mov dword [rbp + 0x7f], edi
mov dword [rbp + 0x6f], 1
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp - 0x39]
cmp edx, 7
jge 0x140014ab8
mov eax, dword [rbp + 0x67]
cmp eax, 0x418937
jg 0x140014ab1
mov ecx, dword [rbp + 0x6f]
inc edx
mov eax, dword [rbp + 0x7f]
add ecx, eax
mov dword [rbp + 0x67], ecx
mov eax, dword [rbp + 0x6f]
mov dword [rbp + 0x7f], eax
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x6f], eax
mov eax, dword [rbp + 0x77]
inc eax
mov dword [rbp + 0x77], eax
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp - 0x39]
cmp ecx, eax
jne 0x140014a75
jmp 0x140014ab8
mov dword [rbp + 0x67], 0xffffffff
mov eax, dword [rbp + 0x77]
mov ecx, 0x1c0
mov dword [rbp + 0x67], eax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x570
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov qword [rbp + 0x67], 0x67
mov ecx, 0x8a0
mov rax, qword [rbp + 0x67]
shr rax, 3
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
mov qword [rbp + 0x67], rax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
movsd xmm0, qword [0x14002d988]
mov edx, edi
movsd qword [rbp + 0x67], xmm0
movsd xmm1, qword [rbp + 0x67]
divsd xmm1, qword [0x14002d4a8]
movsd qword [rbp + 0x67], xmm1
movsd xmm0, qword [rbp + 0x67]
movsd qword [rbp + 0x67], xmm0
mov dword [rbp - 0x39], 0xac
mov dword [rbp + 0x77], 1
mov dword [rbp + 0x67], edi
mov dword [rbp + 0x7f], edi
mov dword [rbp + 0x6f], 1
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp - 0x39]
cmp edx, 7
jge 0x140014b8a
mov eax, dword [rbp + 0x67]
cmp eax, 0x418937
jg 0x140014b83
mov ecx, dword [rbp + 0x6f]
inc edx
mov eax, dword [rbp + 0x7f]
add ecx, eax
mov dword [rbp + 0x67], ecx
mov eax, dword [rbp + 0x6f]
mov dword [rbp + 0x7f], eax
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x6f], eax
mov eax, dword [rbp + 0x77]
inc eax
mov dword [rbp + 0x77], eax
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp - 0x39]
cmp ecx, eax
jne 0x140014b47
jmp 0x140014b8a
mov dword [rbp + 0x67], 0xffffffff
mov eax, dword [rbp + 0x77]
mov ecx, 0x120
mov dword [rbp + 0x67], eax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp + 0x77], 0x67
mov edx, edi
mov dword [rbp + 0x67], 1
mov dword [rbp + 0x7f], edi
mov dword [rbp - 0x39], edi
mov dword [rbp + 0x6f], 1
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x77]
nop
cmp edx, 9
jge 0x140014bf3
mov eax, dword [rbp + 0x77]
inc edx
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp - 0x39]
add ecx, eax
mov dword [rbp + 0x7f], ecx
mov eax, dword [rbp + 0x6f]
mov dword [rbp - 0x39], eax
mov eax, dword [rbp + 0x7f]
mov dword [rbp + 0x6f], eax
mov eax, dword [rbp + 0x67]
inc eax
mov dword [rbp + 0x67], eax
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x77]
cmp ecx, eax
jne 0x140014bc0
mov eax, dword [rbp + 0x67]
cmp eax, 1
jne 0x140014c01
mov eax, dword [rbp + 0x6f]
mov dword [rbp - 0x41], eax
mov eax, dword [rbp + 0x7f]
movss xmm0, dword [0x14002db20]
mov dword [rbp - 0x41], eax
mov dword [rbp + 0x67], 0x120
mov dword [rbp + 0x6f], 0x93
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
add ecx, eax
mov dword [rbp + 0x77], ecx
mov eax, dword [rbp + 0x6f]
mov ecx, dword [rbp + 0x67]
sub ecx, eax
mov dword [rbp + 0x6f], ecx
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x77]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov eax, dword [rbp + 0x6f]
mov ecx, dword [rbp + 0x67]
cdq
idiv ecx
mov ecx, 0x440
mov dword [rbp + 0x67], eax
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x67], eax
movss dword [rbp + 0x67], xmm0
movss xmm0, dword [rbp + 0x67]
cvtps2pd xmm1, xmm0
mulsd xmm1, qword [0x14002d4a0]
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x67], xmm0
movss xmm1, dword [rbp + 0x67]
movss dword [rbp + 0x67], xmm1
mov dword [rbp + 0x67], pe_nt_image_headers64
mov eax, dword [rbp + 0x67]
add eax, 0xa
mov dword [rbp + 0x67], eax
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x67], eax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp + 0x67], 0x94
mov eax, 0x66666667
mov ecx, dword [rbp + 0x67]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, 0x5e0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp + 0x67], 0x20
mov ecx, 0x5a
mov eax, dword [rbp + 0x67]
sub eax, 0x64
mov dword [rbp + 0x67], eax
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x67], eax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x290
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
movsd xmm0, qword [0x14002d698]
movsd xmm1, qword [0x14002d4e8]
movsd qword [rbp + 0x6f], xmm0
movsd xmm0, qword [0x14002d890]
movsd qword [rbp + 0x77], xmm1
movsd qword [rbp + 0x67], xmm0
movsd xmm1, qword [rbp + 0x67]
divsd xmm1, xmm6
movsd qword [rbp + 0x67], xmm1
movsd xmm0, qword [rbp + 0x6f]
mulsd xmm0, xmm6
addsd xmm0, qword [rbp + 0x77]
movsd qword [rbp + 0x6f], xmm0
movsd xmm1, qword [rbp + 0x6f]
movsd xmm0, qword [rbp + 0x67]
mulsd xmm1, xmm0
movsd qword [rbp + 0x67], xmm1
movsd xmm2, qword [rbp + 0x67]
movsd xmm0, qword [rbp + 0x6f]
addsd xmm2, xmm0
cvttsd2si eax, xmm2
mov dword [rbp + 0x67], eax
mov eax, 0x51eb851f
mov ecx, dword [rbp + 0x67]
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x64
sub ecx, eax
mov eax, 0x51eb851f
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
movsd qword [rbp + 0x77], xmm0
mov ecx, dword [rbp + 0x67]
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movd xmm0, edx
cvtdq2pd xmm0, xmm0
movsd qword [rbp + 0x6f], xmm0
movsd xmm1, qword [rbp + 0x6f]
movsd qword [rbp + 0x67], xmm1
movsd xmm0, qword [rbp + 0x77]
movsd qword [rbp + 0x67], xmm0
call fcn.14002c4a0
mov ecx, 0x390
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_RealGetWindowClassW]
movsd xmm0, qword [0x14002d710]
mov dword [rbp + 0x7f], 0x12b
movsd qword [rbp - 0x49], xmm0
mov byte [rbp + 0x67], 0xf4
mov byte [rbp + 0x6f], 1
movsd xmm0, qword [rbp - 0x49]
mov ecx, dword [rbp + 0x7f]
cvttsd2si eax, xmm0
add ecx, eax
mov dword [rbp + 0x77], ecx
movd xmm0, dword [rbp + 0x77]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [rbp - 0x49]
movsd qword [rbp - 0x49], xmm0
movsx ecx, byte [rbp + 0x67]
mov eax, dword [rbp + 0x77]
add al, cl
mov byte [rbp + 0x67], al
movzx eax, byte [rbp + 0x6f]
mov eax, dword [rbp + 0x77]
cmp eax, 0x32
jle 0x140014e3a
mov al, 1
jmp 0x140014e3c
xor eax, eax
mov byte [rbp + 0x6f], al
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x77]
imul ecx, eax
mov dword [rbp + 0x77], ecx
movsd xmm1, qword [rbp - 0x49]
movd xmm0, dword [rbp + 0x7f]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [rbp + 0x7f], xmm1
movzx eax, byte [rbp + 0x67]
dec al
mov byte [rbp + 0x67], al
movzx eax, byte [rbp + 0x6f]
test al, al
mov eax, 0x66666667
sete byte [rbp + 0x6f]
mov ecx, dword [rbp + 0x77]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
mov dword [rbp + 0x77], ecx
movsd xmm0, qword [rbp + 0x7f]
addsd xmm0, xmm6
movsd qword [rbp + 0x7f], xmm0
movzx eax, byte [rbp + 0x67]
add al, bl
mov byte [rbp + 0x67], al
movzx eax, byte [rbp + 0x6f]
test al, al
jne 0x140014ebe
mov eax, dword [rbp + 0x77]
cmp eax, 5
jl 0x140014ebe
xor eax, eax
jmp 0x140014ec0
mov al, 1
mov byte [rbp + 0x67], al
mov edx, edi
mov dword [rbp + 0x67], 0xdc
mov eax, dword [rbp + 0x67]
mov dword [rbp - 0x39], eax
mov dword [rbp + 0x6f], edi
mov dword [rbp + 0x77], edi
mov dword [rbp + 0x7f], edi
mov dword [rbp + 0x67], 0x23
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x6f], eax
mov dword [rbp + 0x67], 0x101
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x77], eax
mov eax, dword [rbp + 0x67]
cmp edx, 0xc
jge 0x140014f37
mov eax, dword [rbp + 0x67]
inc edx
test eax, eax
je 0x140014f37
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp - 0x39]
cmp ecx, eax
jle 0x140014f22
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x6f]
cmp eax, ecx
jle 0x140014f22
mov eax, dword [rbp + 0x7f]
inc eax
mov dword [rbp + 0x7f], eax
mov eax, dword [rbp + 0x6f]
mov dword [rbp - 0x39], eax
mov eax, dword [rbp + 0x77]
mov dword [rbp + 0x6f], eax
mov dword [rbp + 0x67], 0xf4
jmp 0x140014eef
mov eax, dword [rbp + 0x7f]
mov dword [rbp + 0x67], eax
call fcn.1400278d0
mov ecx, 0xe10
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
movdqa xmm0, xmmword [0x14002e9f0]
lea rdx, str.bombe
mov r9d, 5
mov dword [rbp - 0x19], 0x21
mov r8d, 6
mov dword [rbp - 0x15], 0x24
lea rcx, [rbp - 0x29]
movdqu xmmword [rbp - 0x29], xmm0
call section..text
mov ecx, 0x6c0
mov rsi, rax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
movss xmm0, dword [0x14002dacc]
mov ecx, 0x220
movsd xmm8, qword [0x14002d4b0]
movss dword [rbp + 0x67], xmm0
movss xmm0, dword [rbp + 0x67]
cvtps2pd xmm1, xmm0
mulsd xmm1, qword [0x14002d4a0]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0x67], xmm1
movss xmm0, dword [rbp + 0x67]
movsd xmm1, qword [0x14002d9b8]
movss dword [rbp + 0x67], xmm0
movsd qword [rbp + 0x67], xmm1
movsd xmm0, qword [rbp + 0x67]
movsd xmm2, qword [rbp + 0x67]
cvttsd2si eax, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm2, xmm0
mulsd xmm2, xmm8
cvttsd2si eax, xmm2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [rbp + 0x67], xmm0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x50
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp + 0x67], 0x97
mov eax, dword [rbp + 0x67]
sub eax, 0x64
mov dword [rbp + 0x67], eax
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x67], eax
mov dword [rbp + 0x67], 0x2d
mov eax, dword [rbp + 0x67]
cdq
sub eax, edx
mov edx, edi
sar eax, 1
lea eax, [rax*2 + 2]
mov dword [rbp + 0x67], eax
mov dword [rbp + 0x67], 0x2a
mov eax, dword [rbp + 0x67]
mov dword [rbp - 0x39], eax
mov dword [rbp + 0x6f], edi
mov dword [rbp + 0x77], edi
mov dword [rbp + 0x7f], edi
mov dword [rbp + 0x67], 0x7c
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x6f], eax
mov dword [rbp + 0x67], 0xd0
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x77], eax
mov eax, dword [rbp + 0x67]
cmp edx, 0xc
jge 0x1400150c1
mov eax, dword [rbp + 0x67]
inc edx
test eax, eax
je 0x1400150c1
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp - 0x39]
cmp ecx, eax
jle 0x1400150ac
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x6f]
cmp eax, ecx
jle 0x1400150ac
mov eax, dword [rbp + 0x7f]
inc eax
mov dword [rbp + 0x7f], eax
mov eax, dword [rbp + 0x6f]
mov dword [rbp - 0x39], eax
mov eax, dword [rbp + 0x77]
mov dword [rbp + 0x6f], eax
mov dword [rbp + 0x67], 0x107
jmp 0x140015079
mov eax, dword [rbp + 0x7f]
mov r8d, 0xa
mov dword [rbp + 0x67], eax
mov rdx, rsi
mov rax, qword [0x140030040]
xor ecx, ecx
call rax
mov dword [rbp - 0x39], 0xd6
mov rsi, rax
mov dword [rbp + 0x77], 1
mov edx, edi
mov dword [rbp + 0x67], edi
mov dword [rbp + 0x7f], edi
mov dword [rbp + 0x6f], 1
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp - 0x39]
cmp edx, 7
jge 0x140015144
mov eax, dword [rbp + 0x67]
cmp eax, 0x418937
jg 0x14001513d
mov ecx, dword [rbp + 0x6f]
inc edx
mov eax, dword [rbp + 0x7f]
add ecx, eax
mov dword [rbp + 0x67], ecx
mov eax, dword [rbp + 0x6f]
mov dword [rbp + 0x7f], eax
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x6f], eax
mov eax, dword [rbp + 0x77]
inc eax
mov dword [rbp + 0x77], eax
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp - 0x39]
cmp ecx, eax
jne 0x140015101
jmp 0x140015144
mov dword [rbp + 0x67], 0xffffffff
mov eax, dword [rbp + 0x77]
mov dword [rbp + 0x67], eax
mov dword [rbp + 0x67], 0xbd
mov eax, dword [rbp + 0x67]
add eax, 0xa
mov dword [rbp + 0x67], eax
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x67], eax
test rsi, rsi
jne 0x1400151c2
mov ecx, 0x250
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
movsd xmm0, qword [0x14002d8d0]
mov ecx, 0xd8
movsd qword [rbp + 0x67], xmm0
movsd xmm1, qword [rbp + 0x67]
movsd xmm2, qword [rbp + 0x67]
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm2, xmm0
movsd qword [rbp + 0x67], xmm2
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x540
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x70
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
jmp 0x140016dc0
mov ecx, 0xc20
mov qword [rsp + 0xa0], r14
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp + 0x67], 0x4f
mov eax, dword [rbp + 0x67]
sub eax, 0x64
mov dword [rbp + 0x67], eax
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x67], eax
mov dword [rbp + 0x67], 0xfd
mov dword [rbp + 0x6f], 0x107
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
add ecx, eax
mov dword [rbp + 0x7f], ecx
mov ecx, dword [rbp + 0x7f]
mov eax, dword [rbp + 0x6f]
imul ecx, eax
mov dword [rbp + 0x77], ecx
mov eax, dword [rbp + 0x77]
mov ecx, dword [rbp + 0x67]
cdq
idiv ecx
mov dword [rbp - 0x39], eax
mov ecx, dword [rbp - 0x39]
mov eax, dword [rbp + 0x7f]
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov eax, dword [rbp + 0x77]
mov ecx, dword [rbp + 0x6f]
cdq
idiv ecx
mov eax, dword [rbp + 0x67]
add eax, edx
mov dword [rbp + 0x7f], eax
mov ecx, dword [rbp + 0x7f]
mov eax, dword [rbp + 0x7f]
imul ecx, eax
mov dword [rbp - 0x41], ecx
mov ecx, 1
mov eax, dword [rbp + 0x67]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x41]
cdq
idiv ecx
mov dword [rbp + 0x6f], eax
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp - 0x39]
sub ecx, eax
mov dword [rbp - 0x49], ecx
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp + 0x77]
imul ecx, eax
mov dword [rbp + 0x77], ecx
mov ecx, 1
mov eax, dword [rbp + 0x6f]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x77]
cdq
idiv ecx
mov dword [rbp - 0x49], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x41]
add ecx, eax
mov dword [rbp - 0x39], ecx
mov ecx, dword [rbp - 0x39]
mov eax, dword [rbp + 0x7f]
sub ecx, eax
mov dword [rbp + 0x6f], ecx
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
imul ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, 1
mov eax, dword [rbp + 0x6f]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x67]
cdq
idiv ecx
mov dword [rbp + 0x6f], eax
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x77]
add ecx, eax
mov dword [rbp + 0x77], ecx
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp - 0x39]
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp - 0x49]
imul ecx, eax
mov dword [rbp + 0x7f], ecx
mov ecx, 1
mov eax, dword [rbp + 0x67]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x7f]
cdq
idiv ecx
mov dword [rbp - 0x49], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp + 0x6f]
add ecx, eax
mov dword [rbp + 0x6f], ecx
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x77]
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x7f]
imul ecx, eax
mov dword [rbp + 0x77], ecx
mov ecx, 1
mov eax, dword [rbp + 0x67]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x77]
cdq
idiv ecx
mov dword [rbp + 0x7f], eax
mov ecx, dword [rbp + 0x7f]
mov eax, dword [rbp - 0x49]
add ecx, eax
mov dword [rbp - 0x49], ecx
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp + 0x6f]
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x77]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov ecx, 1
mov eax, dword [rbp + 0x67]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x6f]
cdq
idiv ecx
mov dword [rbp + 0x77], eax
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x7f]
add ecx, eax
mov dword [rbp + 0x7f], ecx
mov ecx, dword [rbp + 0x7f]
mov eax, dword [rbp - 0x49]
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov ecx, 1
mov eax, dword [rbp + 0x67]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x6f]
cdq
idiv ecx
mov dword [rbp - 0x49], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp + 0x77]
add ecx, eax
mov dword [rbp + 0x77], ecx
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x7f]
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov ecx, 1
mov eax, dword [rbp + 0x67]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x6f]
cdq
idiv ecx
mov dword [rbp + 0x7f], eax
mov ecx, dword [rbp + 0x7f]
mov eax, dword [rbp - 0x49]
add ecx, eax
mov dword [rbp - 0x49], ecx
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp + 0x77]
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov ecx, 1
mov eax, dword [rbp + 0x67]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x6f]
cdq
idiv ecx
mov dword [rbp + 0x77], eax
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x7f]
add ecx, eax
mov dword [rbp + 0x7f], ecx
mov ecx, dword [rbp + 0x7f]
mov eax, dword [rbp - 0x49]
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov ecx, 1
mov eax, dword [rbp + 0x67]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x6f]
cdq
idiv ecx
mov dword [rbp - 0x49], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp + 0x77]
add ecx, eax
mov dword [rbp + 0x77], ecx
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x7f]
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov ecx, 1
mov eax, dword [rbp + 0x67]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x6f]
cdq
idiv ecx
mov dword [rbp + 0x67], eax
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp - 0x49]
add ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x77]
sub ecx, eax
mov dword [rbp + 0x67], ecx
call fcn.14002aa90
mov byte [rbp + 0x67], 0x61
mov rdx, rsi
movzx eax, byte [rbp + 0x67]
xor ecx, ecx
inc al
mov byte [rbp + 0x67], al
movzx eax, byte [rbp + 0x67]
mov byte [rbp + 0x67], al
mov rax, qword [0x1400300b0]
call rax
movss xmm0, dword [0x14002db04]
mov r14, rax
mov dword [rbp + 0x6f], 0xc9
xor edx, edx
mov byte [rbp + 0x67], 0x99
movss dword [rbp - 0x49], xmm0
movd xmm1, dword [rbp + 0x6f]
cvtdq2ps xmm1, xmm1
addss xmm1, dword [rbp - 0x49]
cvtps2pd xmm0, xmm1
movsd qword [rbp - 0x39], xmm0
movd xmm1, dword [rbp + 0x6f]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [rbp - 0x39]
cvttsd2si eax, xmm1
mov dword [rbp + 0x77], eax
movd xmm1, dword [rbp + 0x77]
movsd xmm0, qword [rbp - 0x39]
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
cvttsd2si rax, xmm1
mov dword [rbp + 0x7f], eax
mov eax, dword [rbp + 0x7f]
mov ecx, dword [rbp + 0x6f]
div ecx
mov word [rbp + 0x67], ax
movsx ecx, word [rbp + 0x67]
mov eax, dword [rbp + 0x7f]
add eax, ecx
mov dword [rbp + 0x67], eax
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x77]
cmp ecx, eax
seta byte [rbp + 0x67]
movzx eax, byte [rbp + 0x67]
test al, al
mov eax, dword [rbp + 0x6f]
jne 0x14001554f
mov eax, dword [rbp + 0x77]
mov dword [rbp + 0x67], eax
xor edx, edx
mov eax, dword [rbp + 0x67]
mov byte [rbp + 0x67], al
movsx eax, byte [rbp + 0x67]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [rbp - 0x49]
movss dword [rbp + 0x67], xmm0
movss xmm0, dword [rbp + 0x67]
cvtps2pd xmm1, xmm0
mulsd xmm1, qword [rbp - 0x39]
movsd qword [rbp + 0x6f], xmm1
movsd xmm0, qword [rbp + 0x6f]
cvttsd2si eax, xmm0
mov dword [rbp + 0x6f], eax
movd xmm1, dword [rbp + 0x6f]
movss xmm0, dword [rbp + 0x67]
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
cvttss2si rax, xmm1
mov dword [rbp + 0x77], eax
mov eax, dword [rbp + 0x77]
mov ecx, dword [rbp + 0x6f]
div ecx
mov word [rbp + 0x67], ax
movsx ecx, word [rbp + 0x67]
mov eax, dword [rbp + 0x77]
add eax, ecx
mov dword [rbp + 0x77], eax
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x6f]
cmp ecx, eax
seta byte [rbp + 0x67]
movzx eax, byte [rbp + 0x67]
test al, al
mov eax, dword [rbp + 0x6f]
jne 0x1400155d8
mov eax, dword [rbp + 0x77]
mov dword [rbp + 0x67], eax
mov ecx, 0x750
mov eax, dword [rbp + 0x67]
mov byte [rbp + 0x67], al
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
test r14, r14
jne 0x140015660
mov dword [rbp + 0x77], 0xd8
mov dil, 1
mov dword [rbp + 0x67], 0x5a
mov dword [rbp + 0x6f], 0x111
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x77]
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x77]
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x77]
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x77]
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x77]
mov eax, dword [rbp + 0x6f]
mov dword [rbp + 0x7f], eax
mov eax, dword [rbp + 0x77]
mov dword [rbp + 0x77], eax
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x67], eax
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x77]
mov ecx, 0x4b0
mov eax, dword [rbp + 0x7f]
mov dword [rbp + 0x7f], edi
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
call fcn.1400294f0
jmp 0x140016dab
mov byte [rbp + 0x67], 1
mov edx, edi
movzx eax, byte [rbp + 0x67]
mov byte [rbp + 0x67], dil
movzx eax, byte [rbp + 0x67]
mov byte [rbp + 0x67], al
mov dword [rbp + 0x77], 0x77
mov dword [rbp + 0x67], 1
mov dword [rbp + 0x7f], edi
mov dword [rbp - 0x49], edi
mov dword [rbp + 0x6f], 1
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x77]
cmp edx, 9
jge 0x1400156c9
mov eax, dword [rbp + 0x77]
inc edx
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp - 0x49]
add ecx, eax
mov dword [rbp + 0x7f], ecx
mov eax, dword [rbp + 0x6f]
mov dword [rbp - 0x49], eax
mov eax, dword [rbp + 0x7f]
mov dword [rbp + 0x6f], eax
mov eax, dword [rbp + 0x67]
inc eax
mov dword [rbp + 0x67], eax
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x77]
cmp ecx, eax
jne 0x140015696
mov eax, dword [rbp + 0x67]
cmp eax, 1
jne 0x1400156d7
mov eax, dword [rbp + 0x6f]
mov dword [rbp - 0x39], eax
mov eax, dword [rbp + 0x7f]
mov ecx, 0x848
mov dword [rbp - 0x39], eax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rax, qword [0x1400300c8]
mov rdx, rsi
xor ecx, ecx
call rax
mov dword [rbp + 0x6f], 0x17
mov edx, edi
mov dword [rbp + 0x7f], edi
mov dword [rbp + 0x77], edi
mov dword [rbp + 0x67], 1
mov dword [rbp - 0x41], edi
movsxd rsi, eax
mov eax, dword [rbp + 0x6f]
cmp edx, 0xa
jge 0x140015777
mov eax, dword [rbp + 0x6f]
inc edx
mov dword [rbp + 0x7f], eax
mov dword [rbp + 0x6f], 0xef
mov eax, dword [rbp + 0x6f]
mov dword [rbp + 0x77], eax
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x7f]
cmp ecx, eax
jne 0x140015743
mov eax, dword [rbp + 0x67]
inc eax
mov dword [rbp + 0x67], eax
jmp 0x140015753
mov ecx, dword [rbp - 0x41]
mov eax, dword [rbp + 0x67]
cmp ecx, eax
jge 0x140015753
mov eax, dword [rbp + 0x67]
mov dword [rbp - 0x41], eax
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x7f]
cmp ecx, eax
jle 0x140015764
mov dword [rbp + 0x67], 1
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x7f]
cmp ecx, eax
jge 0x140015712
mov dword [rbp + 0x67], 1
jmp 0x140015712
mov eax, dword [rbp - 0x41]
mov dword [rbp + 0x67], eax
test esi, esi
jne 0x140015864
mov dword [rbp + 0x67], 0xfd
mov edx, edi
mov eax, dword [rbp + 0x67]
mov dword [rbp - 0x49], eax
mov dword [rbp + 0x6f], edi
mov dword [rbp + 0x77], edi
mov dword [rbp + 0x7f], edi
mov dword [rbp + 0x67], 0x22
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x6f], eax
mov dword [rbp + 0x67], 0x11a
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x77], eax
mov eax, dword [rbp + 0x67]
cmp edx, 0xc
jge 0x1400157f9
mov eax, dword [rbp + 0x67]
inc edx
test eax, eax
je 0x1400157f9
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp - 0x49]
cmp ecx, eax
jle 0x1400157e4
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x6f]
cmp eax, ecx
jle 0x1400157e4
mov eax, dword [rbp + 0x7f]
inc eax
mov dword [rbp + 0x7f], eax
mov eax, dword [rbp + 0x6f]
mov dword [rbp - 0x49], eax
mov eax, dword [rbp + 0x77]
mov dword [rbp + 0x6f], eax
mov dword [rbp + 0x67], 0xbd
jmp 0x1400157b1
mov eax, dword [rbp + 0x7f]
mov dword [rbp + 0x67], eax
mov dword [rbp + 0x6f], 0xf
mov dword [rbp + 0x67], edi
mov eax, dword [rbp + 0x6f]
nop dword [rax]
cmp edi, 0xa
jge 0x140015829
mov eax, dword [rbp + 0x67]
inc edi
add eax, ebx
add ebx, 2
mov dword [rbp + 0x67], eax
mov eax, dword [rbp + 0x6f]
cmp ebx, eax
jle 0x140015810
mov ecx, 0x5a0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov byte [rbp + 0x67], 0x61
movzx eax, byte [rbp + 0x67]
inc al
mov byte [rbp + 0x67], al
movzx eax, byte [rbp + 0x67]
mov byte [rbp + 0x67], al
mov dword [rbp + 0x67], 0x6b
mov dword [rbp + 0x6f], 0x78
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
jmp 0x140016da8
mov ecx, 0x10
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0xcf8
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov byte [rbp + 0x67], 1
movzx eax, byte [rbp + 0x67]
mov byte [rbp + 0x67], dil
movzx eax, byte [rbp + 0x67]
mov byte [rbp + 0x67], al
call fcn.1400294f0
mov ecx, 0x190
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x988
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rax, qword [0x140030080]
mov rcx, r14
call rax
movss xmm0, dword [0x14002dbdc]
mov rbx, rax
movss dword [rbp + 0x67], xmm0
movss xmm0, dword [rbp + 0x67]
cvtps2pd xmm1, xmm0
mulsd xmm1, qword [0x14002d4a0]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0x67], xmm1
movss xmm0, dword [rbp + 0x67]
movss dword [rbp + 0x67], xmm0
test rax, rax
jne 0x14001598d
mov ecx, 0x410
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp + 0x67], 0xb1
mov dword [rbp + 0x6f], 0x9a
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
mov ecx, 0x760
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x67], eax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp + 0x77], 0xf5
mov dword [rbp + 0x67], 1
mov dword [rbp + 0x7f], edi
mov dword [rbp - 0x49], edi
mov dword [rbp + 0x6f], 1
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x77]
cmp edi, 9
jge 0x140015974
mov eax, dword [rbp + 0x77]
inc edi
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp - 0x49]
add ecx, eax
mov dword [rbp + 0x7f], ecx
mov eax, dword [rbp + 0x6f]
mov dword [rbp - 0x49], eax
mov eax, dword [rbp + 0x7f]
mov dword [rbp + 0x6f], eax
mov eax, dword [rbp + 0x67]
inc eax
mov dword [rbp + 0x67], eax
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x77]
cmp ecx, eax
jne 0x140015941
mov eax, dword [rbp + 0x67]
cmp eax, 1
jne 0x140015982
mov eax, dword [rbp + 0x6f]
mov dword [rbp - 0x39], eax
mov eax, dword [rbp + 0x7f]
mov dword [rbp - 0x39], eax
jmp 0x140016dab
movsd xmm0, qword [0x14002d7a0]
mov ecx, 0x208
movsd qword [rbp + 0x67], xmm0
movsd xmm1, qword [rbp + 0x67]
movsd xmm2, qword [rbp + 0x67]
cvttsd2si eax, xmm1
mov qword [rsp + 0x98], r15
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm2, xmm0
mulsd xmm2, xmm8
cvttsd2si eax, xmm2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [rbp + 0x67], xmm0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
movsd xmm0, qword [0x14002d888]
movsd xmm1, qword [0x14002d900]
movsd qword [rbp + 0x6f], xmm0
movsd xmm0, qword [0x14002d598]
movsd qword [rbp + 0x77], xmm1
movsd qword [rbp + 0x67], xmm0
movsd xmm1, qword [rbp + 0x67]
divsd xmm1, xmm6
movsd qword [rbp + 0x67], xmm1
movsd xmm0, qword [rbp + 0x6f]
mulsd xmm0, xmm6
addsd xmm0, qword [rbp + 0x77]
movsd qword [rbp + 0x6f], xmm0
movsd xmm1, qword [rbp + 0x6f]
movsd xmm0, qword [rbp + 0x67]
mulsd xmm1, xmm0
movsd qword [rbp + 0x67], xmm1
movsd xmm2, qword [rbp + 0x67]
movsd xmm0, qword [rbp + 0x6f]
addsd xmm2, xmm0
cvttsd2si eax, xmm2
mov dword [rbp + 0x67], eax
mov eax, 0x51eb851f
mov ecx, dword [rbp + 0x67]
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x64
sub ecx, eax
mov eax, 0x51eb851f
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
movsd qword [rbp + 0x77], xmm0
mov ecx, dword [rbp + 0x67]
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movd xmm0, edx
cvtdq2pd xmm0, xmm0
movsd qword [rbp + 0x6f], xmm0
movsd xmm1, qword [rbp + 0x6f]
movsd qword [rbp + 0x67], xmm1
movsd xmm0, qword [rbp + 0x77]
movsd qword [rbp + 0x67], xmm0
call fcn.1400283e0
mov dword [rbp + 0x67], 0x96
mov eax, 0x66666667
mov r8d, dword [rbp + 0x67]
mov ecx, 0x50
imul r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub r8d, eax
mov dword [rbp + 0x67], r8d
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rsi
mov r14, rsi
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
movss xmm0, dword [0x14002db68]
xor edx, edx
mov dword [rbp + 0x6f], 0x2e
mov r15, rax
mov byte [rbp + 0x67], 0x75
movss dword [rbp - 0x49], xmm0
movd xmm1, dword [rbp + 0x6f]
cvtdq2ps xmm1, xmm1
addss xmm1, dword [rbp - 0x49]
cvtps2pd xmm0, xmm1
movsd qword [rbp - 0x39], xmm0
movd xmm1, dword [rbp + 0x6f]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [rbp - 0x39]
cvttsd2si eax, xmm1
mov dword [rbp + 0x77], eax
movd xmm1, dword [rbp + 0x77]
movsd xmm0, qword [rbp - 0x39]
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
cvttsd2si rax, xmm1
mov dword [rbp + 0x7f], eax
mov eax, dword [rbp + 0x7f]
mov ecx, dword [rbp + 0x6f]
div ecx
mov word [rbp + 0x67], ax
movsx ecx, word [rbp + 0x67]
mov eax, dword [rbp + 0x7f]
add eax, ecx
mov dword [rbp + 0x67], eax
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x77]
cmp ecx, eax
seta byte [rbp + 0x67]
movzx eax, byte [rbp + 0x67]
test al, al
mov eax, dword [rbp + 0x6f]
jne 0x140015b80
mov eax, dword [rbp + 0x77]
mov dword [rbp + 0x67], eax
xor edx, edx
mov eax, dword [rbp + 0x67]
mov byte [rbp + 0x67], al
movsx eax, byte [rbp + 0x67]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [rbp - 0x49]
movss dword [rbp + 0x67], xmm0
movss xmm0, dword [rbp + 0x67]
cvtps2pd xmm1, xmm0
mulsd xmm1, qword [rbp - 0x39]
movsd qword [rbp + 0x6f], xmm1
movsd xmm0, qword [rbp + 0x6f]
cvttsd2si eax, xmm0
mov dword [rbp + 0x6f], eax
movd xmm1, dword [rbp + 0x6f]
movss xmm0, dword [rbp + 0x67]
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
cvttss2si rax, xmm1
mov dword [rbp + 0x77], eax
mov eax, dword [rbp + 0x77]
mov ecx, dword [rbp + 0x6f]
div ecx
mov word [rbp + 0x67], ax
movsx ecx, word [rbp + 0x67]
mov eax, dword [rbp + 0x77]
add eax, ecx
mov dword [rbp + 0x77], eax
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x77]
cmp eax, ecx
seta byte [rbp + 0x67]
movzx eax, byte [rbp + 0x67]
test al, al
mov eax, dword [rbp + 0x6f]
jne 0x140015c09
mov eax, dword [rbp + 0x77]
mov dword [rbp + 0x67], eax
mov eax, dword [rbp + 0x67]
mov byte [rbp + 0x67], al
mov dword [rbp + 0x67], 0xe5
mov dword [rbp + 0x6f], 0xd1
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
add ecx, eax
mov dword [rbp + 0x7f], ecx
mov ecx, dword [rbp + 0x7f]
mov eax, dword [rbp + 0x6f]
imul ecx, eax
mov dword [rbp + 0x77], ecx
mov eax, dword [rbp + 0x77]
mov ecx, dword [rbp + 0x67]
cdq
idiv ecx
mov dword [rbp - 0x49], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp + 0x7f]
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov eax, dword [rbp + 0x77]
mov ecx, dword [rbp + 0x6f]
cdq
idiv ecx
mov eax, dword [rbp + 0x67]
add eax, edx
mov dword [rbp + 0x7f], eax
mov ecx, dword [rbp + 0x7f]
mov eax, dword [rbp + 0x7f]
imul ecx, eax
mov dword [rbp - 0x39], ecx
mov ecx, 1
mov eax, dword [rbp + 0x67]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x39]
cdq
idiv ecx
mov dword [rbp + 0x6f], eax
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp - 0x49]
sub ecx, eax
mov dword [rbp - 0x49], ecx
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp + 0x77]
imul ecx, eax
mov dword [rbp + 0x77], ecx
mov ecx, 1
mov eax, dword [rbp + 0x6f]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x77]
cdq
idiv ecx
mov dword [rbp - 0x41], eax
mov ecx, dword [rbp - 0x41]
mov eax, dword [rbp - 0x39]
add ecx, eax
mov dword [rbp - 0x49], ecx
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp + 0x7f]
sub ecx, eax
mov dword [rbp + 0x6f], ecx
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
imul ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, 1
mov eax, dword [rbp + 0x6f]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x67]
cdq
idiv ecx
mov dword [rbp + 0x6f], eax
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x77]
add ecx, eax
mov dword [rbp + 0x77], ecx
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp - 0x49]
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp - 0x41]
imul ecx, eax
mov dword [rbp + 0x7f], ecx
mov ecx, 1
mov eax, dword [rbp + 0x67]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x7f]
cdq
idiv ecx
mov dword [rbp - 0x49], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp + 0x6f]
add ecx, eax
mov dword [rbp + 0x6f], ecx
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x77]
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x7f]
imul ecx, eax
mov dword [rbp + 0x77], ecx
mov ecx, 1
mov eax, dword [rbp + 0x67]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x77]
cdq
idiv ecx
mov dword [rbp + 0x7f], eax
mov ecx, dword [rbp + 0x7f]
mov eax, dword [rbp - 0x49]
add ecx, eax
mov dword [rbp - 0x49], ecx
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp + 0x6f]
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x77]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov ecx, 1
mov eax, dword [rbp + 0x67]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x6f]
cdq
idiv ecx
mov dword [rbp + 0x77], eax
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x7f]
add ecx, eax
mov dword [rbp + 0x7f], ecx
mov ecx, dword [rbp + 0x7f]
mov eax, dword [rbp - 0x49]
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov ecx, 1
mov eax, dword [rbp + 0x67]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x6f]
cdq
idiv ecx
mov dword [rbp - 0x49], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp + 0x77]
add ecx, eax
mov dword [rbp + 0x77], ecx
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x7f]
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov ecx, 1
mov eax, dword [rbp + 0x67]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x6f]
cdq
idiv ecx
mov dword [rbp + 0x7f], eax
mov ecx, dword [rbp + 0x7f]
mov eax, dword [rbp - 0x49]
add ecx, eax
mov dword [rbp - 0x49], ecx
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp + 0x77]
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov ecx, 1
mov eax, dword [rbp + 0x67]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x6f]
cdq
idiv ecx
mov dword [rbp + 0x77], eax
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x7f]
add ecx, eax
mov dword [rbp + 0x7f], ecx
mov ecx, dword [rbp + 0x7f]
mov eax, dword [rbp - 0x49]
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov ecx, 1
mov eax, dword [rbp + 0x67]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x6f]
cdq
idiv ecx
mov dword [rbp - 0x49], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp + 0x77]
add ecx, eax
mov dword [rbp + 0x77], ecx
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x7f]
sub ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov ecx, 1
mov eax, dword [rbp + 0x67]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x6f]
cdq
idiv ecx
mov dword [rbp + 0x67], eax
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp - 0x49]
add ecx, eax
mov dword [rbp + 0x67], ecx
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x77]
movss xmm0, dword [0x14002db78]
sub ecx, eax
mov dword [rbp + 0x67], ecx
xor edx, edx
mov dword [rbp + 0x6f], 0xa9
mov byte [rbp + 0x67], 0x8c
movss dword [rbp - 0x49], xmm0
movd xmm1, dword [rbp + 0x6f]
cvtdq2ps xmm1, xmm1
addss xmm1, dword [rbp - 0x49]
cvtps2pd xmm0, xmm1
movsd qword [rbp - 0x39], xmm0
movd xmm1, dword [rbp + 0x6f]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [rbp - 0x39]
cvttsd2si eax, xmm1
mov dword [rbp + 0x77], eax
movd xmm1, dword [rbp + 0x77]
movsd xmm0, qword [rbp - 0x39]
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
cvttsd2si rax, xmm1
mov dword [rbp + 0x7f], eax
mov eax, dword [rbp + 0x7f]
mov ecx, dword [rbp + 0x6f]
div ecx
mov word [rbp + 0x67], ax
movsx ecx, word [rbp + 0x67]
mov eax, dword [rbp + 0x7f]
add eax, ecx
mov dword [rbp + 0x67], eax
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x77]
cmp ecx, eax
seta byte [rbp + 0x67]
movzx eax, byte [rbp + 0x67]
test al, al
mov eax, dword [rbp + 0x6f]
jne 0x140015f4c
mov eax, dword [rbp + 0x77]
mov dword [rbp + 0x67], eax
xor edx, edx
mov eax, dword [rbp + 0x67]
mov byte [rbp + 0x67], al
movsx eax, byte [rbp + 0x67]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [rbp - 0x49]
movss dword [rbp + 0x67], xmm0
movss xmm0, dword [rbp + 0x67]
cvtps2pd xmm1, xmm0
mulsd xmm1, qword [rbp - 0x39]
movsd qword [rbp + 0x6f], xmm1
movsd xmm0, qword [rbp + 0x6f]
cvttsd2si eax, xmm0
mov dword [rbp + 0x6f], eax
movd xmm1, dword [rbp + 0x6f]
movss xmm0, dword [rbp + 0x67]
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
cvttss2si rax, xmm1
mov dword [rbp + 0x77], eax
mov eax, dword [rbp + 0x77]
mov ecx, dword [rbp + 0x6f]
div ecx
mov word [rbp + 0x67], ax
movsx ecx, word [rbp + 0x67]
mov eax, dword [rbp + 0x77]
add eax, ecx
mov dword [rbp + 0x77], eax
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x6f]
cmp ecx, eax
seta byte [rbp + 0x67]
movzx eax, byte [rbp + 0x67]
test al, al
mov eax, dword [rbp + 0x6f]
jne 0x140015fd5
mov eax, dword [rbp + 0x77]
mov dword [rbp + 0x67], eax
xor r9d, r9d
mov eax, dword [rbp + 0x67]
mov r8, r14
mov rdx, rbx
mov byte [rbp + 0x67], al
mov rcx, r15
call fcn.140003d60
mov dword [rbp + 0x77], 0x108
mov dword [rbp + 0x67], 0xe8
mov dword [rbp + 0x6f], 0x29
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x77]
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x77]
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x77]
mov ecx, edi
mov eax, dword [rbp + 0x77]
mov cl, 1
mov dword [rbp + 0x7f], eax
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x77], eax
mov eax, dword [rbp + 0x6f]
mov dword [rbp + 0x67], eax
mov edx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x77]
mov eax, dword [rbp + 0x7f]
mov dword [rbp + 0x7f], ecx
mov ecx, 0x370
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
call fcn.14002b150
mov ecx, 0x18
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp + 0x77], 0xd3
mov dword [rbp + 0x67], 0x10
mov dword [rbp + 0x6f], 0xef
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x77]
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x77]
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x77]
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x77]
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x77]
mov ecx, edi
mov eax, dword [rbp + 0x6f]
mov dword [rbp + 0x7f], eax
mov eax, dword [rbp + 0x77]
mov dword [rbp + 0x77], eax
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x67], eax
mov edx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x77]
mov eax, dword [rbp + 0x7f]
mov dword [rbp + 0x7f], ecx
mov ecx, 0xa0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp + 0x67], 0xe9
mov dword [rbp + 0x6f], 0x21
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
mov ecx, 0x150
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x67], eax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x708
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x450
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
movsd xmm0, qword [0x14002da70]
mov dword [rbp + 0x7f], 0x4a
movsd qword [rbp - 0x49], xmm0
mov byte [rbp + 0x67], 0xea
mov byte [rbp + 0x6f], 1
movsd xmm0, qword [rbp - 0x49]
cvttsd2si eax, xmm0
mov ecx, dword [rbp + 0x7f]
add ecx, eax
mov dword [rbp + 0x77], ecx
movd xmm0, dword [rbp + 0x77]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [rbp - 0x49]
movsd qword [rbp - 0x49], xmm0
movsx ecx, byte [rbp + 0x67]
mov eax, dword [rbp + 0x77]
add al, cl
mov byte [rbp + 0x67], al
movzx eax, byte [rbp + 0x6f]
mov eax, dword [rbp + 0x77]
cmp eax, 0x32
jle 0x14001614e
mov al, 1
jmp 0x140016150
xor eax, eax
mov byte [rbp + 0x6f], al
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x77]
imul ecx, eax
mov dword [rbp + 0x77], ecx
movsd xmm1, qword [rbp - 0x49]
movd xmm0, dword [rbp + 0x7f]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [rbp + 0x7f], xmm1
movzx eax, byte [rbp + 0x67]
dec al
mov byte [rbp + 0x67], al
movzx eax, byte [rbp + 0x6f]
test al, al
mov eax, 0x66666667
sete byte [rbp + 0x6f]
mov ecx, dword [rbp + 0x77]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
mov dword [rbp + 0x77], ecx
movsd xmm0, qword [rbp + 0x7f]
addsd xmm0, xmm6
movsd qword [rbp + 0x7f], xmm0
movzx eax, byte [rbp + 0x67]
add al, 2
mov byte [rbp + 0x67], al
movzx eax, byte [rbp + 0x6f]
test al, al
jne 0x1400161d2
mov eax, dword [rbp + 0x77]
cmp eax, 5
jl 0x1400161d2
xor eax, eax
jmp 0x1400161d4
mov al, 1
mov byte [rbp + 0x67], al
call fcn.1400288b0
mov dword [rbp + 0x67], 0x74
mov ecx, 0x2c8
mov eax, dword [rbp + 0x67]
xor eax, 0xff
mov dword [rbp + 0x67], eax
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x67], eax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x104
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp + 0x67], 0xc3
mov ecx, 0xd98
mov eax, dword [rbp + 0x67]
cdq
sub eax, edx
sar eax, 1
lea eax, [rax*2 + 2]
mov dword [rbp + 0x67], eax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x708
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp + 0x67], 0xb7
mov edx, edi
mov eax, dword [rbp + 0x67]
mov dword [rbp - 0x49], eax
mov dword [rbp + 0x6f], edi
mov dword [rbp + 0x77], edi
mov dword [rbp + 0x7f], edi
mov dword [rbp + 0x67], 0x54
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x6f], eax
mov dword [rbp + 0x67], 0xe6
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x77], eax
mov eax, dword [rbp + 0x67]
cmp edx, 0xc
jge 0x1400162ad
mov eax, dword [rbp + 0x67]
inc edx
test eax, eax
je 0x1400162ad
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp - 0x49]
cmp ecx, eax
jle 0x140016298
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x6f]
cmp eax, ecx
jle 0x140016298
mov eax, dword [rbp + 0x7f]
inc eax
mov dword [rbp + 0x7f], eax
mov eax, dword [rbp + 0x6f]
mov dword [rbp - 0x49], eax
mov eax, dword [rbp + 0x77]
mov dword [rbp + 0x6f], eax
mov dword [rbp + 0x67], 0xc6
jmp 0x140016265
mov eax, dword [rbp + 0x7f]
mov ecx, 0x340
mov dword [rbp + 0x67], eax
mov dword [rbp + 0x67], 0x1c
mov eax, dword [rbp + 0x67]
xor eax, 0xff
mov dword [rbp + 0x67], eax
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x67], eax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x100
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0xbe0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
movdqa xmm0, xmmword [0x14002e690]
lea rdx, str.copperer
mov r9d, 8
lea rcx, [rbp - 0x39]
mov r8d, 4
movdqu xmmword [rbp - 0x39], xmm0
call fcn.140002670
mov rcx, rax
call qword [sym.imp.msvcrt.dll_getenv]
mov dword [rbp + 0x67], 0x9f
mov rsi, rax
mov dword [rbp + 0x6f], 0x2d
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
add ecx, eax
mov dword [rbp + 0x77], ecx
mov eax, dword [rbp + 0x6f]
mov ecx, dword [rbp + 0x67]
sub ecx, eax
movdqa xmm0, xmmword [0x14002e0a0]
mov dword [rbp + 0x6f], ecx
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x77]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov eax, dword [rbp + 0x6f]
mov ecx, dword [rbp + 0x67]
cdq
idiv ecx
mov dword [rbp + 0x67], eax
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x67], eax
mov dword [rbp + 0x67], 0xb2
mov dword [rbp + 0x6f], 0x11f
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
imul ecx, eax
mov dword [rbp + 0x67], ecx
mov dword [rbp + 0x77], 0xbb
mov dword [rbp + 0x67], 0xa5
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
imul ecx, eax
mov eax, dword [rbp + 0x77]
add eax, ecx
mov dword [rbp + 0x7f], eax
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x67]
imul ecx, eax
mov eax, dword [rbp + 0x6f]
imul eax, ecx
cdq
sub eax, edx
mov edx, dword [rbp + 0x67]
sar eax, 1
mov ecx, eax
mov eax, dword [rbp + 0x77]
imul edx, eax
add edx, ecx
mov dword [rbp + 0x67], edx
mov dword [rbp + 0x67], 0xdb
mov eax, dword [rbp + 0x67]
sub eax, 0x64
mov dword [rbp + 0x67], eax
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x67], eax
movdqu xmmword [rbp - 0x29], xmm0
movdqa xmm1, xmmword [0x14002ea20]
lea rdx, str.yami
mov r9d, 4
mov dword [rbp - 9], 0x1c
mov r8d, 0xb
mov dword [rbp - 5], 0x19
lea rcx, [rbp - 0x29]
mov dword [rbp - 1], 8
movdqu xmmword [rbp - 0x19], xmm1
call fcn.140002670
mov ecx, 0xeb0
mov rbx, rax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0xd0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x558
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x390
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x690
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
call fcn.1400278d0
movsd xmm0, qword [0x14002d960]
mov dword [rbp + 0x7f], 0xd8
movsd qword [rbp - 0x49], xmm0
mov byte [rbp + 0x67], 0x43
mov byte [rbp + 0x6f], 1
movsd xmm0, qword [rbp - 0x49]
mov ecx, dword [rbp + 0x7f]
cvttsd2si eax, xmm0
add ecx, eax
mov dword [rbp + 0x77], ecx
movd xmm0, dword [rbp + 0x77]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [rbp - 0x49]
movsd qword [rbp - 0x49], xmm0
movsx ecx, byte [rbp + 0x67]
mov eax, dword [rbp + 0x77]
add al, cl
mov byte [rbp + 0x67], al
movzx eax, byte [rbp + 0x6f]
mov eax, dword [rbp + 0x77]
cmp eax, 0x32
jle 0x1400164bc
mov al, 1
jmp 0x1400164be
xor eax, eax
mov byte [rbp + 0x6f], al
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x77]
imul ecx, eax
mov dword [rbp + 0x77], ecx
movsd xmm1, qword [rbp - 0x49]
movd xmm0, dword [rbp + 0x7f]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [rbp + 0x7f], xmm1
movzx eax, byte [rbp + 0x67]
dec al
mov byte [rbp + 0x67], al
movzx eax, byte [rbp + 0x6f]
test al, al
mov eax, 0x66666667
sete byte [rbp + 0x6f]
mov ecx, dword [rbp + 0x77]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
mov dword [rbp + 0x77], ecx
movsd xmm0, qword [rbp + 0x7f]
addsd xmm0, xmm6
movsd qword [rbp + 0x7f], xmm0
movzx eax, byte [rbp + 0x67]
add al, 2
mov byte [rbp + 0x67], al
movzx eax, byte [rbp + 0x6f]
test al, al
jne 0x140016540
mov eax, dword [rbp + 0x77]
cmp eax, 5
jl 0x140016540
xor eax, eax
jmp 0x140016542
mov al, 1
mov byte [rbp + 0x67], al
lea rcx, [rsi - 1]
nop dword [rax]
cmp byte [rcx + 1], dil
lea rcx, [rcx + 1]
jne 0x140016550
xor edx, edx
nop dword [rax]
movzx eax, byte [rbx + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x140016560
movsd xmm0, qword [0x14002d590]
movsd qword [rbp + 0x6f], xmm0
movsd xmm1, qword [0x14002d878]
movsd qword [rbp + 0x77], xmm1
movsd xmm0, qword [0x14002d9b0]
movsd qword [rbp + 0x67], xmm0
movsd xmm1, qword [rbp + 0x67]
divsd xmm1, xmm6
movsd qword [rbp + 0x67], xmm1
movsd xmm0, qword [rbp + 0x6f]
mulsd xmm0, xmm6
addsd xmm0, qword [rbp + 0x77]
movsd qword [rbp + 0x6f], xmm0
movsd xmm1, qword [rbp + 0x6f]
movsd xmm0, qword [rbp + 0x67]
mulsd xmm1, xmm0
movsd qword [rbp + 0x67], xmm1
movsd xmm2, qword [rbp + 0x67]
movsd xmm0, qword [rbp + 0x6f]
addsd xmm2, xmm0
cvttsd2si eax, xmm2
mov dword [rbp + 0x67], eax
mov eax, 0x51eb851f
mov ecx, dword [rbp + 0x67]
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x64
sub ecx, eax
mov eax, 0x51eb851f
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
movsd qword [rbp + 0x77], xmm0
mov ecx, dword [rbp + 0x67]
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movd xmm0, edx
cvtdq2pd xmm0, xmm0
movsd qword [rbp + 0x6f], xmm0
movsd xmm1, qword [rbp + 0x6f]
movsd qword [rbp + 0x67], xmm1
movsd xmm0, qword [rbp + 0x77]
movsd xmm1, qword [0x14002d6c8]
movsd qword [rbp + 0x67], xmm0
movsd xmm0, qword [0x14002d968]
movsd qword [rbp + 0x6f], xmm1
movsd xmm1, qword [0x14002d5a0]
movsd qword [rbp + 0x77], xmm0
movsd qword [rbp + 0x67], xmm1
movsd xmm0, qword [rbp + 0x67]
divsd xmm0, xmm6
movsd qword [rbp + 0x67], xmm0
movsd xmm1, qword [rbp + 0x6f]
mulsd xmm1, xmm6
addsd xmm1, qword [rbp + 0x77]
movsd qword [rbp + 0x6f], xmm1
movsd xmm1, qword [rbp + 0x6f]
movsd xmm0, qword [rbp + 0x67]
mulsd xmm1, xmm0
movsd qword [rbp + 0x67], xmm1
movsd xmm2, qword [rbp + 0x67]
movsd xmm0, qword [rbp + 0x6f]
addsd xmm2, xmm0
cvttsd2si eax, xmm2
mov dword [rbp + 0x67], eax
mov eax, 0x51eb851f
mov r8d, dword [rbp + 0x67]
imul r8d
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x64
sub r8d, ecx
movd xmm0, r8d
cvtdq2pd xmm0, xmm0
movsd qword [rbp + 0x77], xmm0
mov eax, 0x51eb851f
mov ecx, dword [rbp + 0x67]
imul ecx
mov ecx, 0x800
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movd xmm0, edx
cvtdq2pd xmm0, xmm0
movsd qword [rbp + 0x6f], xmm0
movsd xmm1, qword [rbp + 0x6f]
movsd qword [rbp + 0x67], xmm1
movsd xmm0, qword [rbp + 0x77]
movsd qword [rbp + 0x67], xmm0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0xb80
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov byte [rbp + 0x67], 0x61
lea rdx, [0x14002d404]
movzx eax, byte [rbp + 0x67]
mov rcx, rsi
inc al
mov byte [rbp + 0x67], al
movzx eax, byte [rbp + 0x67]
mov byte [rbp + 0x67], al
mov byte [rbp + 0x67], 0x61
movzx eax, byte [rbp + 0x67]
inc al
mov byte [rbp + 0x67], al
movzx eax, byte [rbp + 0x67]
mov byte [rbp + 0x67], al
call qword [sym.imp.msvcrt.dll_fopen]
mov dword [rbp + 0x67], 0x8f
mov ecx, 0x590
mov dword [rbp + 0x6f], 0x7c
mov rbx, rax
movd xmm0, dword [rbp + 0x67]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x14002d498]
divsd xmm0, qword [0x14002daa8]
mulsd xmm0, qword [0x14002d508]
movsd qword [rbp + 0x77], xmm0
movd xmm0, dword [rbp + 0x6f]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [rbp + 0x77]
movsd qword [rbp + 0x6f], xmm0
movd xmm1, dword [rbp + 0x67]
cvtdq2pd xmm1, xmm1
addsd xmm1, qword [rbp + 0x6f]
movsd qword [rbp + 0x67], xmm1
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x2c0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
movsd xmm0, qword [0x14002d638]
mov ecx, 0x6e0
mov byte [rbp + 0x67], 0x61
movzx eax, byte [rbp + 0x67]
inc al
mov byte [rbp + 0x67], al
movzx eax, byte [rbp + 0x67]
mov byte [rbp + 0x67], al
movsd qword [rbp + 0x67], xmm0
movsd xmm1, qword [rbp + 0x67]
movsd xmm2, qword [rbp + 0x67]
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm2, xmm0
mulsd xmm2, xmm8
cvttsd2si eax, xmm2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [rbp + 0x67], xmm0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp + 0x67], 0xf0
mov eax, 0x66666667
mov ecx, dword [rbp + 0x67]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
mov dword [rbp + 0x67], ecx
call fcn.14002b150
mov ecx, 0x60
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x2b0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r9, rbx
mov r8, r14
mov edx, 1
mov rcx, r15
call qword [sym.imp.msvcrt.dll_fwrite]
movsd xmm0, qword [0x14002da68]
mov ecx, 0x920
movsd qword [rbp + 0x67], xmm0
movsd xmm1, qword [rbp + 0x67]
movsd xmm2, qword [rbp + 0x67]
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm2, xmm0
mulsd xmm2, xmm8
cvttsd2si eax, xmm2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [rbp + 0x67], xmm0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x2b0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x48
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0xa00
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x3e0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
call fcn.14002bb40
mov byte [rbp + 0x67], 0x61
mov ecx, 0x28
movzx eax, byte [rbp + 0x67]
inc al
mov byte [rbp + 0x67], al
movzx eax, byte [rbp + 0x67]
mov byte [rbp + 0x67], al
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_fclose]
movsd xmm0, qword [0x14002da98]
mov ecx, 0xa8
movsd qword [rbp + 0x67], xmm0
movsd xmm1, qword [rbp + 0x67]
movsd xmm2, qword [rbp + 0x67]
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm2, xmm0
movsd qword [rbp + 0x67], xmm2
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x220
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp + 0x67], 0x84
mov edx, edi
mov eax, dword [rbp + 0x67]
mov dword [rbp - 0x49], eax
mov dword [rbp + 0x6f], edi
mov dword [rbp + 0x77], edi
mov dword [rbp + 0x7f], edi
mov dword [rbp + 0x67], 0x1c
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x6f], eax
mov dword [rbp + 0x67], 0x40
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x77], eax
mov eax, dword [rbp + 0x67]
cmp edx, 0xc
jge 0x1400169d1
mov eax, dword [rbp + 0x67]
inc edx
test eax, eax
je 0x1400169d1
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp - 0x49]
cmp ecx, eax
jle 0x1400169bc
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x6f]
cmp eax, ecx
jle 0x1400169bc
mov eax, dword [rbp + 0x7f]
inc eax
mov dword [rbp + 0x7f], eax
mov eax, dword [rbp + 0x6f]
mov dword [rbp - 0x49], eax
mov eax, dword [rbp + 0x77]
mov dword [rbp + 0x6f], eax
mov dword [rbp + 0x67], 0x113
jmp 0x140016989
mov eax, dword [rbp + 0x7f]
movsd xmm0, qword [0x14002d7b8]
mov dword [rbp + 0x67], eax
mov dword [rbp + 0x67], 0xd4
mov dword [rbp + 0x6f], 0xa7
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
imul ecx, eax
mov dword [rbp + 0x67], ecx
mov dword [rbp + 0x77], 0x11e
mov dword [rbp + 0x67], 0x8c
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
imul ecx, eax
mov eax, dword [rbp + 0x77]
add eax, ecx
mov dword [rbp + 0x7f], eax
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp + 0x67]
imul ecx, eax
mov eax, dword [rbp + 0x6f]
imul eax, ecx
cdq
sub eax, edx
mov edx, dword [rbp + 0x67]
mov ecx, dword [rbp + 0x77]
imul edx, ecx
mov rcx, r15
sar eax, 1
add edx, eax
mov dword [rbp + 0x67], edx
movsd qword [rbp + 0x67], xmm0
movsd xmm1, qword [rbp + 0x67]
divsd xmm1, qword [0x14002d4a8]
movsd qword [rbp + 0x67], xmm1
movsd xmm0, qword [rbp + 0x67]
movsd qword [rbp + 0x67], xmm0
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ecx, 0x80
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r15, qword [rsp + 0x98]
mov edx, edi
mov dword [rbp + 0x67], 0x104
mov eax, dword [rbp + 0x67]
mov dword [rbp - 0x49], eax
mov dword [rbp + 0x6f], edi
mov dword [rbp + 0x77], edi
mov dword [rbp + 0x7f], edi
mov dword [rbp + 0x67], 0x58
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x6f], eax
mov dword [rbp + 0x67], 0x8c
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x77], eax
mov eax, dword [rbp + 0x67]
cmp edx, 0xc
jge 0x140016aeb
mov eax, dword [rbp + 0x67]
inc edx
test eax, eax
je 0x140016aeb
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp - 0x49]
cmp ecx, eax
jle 0x140016ad6
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x6f]
cmp eax, ecx
jle 0x140016ad6
mov eax, dword [rbp + 0x7f]
inc eax
mov dword [rbp + 0x7f], eax
mov eax, dword [rbp + 0x6f]
mov dword [rbp - 0x49], eax
mov eax, dword [rbp + 0x77]
mov dword [rbp + 0x6f], eax
mov dword [rbp + 0x67], 0x40
jmp 0x140016aa3
mov eax, dword [rbp + 0x7f]
mov dword [rbp + 0x67], eax
call fcn.1400278d0
mov ecx, 0x38
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x860
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x400
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x318
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0xe8
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp + 0x67], 0x88
mov rcx, rsi
mov eax, dword [rbp + 0x67]
cdq
sub eax, edx
sar eax, 1
lea eax, [rax*2 + 2]
mov dword [rbp + 0x67], eax
call qword [sym.imp.msvcrt.dll_system]
mov ecx, 0x870
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
movsd xmm0, qword [0x14002d8d8]
mov dword [rbp + 0x7f], 0x37
movsd qword [rbp - 0x49], xmm0
mov byte [rbp + 0x67], 0x1e
mov byte [rbp + 0x6f], 1
movsd xmm0, qword [rbp - 0x49]
mov ecx, dword [rbp + 0x7f]
cvttsd2si eax, xmm0
add ecx, eax
mov dword [rbp + 0x77], ecx
movd xmm0, dword [rbp + 0x77]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [rbp - 0x49]
movsd qword [rbp - 0x49], xmm0
movsx ecx, byte [rbp + 0x67]
mov eax, dword [rbp + 0x77]
add al, cl
mov byte [rbp + 0x67], al
movzx eax, byte [rbp + 0x6f]
mov eax, dword [rbp + 0x77]
cmp eax, 0x32
jle 0x140016bb6
mov al, 1
jmp 0x140016bb8
xor eax, eax
mov byte [rbp + 0x6f], al
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x77]
imul ecx, eax
mov eax, 0x66666667
mov dword [rbp + 0x77], ecx
movsd xmm1, qword [rbp - 0x49]
movd xmm0, dword [rbp + 0x7f]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [rbp + 0x7f], xmm1
movzx ecx, byte [rbp + 0x67]
dec cl
mov byte [rbp + 0x67], cl
movzx ecx, byte [rbp + 0x6f]
test cl, cl
sete byte [rbp + 0x6f]
mov ecx, dword [rbp + 0x77]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
mov dword [rbp + 0x77], ecx
movsd xmm0, qword [rbp + 0x7f]
addsd xmm0, xmm6
movsd qword [rbp + 0x7f], xmm0
movzx eax, byte [rbp + 0x67]
add al, 2
mov byte [rbp + 0x67], al
movzx eax, byte [rbp + 0x6f]
test al, al
jne 0x140016c3a
mov eax, dword [rbp + 0x77]
cmp eax, 5
jl 0x140016c3a
xor eax, eax
jmp 0x140016c3c
mov al, 1
mov byte [rbp + 0x67], al
mov edx, edi
mov dword [rbp + 0x6f], 0x53
mov dword [rbp + 0x7f], edi
mov dword [rbp + 0x77], edi
mov dword [rbp + 0x67], 1
mov dword [rbp - 0x41], edi
mov eax, dword [rbp + 0x6f]
cmp edx, 0xa
jge 0x140016cbd
mov eax, dword [rbp + 0x6f]
inc edx
mov dword [rbp + 0x7f], eax
mov dword [rbp + 0x6f], 0x28
mov eax, dword [rbp + 0x6f]
mov dword [rbp + 0x77], eax
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x7f]
cmp ecx, eax
jne 0x140016c89
mov eax, dword [rbp + 0x67]
inc eax
mov dword [rbp + 0x67], eax
jmp 0x140016c99
mov ecx, dword [rbp - 0x41]
mov eax, dword [rbp + 0x67]
cmp ecx, eax
jge 0x140016c99
mov eax, dword [rbp + 0x67]
mov dword [rbp - 0x41], eax
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x7f]
cmp ecx, eax
jle 0x140016caa
mov dword [rbp + 0x67], 1
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x7f]
cmp ecx, eax
jge 0x140016c58
mov dword [rbp + 0x67], 1
jmp 0x140016c58
mov eax, dword [rbp - 0x41]
mov dword [rbp + 0x67], eax
call fcn.14002b150
mov qword [rbp + 0x67], 0x114
mov rax, qword [rbp + 0x67]
shr rax, 3
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
mov qword [rbp + 0x67], rax
mov dword [rbp - 0x49], 0x4b
mov dword [rbp + 0x77], 1
mov dword [rbp + 0x67], edi
mov dword [rbp + 0x7f], edi
mov dword [rbp + 0x6f], 1
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp - 0x49]
cmp edi, 7
jge 0x140016d48
mov eax, dword [rbp + 0x67]
cmp eax, 0x418937
jg 0x140016d41
mov ecx, dword [rbp + 0x6f]
inc edi
mov eax, dword [rbp + 0x7f]
add ecx, eax
mov dword [rbp + 0x67], ecx
mov eax, dword [rbp + 0x6f]
mov dword [rbp + 0x7f], eax
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x6f], eax
mov eax, dword [rbp + 0x77]
inc eax
mov dword [rbp + 0x77], eax
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbp - 0x49]
cmp ecx, eax
jne 0x140016d05
jmp 0x140016d48
mov dword [rbp + 0x67], 0xffffffff
mov eax, dword [rbp + 0x77]
mov ecx, 0x100
mov dword [rbp + 0x67], eax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x108
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
call fcn.1400288b0
mov dword [rbp + 0x67], 0x24
mov dword [rbp + 0x6f], 0x3b
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
add ecx, eax
mov dword [rbp + 0x77], ecx
mov eax, dword [rbp + 0x6f]
mov ecx, dword [rbp + 0x67]
sub ecx, eax
mov dword [rbp + 0x6f], ecx
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x77]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov eax, dword [rbp + 0x6f]
mov ecx, dword [rbp + 0x67]
cdq
idiv ecx
mov dword [rbp + 0x67], eax
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x67], eax
mov r14, qword [rsp + 0xa0]
nop dword [rax]
nop word [rax + rax]
movaps xmm6, xmmword [rsp + 0x80]
movaps xmm8, xmmword [rsp + 0x70]
add rsp, 0xa8
pop rdi
pop rsi
pop rbx
pop rbp
ret