Function at 0x140018b10
Capabilities:
Authenticate hmac

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
push rbp
push rbx
push rdi
push r12
push r13
lea rbp, [rax - 0x5f]
sub rsp, 0xc0
movaps xmmword [rax - 0x48], xmm7
mov rdi, rcx
movaps xmmword [rax - 0x58], xmm8
mov ecx, 0x5a0
movaps xmmword [rax - 0x68], xmm9
mov r12, r9
movaps xmmword [rax - 0x78], xmm10
mov r13, r8
movaps xmmword [rsp + 0x60], xmm11
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0xc30
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
call fcn.1400288b0
mov dword [rbp - 0x59], 0x7e
mov dword [rbp - 0x69], 0xfc
mov r10d, dword [rbp - 0x69]
mov eax, dword [rbp - 0x59]
add r10d, eax
mov dword [rbp - 0x41], r10d
mov edx, dword [rbp - 0x41]
mov eax, dword [rbp - 0x69]
imul edx, eax
mov dword [rbp - 0x39], edx
mov eax, dword [rbp - 0x39]
mov ecx, dword [rbp - 0x59]
cdq
idiv ecx
mov dword [rbp - 0x59], eax
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x41]
sub ecx, eax
mov dword [rbp - 0x49], ecx
mov eax, dword [rbp - 0x39]
mov ecx, dword [rbp - 0x69]
cdq
idiv ecx
mov eax, dword [rbp - 0x49]
add eax, edx
mov dword [rbp - 0x51], eax
mov ecx, dword [rbp - 0x51]
mov eax, dword [rbp - 0x51]
imul ecx, eax
mov dword [rbp - 0x41], ecx
mov ecx, 1
mov eax, dword [rbp - 0x49]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x41]
cdq
idiv ecx
mov dword [rbp - 0x69], eax
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x59]
sub ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, dword [rbp - 0x61]
mov eax, dword [rbp - 0x39]
imul ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, 1
mov eax, dword [rbp - 0x69]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x59]
cdq
idiv ecx
mov dword [rbp - 0x39], eax
mov ecx, dword [rbp - 0x39]
mov eax, dword [rbp - 0x41]
add ecx, eax
mov dword [rbp - 0x41], ecx
mov ecx, dword [rbp - 0x41]
mov eax, dword [rbp - 0x51]
sub ecx, eax
mov dword [rbp - 0x69], ecx
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x49]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, 1
mov eax, dword [rbp - 0x69]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x49], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x59]
add ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x41]
sub ecx, eax
mov dword [rbp - 0x69], ecx
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x39]
imul ecx, eax
mov dword [rbp - 0x41], ecx
mov ecx, 1
mov eax, dword [rbp - 0x69]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x41]
cdq
idiv ecx
mov dword [rbp - 0x39], eax
mov ecx, dword [rbp - 0x39]
mov eax, dword [rbp - 0x49]
add ecx, eax
mov dword [rbp - 0x49], ecx
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x59]
sub ecx, eax
mov dword [rbp - 0x69], ecx
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x41]
imul ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, 1
mov eax, dword [rbp - 0x69]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x59]
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 - 0x49]
sub ecx, eax
mov dword [rbp - 0x69], ecx
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x59]
imul ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, 1
mov eax, dword [rbp - 0x69]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x59]
cdq
idiv ecx
mov dword [rbp - 0x49], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x41]
add ecx, eax
mov dword [rbp - 0x41], ecx
mov ecx, dword [rbp - 0x41]
mov eax, dword [rbp - 0x39]
sub ecx, eax
mov dword [rbp - 0x69], ecx
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x59]
imul ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, 1
mov eax, dword [rbp - 0x69]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x59]
cdq
idiv ecx
mov dword [rbp - 0x39], eax
mov ecx, dword [rbp - 0x39]
mov eax, dword [rbp - 0x49]
add ecx, eax
mov dword [rbp - 0x49], ecx
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x41]
sub ecx, eax
mov dword [rbp - 0x69], ecx
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x59]
imul ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, 1
mov eax, dword [rbp - 0x69]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x59]
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 - 0x49]
sub ecx, eax
mov dword [rbp - 0x69], ecx
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x59]
imul ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, 1
mov eax, dword [rbp - 0x69]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x59]
cdq
idiv ecx
mov dword [rbp - 0x49], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x41]
add ecx, eax
mov dword [rbp - 0x41], ecx
mov ecx, dword [rbp - 0x41]
mov eax, dword [rbp - 0x39]
sub ecx, eax
mov dword [rbp - 0x69], ecx
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x59]
imul ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, 1
mov eax, dword [rbp - 0x69]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x59]
cdq
idiv ecx
mov dword [rbp - 0x39], eax
mov ecx, dword [rbp - 0x39]
mov eax, dword [rbp - 0x49]
add ecx, eax
mov dword [rbp - 0x49], ecx
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x41]
sub ecx, eax
mov dword [rbp - 0x69], ecx
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x59]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, 1
mov eax, dword [rbp - 0x69]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x61], eax
mov ecx, dword [rbp - 0x61]
mov eax, dword [rbp - 0x39]
add ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, dword [rbp - 0x61]
mov eax, dword [rbp - 0x49]
sub ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, 0x5d0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
movsd xmm0, qword [0x14002d6d0]
mov ecx, 0x420
movsd xmm11, qword [0x14002d4a0]
movsd qword [rbp - 0x61], xmm0
movsd xmm1, qword [rbp - 0x61]
divsd xmm1, qword [0x14002d4a8]
movsd qword [rbp - 0x61], xmm1
movsd xmm0, qword [rbp - 0x61]
movss xmm1, dword [0x14002db1c]
movsd qword [rbp - 0x61], xmm0
movss dword [rbp - 0x61], xmm1
movss xmm0, dword [rbp - 0x61]
cvtps2pd xmm2, xmm0
mulsd xmm2, xmm11
cvtpd2ps xmm0, xmm2
movss dword [rbp - 0x61], xmm0
movss xmm1, dword [rbp - 0x61]
movss dword [rbp - 0x61], xmm1
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov qword [rbp - 0x61], 0x5c
mov ecx, 0x4a0
mov rax, qword [rbp - 0x61]
shr rax, 3
mov qword [rbp - 0x61], rax
mov rax, qword [rbp - 0x61]
mov qword [rbp - 0x61], rax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp - 0x59], 0x127
xor ebx, ebx
mov dword [rbp - 0x41], 0x114
mov edx, ebx
mov ecx, dword [rbp - 0x41]
mov eax, dword [rbp - 0x59]
mov eax, dword [rbp - 0x59]
mov dword [rbp - 0x61], eax
mov dword [rbp - 0x69], 0x3d
mov dword [rbp - 0x49], 1
mov dword [rbp - 0x51], ebx
mov dword [rbp - 0x59], ebx
mov dword [rbp - 0x39], 1
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x69]
nop
cmp edx, 9
jge 0x140018f23
mov eax, dword [rbp - 0x69]
inc edx
mov ecx, dword [rbp - 0x39]
mov eax, dword [rbp - 0x59]
add ecx, eax
mov dword [rbp - 0x51], ecx
mov eax, dword [rbp - 0x39]
mov dword [rbp - 0x59], eax
mov eax, dword [rbp - 0x51]
mov dword [rbp - 0x39], eax
mov eax, dword [rbp - 0x49]
inc eax
mov dword [rbp - 0x49], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x69]
cmp ecx, eax
jne 0x140018ef0
mov eax, dword [rbp - 0x49]
cmp eax, 1
jne 0x140018f31
mov eax, dword [rbp - 0x39]
mov dword [rbp - 0x41], eax
mov eax, dword [rbp - 0x51]
mov dword [rbp - 0x41], eax
call fcn.14002a7a0
movsd xmm0, qword [0x14002d600]
xor edx, edx
movsd qword [rbp - 0x61], xmm0
movsd xmm1, qword [rbp - 0x61]
movsd xmm2, qword [rbp - 0x61]
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm2, xmm0
movss xmm0, dword [0x14002db0c]
movsd qword [rbp - 0x61], xmm2
mov dword [rbp - 0x49], 0x51
mov byte [rbp - 0x51], 0x12
movss dword [rbp - 0x41], xmm0
movd xmm1, dword [rbp - 0x49]
cvtdq2ps xmm1, xmm1
addss xmm1, dword [rbp - 0x41]
cvtps2pd xmm0, xmm1
movsd qword [rbp - 0x39], xmm0
movd xmm1, dword [rbp - 0x49]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [rbp - 0x39]
cvttsd2si eax, xmm1
mov dword [rbp - 0x69], eax
movd xmm1, dword [rbp - 0x69]
movsd xmm0, qword [rbp - 0x39]
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
cvttsd2si rax, xmm1
mov dword [rbp - 0x59], eax
mov eax, dword [rbp - 0x59]
mov ecx, dword [rbp - 0x49]
div ecx
mov word [rbp - 0x51], ax
movsx ecx, word [rbp - 0x51]
mov eax, dword [rbp - 0x59]
add eax, ecx
mov dword [rbp - 0x61], eax
mov ecx, dword [rbp - 0x61]
mov eax, dword [rbp - 0x69]
cmp ecx, eax
seta byte [rbp - 0x4d]
movzx eax, byte [rbp - 0x4d]
test al, al
mov eax, dword [rbp - 0x49]
jne 0x140018ff8
mov eax, dword [rbp - 0x69]
mov dword [rbp - 0x61], eax
xor edx, edx
mov eax, dword [rbp - 0x61]
mov byte [rbp - 0x4d], al
movsx eax, byte [rbp - 0x4d]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [rbp - 0x41]
movss dword [rbp - 0x59], xmm0
movss xmm0, dword [rbp - 0x59]
cvtps2pd xmm1, xmm0
mulsd xmm1, qword [rbp - 0x39]
movsd qword [rbp - 0x61], xmm1
movsd xmm0, qword [rbp - 0x61]
cvttsd2si eax, xmm0
mov dword [rbp - 0x49], eax
movd xmm1, dword [rbp - 0x49]
movss xmm0, dword [rbp - 0x59]
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
cvttss2si rax, xmm1
mov dword [rbp - 0x59], eax
mov eax, dword [rbp - 0x59]
mov ecx, dword [rbp - 0x49]
div ecx
mov word [rbp - 0x51], ax
movsx ecx, word [rbp - 0x51]
mov eax, dword [rbp - 0x59]
add eax, ecx
mov dword [rbp - 0x59], eax
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x49]
cmp ecx, eax
seta byte [rbp - 0x4d]
movzx eax, byte [rbp - 0x4d]
test al, al
mov eax, dword [rbp - 0x49]
jne 0x140019081
mov eax, dword [rbp - 0x59]
movsd xmm7, qword [0x14002d498]
mov ecx, 0x28
movsd xmm8, qword [0x14002daa8]
movsd xmm9, qword [0x14002d508]
mov dword [rbp - 0x61], eax
mov eax, dword [rbp - 0x61]
mov byte [rbp - 0x51], al
mov dword [rbp - 0x59], pe_nt_image_headers64
mov dword [rbp - 0x61], 0x11a
movd xmm0, dword [rbp - 0x59]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm7
divsd xmm0, xmm8
mulsd xmm0, xmm9
movsd qword [rbp - 0x41], xmm0
movd xmm0, dword [rbp - 0x61]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [rbp - 0x41]
movsd qword [rbp - 0x61], xmm0
movd xmm1, dword [rbp - 0x59]
cvtdq2pd xmm1, xmm1
addsd xmm1, qword [rbp - 0x61]
movsd qword [rbp - 0x61], xmm1
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
movss xmm0, dword [0x14002dbf8]
mov ecx, 0x618
movss dword [rbp - 0x61], xmm0
movss xmm0, dword [rbp - 0x61]
cvtps2pd xmm1, xmm0
mulsd xmm1, xmm11
cvtpd2ps xmm1, xmm1
movss dword [rbp - 0x61], xmm1
movss xmm0, dword [rbp - 0x61]
movss dword [rbp - 0x61], xmm0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, pe_nt_image_headers64
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x1b0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x4a0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
call fcn.14002a7a0
mov ecx, 0x258
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x4c0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp - 0x61], 0x7a
mov ecx, 0x250
mov eax, dword [rbp - 0x61]
add eax, 0xa
mov dword [rbp - 0x61], eax
mov eax, dword [rbp - 0x61]
mov dword [rbp - 0x61], eax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0xf78
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp - 0x39], 0x4a
mov edx, ebx
mov dword [rbp - 0x69], ebx
mov dword [rbp - 0x51], ebx
mov dword [rbp - 0x49], 1
mov dword [rbp - 0x41], ebx
mov eax, dword [rbp - 0x39]
cmp edx, 0xa
jge 0x14001921d
mov eax, dword [rbp - 0x39]
inc edx
mov dword [rbp - 0x69], eax
mov dword [rbp - 0x39], 0xdb
mov eax, dword [rbp - 0x39]
mov dword [rbp - 0x51], eax
mov ecx, dword [rbp - 0x51]
mov eax, dword [rbp - 0x69]
cmp ecx, eax
jne 0x1400191e9
mov eax, dword [rbp - 0x49]
inc eax
mov dword [rbp - 0x49], eax
jmp 0x1400191f9
mov ecx, dword [rbp - 0x41]
mov eax, dword [rbp - 0x49]
cmp ecx, eax
jge 0x1400191f9
mov eax, dword [rbp - 0x49]
mov dword [rbp - 0x41], eax
mov ecx, dword [rbp - 0x51]
mov eax, dword [rbp - 0x69]
cmp ecx, eax
jle 0x14001920a
mov dword [rbp - 0x49], 1
mov ecx, dword [rbp - 0x51]
mov eax, dword [rbp - 0x69]
cmp ecx, eax
jge 0x1400191b8
mov dword [rbp - 0x49], 1
jmp 0x1400191b8
mov eax, dword [rbp - 0x41]
mov r8d, 0xa
mov dword [rbp - 0x61], eax
mov rdx, rdi
mov rax, qword [0x140030040]
xor ecx, ecx
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0x108], r15
call rax
mov ecx, 0x540
mov rdi, rax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
movsd xmm0, qword [0x14002da58]
movsd xmm10, qword [0x14002d4b0]
mov dword [rbp - 0x61], 0x74
mov dword [rbp - 0x41], 0xc4
mov edx, dword [rbp - 0x41]
mov ecx, dword [rbp - 0x61]
imul edx, ecx
mov dword [rbp - 0x61], edx
mov dword [rbp - 0x59], 0xcf
mov dword [rbp - 0x69], 0x4d
mov edx, dword [rbp - 0x69]
mov ecx, dword [rbp - 0x41]
mov eax, dword [rbp - 0x59]
imul edx, ecx
add eax, edx
mov dword [rbp - 0x61], eax
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x69]
imul ecx, eax
mov eax, dword [rbp - 0x41]
imul eax, ecx
cdq
sub eax, edx
mov edx, dword [rbp - 0x69]
mov ecx, dword [rbp - 0x59]
sar eax, 1
imul edx, ecx
add edx, eax
mov dword [rbp - 0x61], edx
movsd qword [rbp - 0x61], xmm0
movsd xmm1, qword [rbp - 0x61]
movsd xmm2, qword [rbp - 0x61]
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm2, xmm0
mulsd xmm2, xmm10
cvttsd2si eax, xmm2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [rbp - 0x61], xmm0
mov byte [rbp - 0x4d], 0x61
movzx eax, byte [rbp - 0x4d]
inc al
mov byte [rbp - 0x4d], al
movzx eax, byte [rbp - 0x4d]
mov byte [rbp - 0x51], al
call fcn.14002aa90
movss xmm0, dword [0x14002db10]
movss dword [rbp - 0x61], xmm0
movss xmm0, dword [rbp - 0x61]
cvtps2pd xmm1, xmm0
mulsd xmm1, xmm11
cvtpd2ps xmm1, xmm1
movss dword [rbp - 0x61], xmm1
movss xmm0, dword [rbp - 0x61]
movss dword [rbp - 0x61], xmm0
test rdi, rdi
je 0x14001ac9d
mov dword [rbp - 0x39], 0x9f
mov edx, ebx
mov dword [rbp - 0x69], 1
mov dword [rbp - 0x49], ebx
mov dword [rbp - 0x59], ebx
mov dword [rbp - 0x41], 1
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x39]
cmp edx, 7
jge 0x1400193ab
mov eax, dword [rbp - 0x49]
cmp eax, 0x418937
jg 0x1400193a4
mov ecx, dword [rbp - 0x41]
inc edx
mov eax, dword [rbp - 0x59]
add ecx, eax
mov dword [rbp - 0x49], ecx
mov eax, dword [rbp - 0x41]
mov dword [rbp - 0x59], eax
mov eax, dword [rbp - 0x49]
mov dword [rbp - 0x41], eax
mov eax, dword [rbp - 0x69]
inc eax
mov dword [rbp - 0x69], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x39]
cmp ecx, eax
jne 0x140019368
jmp 0x1400193ab
mov dword [rbp - 0x61], 0xffffffff
mov eax, dword [rbp - 0x69]
movsd xmm0, qword [0x14002d8a0]
mov dword [rbp - 0x61], eax
mov dword [rbp - 0x41], 0x10a
mov dword [rbp - 0x59], 0xb0
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x41]
add ecx, eax
mov dword [rbp - 0x69], ecx
mov eax, dword [rbp - 0x59]
mov ecx, dword [rbp - 0x41]
sub ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, dword [rbp - 0x61]
mov eax, dword [rbp - 0x69]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov eax, dword [rbp - 0x61]
mov ecx, dword [rbp - 0x41]
cdq
idiv ecx
mov dword [rbp - 0x61], eax
mov eax, dword [rbp - 0x61]
mov dword [rbp - 0x61], eax
movsd qword [rbp - 0x61], xmm0
movsd xmm1, qword [rbp - 0x61]
movsd xmm2, qword [rbp - 0x61]
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm2, xmm0
movsd qword [rbp - 0x61], xmm2
call fcn.140028f80
mov ecx, 0x2a0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rax, qword [0x1400300b0]
mov rdx, rdi
xor ecx, ecx
call rax
mov dword [rbp - 0x61], 0x86
mov rsi, rax
mov ecx, dword [rbp - 0x61]
mov edx, ebx
add ecx, 0xa
mov dword [rbp - 0x61], ecx
mov ecx, dword [rbp - 0x61]
mov dword [rbp - 0x61], ecx
mov dword [rbp - 0x39], 0xee
mov dword [rbp - 0x69], 1
mov dword [rbp - 0x49], ebx
mov dword [rbp - 0x59], ebx
mov dword [rbp - 0x41], 1
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x39]
nop dword [rax]
cmp edx, 7
jge 0x1400194c3
mov eax, dword [rbp - 0x49]
cmp eax, 0x418937
jg 0x1400194bc
mov ecx, dword [rbp - 0x41]
inc edx
mov eax, dword [rbp - 0x59]
add ecx, eax
mov dword [rbp - 0x49], ecx
mov eax, dword [rbp - 0x41]
mov dword [rbp - 0x59], eax
mov eax, dword [rbp - 0x49]
mov dword [rbp - 0x41], eax
mov eax, dword [rbp - 0x69]
inc eax
mov dword [rbp - 0x69], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x39]
cmp ecx, eax
jne 0x140019480
jmp 0x1400194c3
mov dword [rbp - 0x61], 0xffffffff
mov eax, dword [rbp - 0x69]
mov dword [rbp - 0x61], eax
mov dword [rbp - 0x49], 0x90
mov dword [rbp - 0x51], 0x3d
mov dword [rbp - 0x39], 0xf3
mov ecx, dword [rbp - 0x51]
mov eax, dword [rbp - 0x49]
mov ecx, dword [rbp - 0x51]
mov eax, dword [rbp - 0x49]
mov ecx, dword [rbp - 0x39]
mov eax, dword [rbp - 0x49]
mov ecx, dword [rbp - 0x51]
mov eax, dword [rbp - 0x49]
mov ecx, dword [rbp - 0x39]
mov eax, dword [rbp - 0x51]
mov ecx, dword [rbp - 0x39]
mov eax, dword [rbp - 0x49]
mov ecx, ebx
mov eax, dword [rbp - 0x39]
mov dword [rbp - 0x59], eax
mov eax, dword [rbp - 0x49]
mov dword [rbp - 0x69], eax
mov eax, dword [rbp - 0x51]
mov dword [rbp - 0x41], eax
mov edx, dword [rbp - 0x41]
mov eax, dword [rbp - 0x69]
mov eax, dword [rbp - 0x59]
mov dword [rbp - 0x61], ebx
call fcn.14002aa90
mov ecx, 0x6c0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
test rsi, rsi
je 0x14001ac9d
mov ecx, 0x270
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0xbc0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov qword [rbp - 0x61], 0x55
mov rdx, rdi
mov rax, qword [rbp - 0x61]
xor ecx, ecx
shr rax, 3
mov qword [rbp - 0x61], rax
mov rax, qword [rbp - 0x61]
mov qword [rbp - 0x61], rax
mov rax, qword [0x1400300c8]
call rax
mov ecx, 0x318
movsxd rdi, eax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
test edi, edi
je 0x14001ac9d
mov dword [rbp - 0x61], 0xb1
mov dword [rbp - 0x59], 0xac
mov edx, dword [rbp - 0x59]
mov ecx, dword [rbp - 0x61]
imul edx, ecx
mov dword [rbp - 0x61], edx
mov dword [rbp - 0x41], 0x4f
mov dword [rbp - 0x69], 0xbc
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x59]
imul ecx, eax
mov eax, dword [rbp - 0x41]
add eax, ecx
mov dword [rbp - 0x61], eax
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x69]
imul ecx, eax
mov eax, dword [rbp - 0x59]
imul eax, ecx
cdq
sub eax, edx
mov edx, dword [rbp - 0x69]
mov ecx, dword [rbp - 0x41]
imul edx, ecx
mov ecx, 0xb60
sar eax, 1
add edx, eax
mov dword [rbp - 0x61], edx
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp - 0x59], 0xb8
mov edx, ebx
mov dword [rbp - 0x49], 1
mov dword [rbp - 0x41], ebx
mov dword [rbp - 0x69], ebx
mov dword [rbp - 0x39], 1
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x59]
nop word [rax + rax]
cmp edx, 9
jge 0x140019653
mov eax, dword [rbp - 0x59]
inc edx
mov ecx, dword [rbp - 0x39]
mov eax, dword [rbp - 0x69]
add ecx, eax
mov dword [rbp - 0x41], ecx
mov eax, dword [rbp - 0x39]
mov dword [rbp - 0x69], eax
mov eax, dword [rbp - 0x41]
mov dword [rbp - 0x39], eax
mov eax, dword [rbp - 0x49]
inc eax
mov dword [rbp - 0x49], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x59]
cmp ecx, eax
jne 0x140019620
mov eax, dword [rbp - 0x49]
cmp eax, 1
jne 0x140019661
mov eax, dword [rbp - 0x39]
mov dword [rbp - 0x51], eax
mov eax, dword [rbp - 0x41]
mov dword [rbp - 0x51], eax
mov dword [rbp - 0x69], 0x120
mov dword [rbp - 0x59], 0x59
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x69]
add ecx, eax
mov dword [rbp - 0x49], ecx
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x59]
imul ecx, eax
mov dword [rbp - 0x41], ecx
mov eax, dword [rbp - 0x41]
mov ecx, dword [rbp - 0x69]
cdq
idiv ecx
mov dword [rbp - 0x39], eax
mov ecx, dword [rbp - 0x39]
mov eax, dword [rbp - 0x49]
sub ecx, eax
mov dword [rbp - 0x69], ecx
mov eax, dword [rbp - 0x41]
mov ecx, dword [rbp - 0x59]
cdq
idiv ecx
mov eax, dword [rbp - 0x69]
add eax, edx
mov dword [rbp - 0x49], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x49]
imul ecx, eax
mov dword [rbp - 0x51], ecx
mov ecx, 1
mov eax, dword [rbp - 0x69]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x51]
cdq
idiv ecx
mov dword [rbp - 0x59], eax
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x39]
sub ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, dword [rbp - 0x61]
mov eax, dword [rbp - 0x41]
imul ecx, eax
mov dword [rbp - 0x41], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x41]
cdq
idiv ecx
mov dword [rbp - 0x61], eax
mov ecx, dword [rbp - 0x61]
mov eax, dword [rbp - 0x51]
add ecx, eax
mov dword [rbp - 0x39], ecx
mov ecx, dword [rbp - 0x39]
mov eax, dword [rbp - 0x49]
sub ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x69]
imul ecx, eax
mov dword [rbp - 0x69], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x69]
cdq
idiv ecx
mov dword [rbp - 0x69], eax
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x41]
add ecx, eax
mov dword [rbp - 0x41], ecx
mov ecx, dword [rbp - 0x41]
mov eax, dword [rbp - 0x39]
sub ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x61]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x49], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x69]
add ecx, eax
mov dword [rbp - 0x69], ecx
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x41]
sub ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x61]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x41], eax
mov ecx, dword [rbp - 0x41]
mov eax, dword [rbp - 0x49]
add ecx, eax
mov dword [rbp - 0x49], ecx
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x69]
sub ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x61]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x69], eax
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x41]
add ecx, eax
mov dword [rbp - 0x41], ecx
mov ecx, dword [rbp - 0x41]
mov eax, dword [rbp - 0x49]
sub ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x61]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x49], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x69]
add ecx, eax
mov dword [rbp - 0x69], ecx
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x41]
sub ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x61]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x41], eax
mov ecx, dword [rbp - 0x41]
mov eax, dword [rbp - 0x49]
add ecx, eax
mov dword [rbp - 0x49], ecx
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x69]
sub ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x61]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x69], eax
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x41]
add ecx, eax
mov dword [rbp - 0x41], ecx
mov ecx, dword [rbp - 0x41]
mov eax, dword [rbp - 0x49]
sub ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x61]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x49], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x69]
add ecx, eax
mov dword [rbp - 0x69], ecx
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x41]
sub ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x61]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x61], eax
mov ecx, dword [rbp - 0x61]
mov eax, dword [rbp - 0x49]
add ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, dword [rbp - 0x61]
mov eax, dword [rbp - 0x69]
sub ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, 0x76
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rax, qword [0x140030080]
mov rcx, rsi
call rax
mov dword [rbp - 0x39], 0xb2
mov r15, rax
mov dword [rbp - 0x51], 0xbe
mov dword [rbp - 0x49], 0x15
mov edx, dword [rbp - 0x51]
mov ecx, dword [rbp - 0x39]
mov ecx, dword [rbp - 0x51]
mov eax, dword [rbp - 0x39]
mov ecx, dword [rbp - 0x51]
mov eax, dword [rbp - 0x39]
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x51]
mov ecx, ebx
mov eax, dword [rbp - 0x51]
mov cl, 1
mov dword [rbp - 0x69], eax
mov eax, dword [rbp - 0x39]
mov dword [rbp - 0x41], eax
mov eax, dword [rbp - 0x49]
mov dword [rbp - 0x59], eax
mov edx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x41]
mov eax, dword [rbp - 0x69]
mov dword [rbp - 0x61], ecx
mov ecx, 0x730
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
call fcn.14002bb40
mov ecx, 0x240
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
test r15, r15
je 0x14001ac9d
mov dword [rbp - 0x61], 0xe6
mov edx, ebx
mov eax, dword [rbp - 0x61]
xor eax, 0xff
mov qword [rsp + 0x100], r14
mov dword [rbp - 0x61], eax
mov eax, dword [rbp - 0x61]
mov dword [rbp - 0x61], eax
mov byte [rbp - 0x4d], 1
movzx eax, byte [rbp - 0x4d]
mov byte [rbp - 0x4d], bl
movzx eax, byte [rbp - 0x4d]
mov byte [rbp - 0x51], al
mov dword [rbp - 0x51], 0x72
mov eax, dword [rbp - 0x51]
mov dword [rbp - 0x61], eax
mov dword [rbp - 0x49], ebx
mov dword [rbp - 0x69], ebx
mov dword [rbp - 0x59], ebx
mov dword [rbp - 0x51], 0x17
mov eax, dword [rbp - 0x51]
mov dword [rbp - 0x49], eax
mov dword [rbp - 0x51], 0x9b
movaps xmmword [rsp + 0xb0], xmm6
mov eax, dword [rbp - 0x51]
mov dword [rbp - 0x69], eax
mov eax, dword [rbp - 0x51]
cmp edx, 0xc
jge 0x140019a4c
mov eax, dword [rbp - 0x51]
inc edx
test eax, eax
je 0x140019a4c
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x61]
cmp ecx, eax
jle 0x140019a37
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x49]
cmp eax, ecx
jle 0x140019a37
mov eax, dword [rbp - 0x59]
inc eax
mov dword [rbp - 0x59], eax
mov eax, dword [rbp - 0x49]
mov dword [rbp - 0x61], eax
mov eax, dword [rbp - 0x69]
mov dword [rbp - 0x49], eax
mov dword [rbp - 0x51], 0xe8
jmp 0x140019a04
mov eax, dword [rbp - 0x59]
mov dword [rbp - 0x61], eax
call fcn.140028b00
mov qword [rbp - 0x61], 0x17
mov ecx, 0x218
mov rax, qword [rbp - 0x61]
shr rax, 3
mov qword [rbp - 0x61], rax
mov rax, qword [rbp - 0x61]
mov qword [rbp - 0x61], rax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rdi
mov rsi, rdi
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp - 0x61], 0xee
mov ecx, 0x190
mov dword [rbp - 0x59], 0xfa
mov r14, rax
movd xmm0, dword [rbp - 0x61]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm7
divsd xmm0, xmm8
mulsd xmm0, xmm9
movsd qword [rbp - 0x41], xmm0
movd xmm0, dword [rbp - 0x59]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [rbp - 0x41]
movsd qword [rbp - 0x59], xmm0
movd xmm1, dword [rbp - 0x61]
cvtdq2pd xmm1, xmm1
addsd xmm1, qword [rbp - 0x59]
movsd qword [rbp - 0x61], xmm1
mov dword [rbp - 0x61], 0x12
mov eax, dword [rbp - 0x61]
xor eax, 0xff
mov dword [rbp - 0x61], eax
mov eax, dword [rbp - 0x61]
mov dword [rbp - 0x61], eax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0xe88
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp - 0x59], 0xb5
mov edx, ebx
mov dword [rbp - 0x49], 1
mov dword [rbp - 0x41], ebx
mov dword [rbp - 0x61], ebx
mov dword [rbp - 0x39], 1
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x59]
nop
cmp edx, 9
jge 0x140019b63
mov eax, dword [rbp - 0x59]
inc edx
mov ecx, dword [rbp - 0x39]
mov eax, dword [rbp - 0x61]
add ecx, eax
mov dword [rbp - 0x41], ecx
mov eax, dword [rbp - 0x39]
mov dword [rbp - 0x61], eax
mov eax, dword [rbp - 0x41]
mov dword [rbp - 0x39], eax
mov eax, dword [rbp - 0x49]
inc eax
mov dword [rbp - 0x49], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x59]
cmp ecx, eax
jne 0x140019b30
mov eax, dword [rbp - 0x49]
cmp eax, 1
jne 0x140019b71
mov eax, dword [rbp - 0x39]
mov dword [rbp - 0x69], eax
mov eax, dword [rbp - 0x41]
mov dword [rbp - 0x69], eax
call fcn.14002a7a0
xor r9d, r9d
mov r8, rdi
mov rdx, r15
mov rcx, r14
call fcn.140003d60
mov ecx, 0xd20
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
test edi, edi
jle 0x14001a1bd
movsd xmm6, qword [0x14002da90]
mov rdi, r14
nop dword [rax + rax]
cmp byte [rdi], bl
jne 0x14001a1b0
mov ecx, 0x860
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp - 0x61], 0xbb
mov dword [rbp - 0x59], 0x38
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x61]
add ecx, eax
mov dword [rbp - 0x69], ecx
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x59]
imul ecx, eax
mov dword [rbp - 0x41], ecx
mov eax, dword [rbp - 0x41]
mov ecx, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x61], eax
mov ecx, dword [rbp - 0x61]
mov eax, dword [rbp - 0x69]
sub ecx, eax
mov dword [rbp - 0x69], ecx
mov eax, dword [rbp - 0x41]
mov ecx, dword [rbp - 0x59]
cdq
idiv ecx
mov eax, dword [rbp - 0x69]
add eax, edx
mov dword [rbp - 0x49], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x49]
imul ecx, eax
mov dword [rbp - 0x39], ecx
mov ecx, 1
mov eax, dword [rbp - 0x69]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x39]
cdq
idiv ecx
mov dword [rbp - 0x59], eax
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x61]
sub ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, dword [rbp - 0x61]
mov eax, dword [rbp - 0x41]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x51], eax
mov ecx, dword [rbp - 0x51]
mov eax, dword [rbp - 0x39]
add ecx, eax
mov dword [rbp - 0x41], ecx
mov ecx, dword [rbp - 0x41]
mov eax, dword [rbp - 0x49]
sub ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x69]
imul ecx, eax
mov dword [rbp - 0x69], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x69]
cdq
idiv ecx
mov dword [rbp - 0x69], eax
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x61]
add ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, dword [rbp - 0x61]
mov eax, dword [rbp - 0x41]
sub ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x51]
imul ecx, eax
mov dword [rbp - 0x41], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x41]
cdq
idiv ecx
mov dword [rbp - 0x49], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x69]
add ecx, eax
mov dword [rbp - 0x69], ecx
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x61]
sub ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x41]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x41], eax
mov ecx, dword [rbp - 0x41]
mov eax, dword [rbp - 0x49]
add ecx, eax
mov dword [rbp - 0x49], ecx
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x69]
sub ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x61]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x69], eax
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x41]
add ecx, eax
mov dword [rbp - 0x41], ecx
mov ecx, dword [rbp - 0x41]
mov eax, dword [rbp - 0x49]
sub ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x61]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x49], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x69]
add ecx, eax
mov dword [rbp - 0x69], ecx
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x41]
sub ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x61]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x41], eax
mov ecx, dword [rbp - 0x41]
mov eax, dword [rbp - 0x49]
add ecx, eax
mov dword [rbp - 0x49], ecx
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x69]
sub ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x61]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x69], eax
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x41]
add ecx, eax
mov dword [rbp - 0x41], ecx
mov ecx, dword [rbp - 0x41]
mov eax, dword [rbp - 0x49]
sub ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x61]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x49], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x69]
add ecx, eax
mov dword [rbp - 0x69], ecx
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x41]
sub ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x61]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x61], eax
mov ecx, dword [rbp - 0x61]
mov eax, dword [rbp - 0x49]
add ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, dword [rbp - 0x61]
mov eax, dword [rbp - 0x69]
sub ecx, eax
mov dword [rbp - 0x61], ecx
movsd qword [rbp - 0x61], xmm6
movsd xmm0, qword [rbp - 0x61]
movsd xmm1, qword [rbp - 0x61]
cvttsd2si eax, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd qword [rbp - 0x61], xmm1
call fcn.14002c270
mov qword [rbp - 0x61], 0x54
mov rax, qword [rbp - 0x61]
shr rax, 3
mov qword [rbp - 0x61], rax
mov rax, qword [rbp - 0x61]
mov qword [rbp - 0x61], rax
mov byte [rdi], 1
mov dword [rbp - 0x61], 0x90
mov dword [rbp - 0x59], 0xde
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x61]
add ecx, eax
mov dword [rbp - 0x69], ecx
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x59]
imul ecx, eax
mov dword [rbp - 0x41], ecx
mov eax, dword [rbp - 0x41]
mov ecx, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x61], eax
mov ecx, dword [rbp - 0x61]
mov eax, dword [rbp - 0x69]
sub ecx, eax
mov dword [rbp - 0x69], ecx
mov eax, dword [rbp - 0x41]
mov ecx, dword [rbp - 0x59]
cdq
idiv ecx
mov eax, dword [rbp - 0x69]
add eax, edx
mov dword [rbp - 0x49], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x49]
imul ecx, eax
mov dword [rbp - 0x39], ecx
mov ecx, 1
mov eax, dword [rbp - 0x69]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x39]
cdq
idiv ecx
mov dword [rbp - 0x59], eax
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x61]
sub ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, dword [rbp - 0x61]
mov eax, dword [rbp - 0x41]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x51], eax
mov ecx, dword [rbp - 0x51]
mov eax, dword [rbp - 0x39]
add ecx, eax
mov dword [rbp - 0x41], ecx
mov ecx, dword [rbp - 0x41]
mov eax, dword [rbp - 0x49]
sub ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x69]
imul ecx, eax
mov dword [rbp - 0x69], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x69]
cdq
idiv ecx
mov dword [rbp - 0x69], eax
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x61]
add ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, dword [rbp - 0x61]
mov eax, dword [rbp - 0x41]
sub ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x51]
imul ecx, eax
mov dword [rbp - 0x41], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x41]
cdq
idiv ecx
mov dword [rbp - 0x49], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x69]
add ecx, eax
mov dword [rbp - 0x69], ecx
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x61]
sub ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x41]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x41], eax
mov ecx, dword [rbp - 0x41]
mov eax, dword [rbp - 0x49]
add ecx, eax
mov dword [rbp - 0x49], ecx
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x69]
sub ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x61]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x69], eax
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x41]
add ecx, eax
mov dword [rbp - 0x41], ecx
mov ecx, dword [rbp - 0x41]
mov eax, dword [rbp - 0x49]
sub ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x61]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x49], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x69]
add ecx, eax
mov dword [rbp - 0x69], ecx
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x41]
sub ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x61]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x41], eax
mov ecx, dword [rbp - 0x41]
mov eax, dword [rbp - 0x49]
add ecx, eax
mov dword [rbp - 0x49], ecx
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x69]
sub ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x61]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x69], eax
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x41]
add ecx, eax
mov dword [rbp - 0x41], ecx
mov ecx, dword [rbp - 0x41]
mov eax, dword [rbp - 0x49]
sub ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x61]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, 1
mov eax, dword [rbp - 0x59]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x49], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x69]
add ecx, eax
mov dword [rbp - 0x69], ecx
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x41]
sub ecx, eax
mov dword [rbp - 0x59], ecx
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x61]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov eax, dword [rbp - 0x59]
mov ecx, 1
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x61]
cdq
idiv ecx
mov dword [rbp - 0x61], eax
mov ecx, dword [rbp - 0x61]
mov eax, dword [rbp - 0x49]
add ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, dword [rbp - 0x61]
mov eax, dword [rbp - 0x69]
sub ecx, eax
mov dword [rbp - 0x61], ecx
mov qword [rbp - 0x61], 0x8b
mov rax, qword [rbp - 0x61]
shr rax, 3
mov qword [rbp - 0x61], rax
mov rax, qword [rbp - 0x61]
mov qword [rbp - 0x61], rax
mov dword [rbp - 0x61], 0xe5
mov eax, dword [rbp - 0x61]
sub eax, 0x64
mov dword [rbp - 0x61], eax
mov eax, dword [rbp - 0x61]
mov dword [rbp - 0x61], eax
call fcn.1400278d0
mov dword [rbp - 0x61], 0xef
mov dword [rbp - 0x59], 0x9f
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x61]
mov eax, dword [rbp - 0x61]
mov dword [rbp - 0x61], eax
inc rdi
sub rsi, 1
jne 0x140019bb0
mov ecx, 0x298
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x730
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp - 0x61], 0xcd
mov eax, dword [rbp - 0x61]
xor eax, 0xff
mov dword [rbp - 0x61], eax
mov eax, dword [rbp - 0x61]
mov dword [rbp - 0x61], eax
call fcn.140028f80
mov ecx, 0x140
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
movsd xmm0, qword [0x14002da20]
mov dword [rbp - 0x61], 0xd7
movsd qword [rbp - 0x59], xmm0
mov byte [rbp - 0x4d], 0x1b
mov byte [rbp - 0x51], 1
movsd xmm0, qword [rbp - 0x59]
mov ecx, dword [rbp - 0x61]
cvttsd2si eax, xmm0
add ecx, eax
mov dword [rbp - 0x49], ecx
movd xmm0, dword [rbp - 0x49]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [rbp - 0x59]
movsd qword [rbp - 0x41], xmm0
movsx ecx, byte [rbp - 0x4d]
mov eax, dword [rbp - 0x49]
add al, cl
mov byte [rbp - 0x4d], al
movzx eax, byte [rbp - 0x51]
mov eax, dword [rbp - 0x49]
cmp eax, 0x32
jle 0x14001a257
mov al, 1
jmp 0x14001a259
xor eax, eax
movsd xmm6, qword [0x14002d670]
mov byte [rbp - 0x51], al
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x49]
imul ecx, eax
mov dword [rbp - 0x59], ecx
movsd xmm1, qword [rbp - 0x41]
movd xmm0, dword [rbp - 0x61]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [rbp - 0x41], xmm1
movzx eax, byte [rbp - 0x4d]
dec al
mov byte [rbp - 0x4d], al
movzx eax, byte [rbp - 0x51]
test al, al
mov eax, 0x66666667
sete byte [rbp - 0x51]
mov ecx, dword [rbp - 0x59]
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 - 0x61], ecx
movsd xmm0, qword [rbp - 0x41]
addsd xmm0, xmm6
movsd qword [rbp - 0x59], xmm0
movzx eax, byte [rbp - 0x4d]
add al, 2
mov byte [rbp - 0x4d], al
movzx eax, byte [rbp - 0x51]
test al, al
jne 0x14001a2e3
mov eax, dword [rbp - 0x61]
cmp eax, 5
jl 0x14001a2e3
xor eax, eax
jmp 0x14001a2e5
mov al, 1
mov ecx, 0x360
mov byte [rbp - 0x51], al
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x408
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
call fcn.1400283e0
mov ecx, 0xaa0
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, 0x52
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x270
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
call fcn.14002aa90
mov ecx, 0x1a0
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__]
mov r8, r12
mov rdx, r13
mov rcx, r14
call fcn.140012f90
mov ecx, 0x2d8
mov rdi, rax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp - 0x39], 0xe5
mov edx, ebx
mov dword [rbp - 0x51], ebx
mov dword [rbp - 0x69], ebx
mov dword [rbp - 0x49], 1
mov dword [rbp - 0x59], ebx
mov ecx, dword [rbp - 0x39]
cmp edx, 0xa
jge 0x14001a3e7
mov eax, dword [rbp - 0x39]
inc edx
mov dword [rbp - 0x51], eax
mov dword [rbp - 0x39], 0xd4
mov eax, dword [rbp - 0x39]
mov dword [rbp - 0x69], eax
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x51]
cmp ecx, eax
jne 0x14001a3b0
mov eax, dword [rbp - 0x49]
inc eax
mov dword [rbp - 0x49], eax
jmp 0x14001a3c0
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x49]
cmp ecx, eax
jge 0x14001a3c0
mov eax, dword [rbp - 0x49]
mov dword [rbp - 0x59], eax
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x51]
cmp ecx, eax
jle 0x14001a3d1
mov dword [rbp - 0x49], 1
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x51]
cmp ecx, eax
jge 0x14001a3e2
mov dword [rbp - 0x49], 1
mov eax, dword [rbp - 0x39]
jmp 0x14001a382
mov eax, dword [rbp - 0x59]
mov ecx, 0x240
mov dword [rbp - 0x61], eax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
call fcn.140029cc0
mov ecx, 0x290
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp - 0x61], 0x29
mov eax, 0x51eb851f
mov r8d, dword [rbp - 0x61]
mov ecx, dword [rbp - 0x61]
imul r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x64
sub r8d, eax
mov eax, 0x66666667
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 eax, 0x66666667
sub r8d, ecx
mov ecx, 0xc4
imul r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp - 0x61], edx
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x150
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp - 0x59], 0x36
mov dword [rbp - 0x61], 0xbf
mov ecx, dword [rbp - 0x61]
mov eax, dword [rbp - 0x59]
add ecx, eax
mov dword [rbp - 0x41], ecx
mov eax, dword [rbp - 0x61]
mov ecx, dword [rbp - 0x59]
sub ecx, eax
mov dword [rbp - 0x61], ecx
mov ecx, dword [rbp - 0x61]
mov eax, dword [rbp - 0x41]
imul ecx, eax
mov dword [rbp - 0x61], ecx
mov eax, dword [rbp - 0x61]
mov ecx, dword [rbp - 0x59]
cdq
idiv ecx
mov ecx, 0x660
mov dword [rbp - 0x61], eax
mov eax, dword [rbp - 0x61]
mov dword [rbp - 0x61], eax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov byte [rbp - 0x51], 0x61
mov ecx, 0x5c0
movzx eax, byte [rbp - 0x51]
inc al
mov byte [rbp - 0x51], al
movzx eax, byte [rbp - 0x51]
mov byte [rbp - 0x51], al
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp - 0x59], 0x126
mov edx, ebx
mov dword [rbp - 0x49], 1
mov dword [rbp - 0x41], ebx
mov dword [rbp - 0x61], ebx
mov dword [rbp - 0x39], 1
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x59]
cmp edx, 9
jge 0x14001a536
mov eax, dword [rbp - 0x59]
inc edx
mov ecx, dword [rbp - 0x39]
mov eax, dword [rbp - 0x61]
add ecx, eax
mov dword [rbp - 0x41], ecx
mov eax, dword [rbp - 0x39]
mov dword [rbp - 0x61], eax
mov eax, dword [rbp - 0x41]
mov dword [rbp - 0x39], eax
mov eax, dword [rbp - 0x49]
inc eax
mov dword [rbp - 0x49], eax
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x59]
cmp ecx, eax
jne 0x14001a503
mov eax, dword [rbp - 0x49]
cmp eax, 1
jne 0x14001a544
mov eax, dword [rbp - 0x39]
mov dword [rbp - 0x69], eax
mov eax, dword [rbp - 0x41]
mov ecx, 0x630
mov dword [rbp - 0x69], eax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp - 0x51], 0x23
mov edx, ebx
mov eax, dword [rbp - 0x51]
mov dword [rbp - 0x61], eax
mov dword [rbp - 0x49], ebx
mov dword [rbp - 0x69], ebx
mov dword [rbp - 0x59], ebx
mov dword [rbp - 0x51], 0x58
mov eax, dword [rbp - 0x51]
mov dword [rbp - 0x49], eax
mov dword [rbp - 0x51], 0x1a
mov eax, dword [rbp - 0x51]
mov dword [rbp - 0x69], eax
mov eax, dword [rbp - 0x51]
cmp edx, 0xc
jge 0x14001a5c9
mov eax, dword [rbp - 0x51]
inc edx
test eax, eax
je 0x14001a5c9
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x61]
cmp ecx, eax
jle 0x14001a5b4
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x49]
cmp eax, ecx
jle 0x14001a5b4
mov eax, dword [rbp - 0x59]
inc eax
mov dword [rbp - 0x59], eax
mov eax, dword [rbp - 0x49]
mov dword [rbp - 0x61], eax
mov eax, dword [rbp - 0x69]
mov dword [rbp - 0x49], eax
mov dword [rbp - 0x51], 0xf1
jmp 0x14001a581
mov eax, dword [rbp - 0x59]
mov dword [rbp - 0x61], eax
mov dword [rbp - 0x61], 0x30
movsd qword [rbp - 0x59], xmm10
mov byte [rbp - 0x51], 0x64
mov byte [rbp - 0x4d], 1
movsd xmm0, qword [rbp - 0x59]
mov ecx, dword [rbp - 0x61]
cvttsd2si eax, xmm0
add ecx, eax
mov dword [rbp - 0x49], ecx
movd xmm0, dword [rbp - 0x49]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [rbp - 0x59]
movsd qword [rbp - 0x41], xmm0
movsx ecx, byte [rbp - 0x51]
mov eax, dword [rbp - 0x49]
add al, cl
mov byte [rbp - 0x51], al
movzx eax, byte [rbp - 0x4d]
mov eax, dword [rbp - 0x49]
cmp eax, 0x32
jle 0x14001a624
mov al, 1
jmp 0x14001a626
xor eax, eax
mov byte [rbp - 0x4d], al
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x49]
imul ecx, eax
mov dword [rbp - 0x59], ecx
movsd xmm1, qword [rbp - 0x41]
movd xmm0, dword [rbp - 0x61]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [rbp - 0x41], xmm1
movzx eax, byte [rbp - 0x51]
dec al
mov byte [rbp - 0x51], al
movzx eax, byte [rbp - 0x4d]
test al, al
mov eax, 0x66666667
sete byte [rbp - 0x4d]
mov ecx, dword [rbp - 0x59]
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 - 0x61], ecx
movsd xmm0, qword [rbp - 0x41]
addsd xmm0, xmm6
movsd qword [rbp - 0x59], xmm0
movzx eax, byte [rbp - 0x51]
add al, 2
mov byte [rbp - 0x51], al
movzx eax, byte [rbp - 0x4d]
test al, al
jne 0x14001a6a8
mov eax, dword [rbp - 0x61]
cmp eax, 5
jl 0x14001a6a8
xor eax, eax
jmp 0x14001a6aa
mov al, 1
mov byte [rbp - 0x51], al
lea rdx, [rbp - 0x31]
mov dword [rbp - 0x61], 0xcc
mov rcx, rdi
mov dword [rbp - 0x59], 0xcd
movd xmm0, dword [rbp - 0x61]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm7
divsd xmm0, xmm8
mulsd xmm0, xmm9
movsd qword [rbp - 0x41], xmm0
movd xmm0, dword [rbp - 0x59]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [rbp - 0x41]
movsd qword [rbp - 0x59], xmm0
movd xmm1, dword [rbp - 0x61]
cvtdq2pd xmm1, xmm1
addsd xmm1, qword [rbp - 0x59]
movsd qword [rbp - 0x61], xmm1
call fcn.1400111d0
mov ecx, 0x440
mov rdi, rax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp - 0x61], 0x55
mov dword [rbp - 0x59], 0x46
movd xmm0, dword [rbp - 0x61]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm7
divsd xmm0, xmm8
mulsd xmm0, xmm9
movsd qword [rbp - 0x41], xmm0
movd xmm0, dword [rbp - 0x59]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [rbp - 0x41]
movsd qword [rbp - 0x59], xmm0
movd xmm1, dword [rbp - 0x61]
movsd xmm0, qword [0x14002d8c0]
cvtdq2pd xmm1, xmm1
addsd xmm1, qword [rbp - 0x59]
movsd qword [rbp - 0x61], xmm1
movsd qword [rbp - 0x61], xmm0
movsd xmm1, qword [rbp - 0x61]
movsd xmm2, qword [rbp - 0x61]
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm2, xmm0
mulsd xmm2, xmm10
cvttsd2si eax, xmm2
movd xmm0, eax
mov eax, 0x51eb851f
cvtdq2pd xmm0, xmm0
movsd qword [rbp - 0x61], xmm0
mov dword [rbp - 0x61], 0x124
mov r8d, dword [rbp - 0x61]
mov ecx, dword [rbp - 0x61]
imul r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x64
sub r8d, eax
mov eax, 0x66666667
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 eax, 0x66666667
sub r8d, ecx
imul r8d
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov dword [rbp - 0x61], edx
call fcn.14002c800
movss xmm0, dword [0x14002dae8]
mov eax, 0x51eb851f
mov dword [rbp - 0x61], 0x68
mov r8d, dword [rbp - 0x61]
mov ecx, dword [rbp - 0x61]
imul r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x64
sub r8d, eax
mov eax, 0x66666667
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 eax, 0x66666667
sub r8d, ecx
mov rcx, qword [rbp + 0x6f]
imul r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
movsxd rax, dword [rbp - 0x31]
mov dword [rbp - 0x61], edx
movss dword [rbp - 0x61], xmm0
movss xmm0, dword [rbp - 0x61]
cvtps2pd xmm1, xmm0
mov qword [rcx], rax
mov ecx, 0x180
mulsd xmm1, xmm11
cvtpd2ps xmm1, xmm1
movss dword [rbp - 0x61], xmm1
movss xmm0, dword [rbp - 0x61]
movss dword [rbp - 0x61], xmm0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
call fcn.140029cc0
mov dword [rbp - 0x59], 0x3a
mov edx, ebx
mov dword [rbp - 0x61], ebx
mov ecx, 2
mov eax, dword [rbp - 0x59]
cmp edx, 0xa
jge 0x14001a8ca
mov eax, dword [rbp - 0x61]
inc edx
add eax, ecx
add ecx, 2
mov dword [rbp - 0x61], eax
mov eax, dword [rbp - 0x59]
cmp ecx, eax
jle 0x14001a8b1
mov ecx, 0x460
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
movsd xmm0, qword [0x14002d7c0]
mov dword [rbp - 0x61], 0x86
movsd qword [rbp - 0x59], xmm0
mov byte [rbp - 0x51], 0xfc
mov byte [rbp - 0x4d], 1
movsd xmm0, qword [rbp - 0x59]
mov ecx, dword [rbp - 0x61]
cvttsd2si eax, xmm0
add ecx, eax
mov dword [rbp - 0x49], ecx
movd xmm0, dword [rbp - 0x49]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [rbp - 0x59]
movsd qword [rbp - 0x41], xmm0
movsx ecx, byte [rbp - 0x51]
mov eax, dword [rbp - 0x49]
add al, cl
mov byte [rbp - 0x51], al
movzx eax, byte [rbp - 0x4d]
mov eax, dword [rbp - 0x49]
cmp eax, 0x32
jle 0x14001a931
mov al, 1
jmp 0x14001a933
xor eax, eax
mov byte [rbp - 0x4d], al
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x49]
imul ecx, eax
mov eax, 0x66666667
mov dword [rbp - 0x59], ecx
movsd xmm1, qword [rbp - 0x41]
movd xmm0, dword [rbp - 0x61]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [rbp - 0x41], xmm1
movzx ecx, byte [rbp - 0x51]
dec cl
mov byte [rbp - 0x51], cl
movzx ecx, byte [rbp - 0x4d]
test cl, cl
sete byte [rbp - 0x4d]
mov ecx, dword [rbp - 0x59]
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 - 0x61], ecx
movsd xmm0, qword [rbp - 0x41]
addsd xmm0, xmm6
movaps xmm6, xmmword [rsp + 0xb0]
movsd qword [rbp - 0x59], xmm0
movzx eax, byte [rbp - 0x51]
add al, 2
mov byte [rbp - 0x51], al
movzx eax, byte [rbp - 0x4d]
test al, al
jne 0x14001a9bd
mov eax, dword [rbp - 0x61]
cmp eax, 5
jl 0x14001a9bd
xor eax, eax
jmp 0x14001a9bf
mov al, 1
mov byte [rbp - 0x51], al
mov edx, ebx
mov dword [rbp - 0x51], 0xc8
mov eax, dword [rbp - 0x51]
mov dword [rbp - 0x61], eax
mov dword [rbp - 0x49], ebx
mov dword [rbp - 0x69], ebx
mov dword [rbp - 0x59], ebx
mov dword [rbp - 0x51], 0x9c
mov eax, dword [rbp - 0x51]
mov dword [rbp - 0x49], eax
mov dword [rbp - 0x51], 0x13
mov eax, dword [rbp - 0x51]
mov dword [rbp - 0x69], eax
mov eax, dword [rbp - 0x51]
cmp edx, 0xc
jge 0x14001aa36
mov eax, dword [rbp - 0x51]
inc edx
test eax, eax
je 0x14001aa36
mov ecx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x61]
cmp ecx, eax
jle 0x14001aa21
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x49]
cmp eax, ecx
jle 0x14001aa21
mov eax, dword [rbp - 0x59]
inc eax
mov dword [rbp - 0x59], eax
mov eax, dword [rbp - 0x49]
mov dword [rbp - 0x61], eax
mov eax, dword [rbp - 0x69]
mov dword [rbp - 0x49], eax
mov dword [rbp - 0x51], 0xc4
jmp 0x14001a9ee
mov eax, dword [rbp - 0x59]
mov dword [rbp - 0x61], eax
call fcn.1400294f0
mov ecx, 0x528
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r14
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov r14, qword [rsp + 0x100]
mov dword [rbp - 0x39], 0xd9
mov dword [rbp - 0x51], ebx
mov dword [rbp - 0x69], ebx
mov dword [rbp - 0x49], 1
mov dword [rbp - 0x59], ebx
mov eax, dword [rbp - 0x39]
cmp ebx, 0xa
jge 0x14001aad9
mov eax, dword [rbp - 0x39]
inc ebx
mov dword [rbp - 0x51], eax
mov dword [rbp - 0x39], 0x8b
mov eax, dword [rbp - 0x39]
mov dword [rbp - 0x69], eax
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x51]
cmp ecx, eax
jne 0x14001aaa5
mov eax, dword [rbp - 0x49]
inc eax
mov dword [rbp - 0x49], eax
jmp 0x14001aab5
mov ecx, dword [rbp - 0x59]
mov eax, dword [rbp - 0x49]
cmp ecx, eax
jge 0x14001aab5
mov eax, dword [rbp - 0x49]
mov dword [rbp - 0x59], eax
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x51]
cmp ecx, eax
jle 0x14001aac6
mov dword [rbp - 0x49], 1
mov ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x51]
cmp ecx, eax
jge 0x14001aa74
mov dword [rbp - 0x49], 1
jmp 0x14001aa74
mov eax, dword [rbp - 0x59]
mov ecx, 0x6b8
movsd xmm0, qword [0x14002d858]
mov dword [rbp - 0x61], eax
movsd qword [rbp - 0x61], xmm0
movsd xmm1, qword [rbp - 0x61]
movsd xmm2, qword [rbp - 0x61]
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm2, xmm0
movsd qword [rbp - 0x61], xmm2
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x600
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x7a0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
movsd xmm0, qword [0x14002d960]
xor edx, edx
movsd qword [rbp - 0x61], xmm0
movsd xmm1, qword [rbp - 0x61]
divsd xmm1, qword [0x14002d4a8]
movsd qword [rbp - 0x61], xmm1
movsd xmm0, qword [rbp - 0x61]
movsd qword [rbp - 0x61], xmm0
movss xmm0, dword [0x14002dc10]
mov dword [rbp - 0x69], 0xac
mov byte [rbp - 0x51], 0x96
movss dword [rbp - 0x41], xmm0
movd xmm1, dword [rbp - 0x69]
cvtdq2ps xmm1, xmm1
addss xmm1, dword [rbp - 0x41]
cvtps2pd xmm0, xmm1
movsd qword [rbp - 0x49], xmm0
movd xmm1, dword [rbp - 0x69]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [rbp - 0x49]
cvttsd2si eax, xmm1
mov dword [rbp - 0x59], eax
movd xmm1, dword [rbp - 0x59]
movsd xmm0, qword [rbp - 0x49]
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
cvttsd2si rax, xmm1
mov dword [rbp - 0x61], eax
mov eax, dword [rbp - 0x61]
mov ecx, dword [rbp - 0x69]
div ecx
mov word [rbp - 0x51], ax
movsx ecx, word [rbp - 0x51]
mov eax, dword [rbp - 0x61]
add eax, ecx
mov dword [rbp - 0x61], eax
mov ecx, dword [rbp - 0x61]
mov eax, dword [rbp - 0x59]
cmp ecx, eax
seta byte [rbp - 0x51]
movzx eax, byte [rbp - 0x51]
test al, al
mov eax, dword [rbp - 0x69]
jne 0x14001abe5
mov eax, dword [rbp - 0x59]
mov dword [rbp - 0x61], eax
xor edx, edx
mov eax, dword [rbp - 0x61]
mov byte [rbp - 0x51], al
movsx eax, byte [rbp - 0x51]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [rbp - 0x41]
movss dword [rbp - 0x61], xmm0
movss xmm0, dword [rbp - 0x61]
cvtps2pd xmm1, xmm0
mulsd xmm1, qword [rbp - 0x49]
movsd qword [rbp - 0x59], xmm1
movsd xmm0, qword [rbp - 0x59]
cvttsd2si eax, xmm0
mov dword [rbp - 0x69], eax
movd xmm1, dword [rbp - 0x69]
movss xmm0, dword [rbp - 0x61]
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
cvttss2si rax, xmm1
mov dword [rbp - 0x61], eax
mov eax, dword [rbp - 0x61]
mov ecx, dword [rbp - 0x69]
div ecx
mov word [rbp - 0x51], ax
movsx ecx, word [rbp - 0x51]
mov eax, dword [rbp - 0x61]
add eax, ecx
mov dword [rbp - 0x61], eax
mov ecx, dword [rbp - 0x61]
mov eax, dword [rbp - 0x69]
cmp ecx, eax
seta byte [rbp - 0x51]
movzx eax, byte [rbp - 0x51]
test al, al
mov eax, dword [rbp - 0x69]
jne 0x14001ac6e
mov eax, dword [rbp - 0x61]
mov dword [rbp - 0x61], eax
mov ecx, 0xc58
mov eax, dword [rbp - 0x61]
mov byte [rbp - 0x51], al
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp - 0x31], 0x34
mov eax, dword [rbp - 0x31]
add eax, 0xa
mov dword [rbp - 0x31], eax
mov eax, dword [rbp - 0x31]
mov dword [rbp - 0x31], eax
mov rax, rdi
jmp 0x14001ac9f
xor eax, eax
mov r15, qword [rsp + 0x108]
lea r11, [rsp + 0xc0]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
mov rsi, qword [rsp + 0xf0]
mov rsp, r11
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret