Function at 0x14002b150
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
push rbx
mov rbp, rsp
sub rsp, 0x38
mov dword [rbp + 0x18], 0x107
mov eax, 0x51eb851f
mov r8d, dword [rbp + 0x18]
mov ecx, dword [rbp + 0x18]
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, 0x708
imul r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0x18], edx
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0xc60
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp + 0x18], 0x62
mov dword [rbp + 0x20], 0xef
mov ecx, dword [rbp + 0x20]
mov eax, dword [rbp + 0x18]
add ecx, eax
mov dword [rbp + 0x28], ecx
mov eax, dword [rbp + 0x20]
mov ecx, dword [rbp + 0x18]
sub ecx, eax
mov dword [rbp + 0x20], ecx
mov ecx, dword [rbp + 0x20]
mov eax, dword [rbp + 0x28]
imul ecx, eax
mov dword [rbp + 0x20], ecx
mov eax, dword [rbp + 0x20]
mov ecx, dword [rbp + 0x18]
cdq
idiv ecx
mov ecx, 0xa0
mov dword [rbp + 0x18], eax
mov eax, dword [rbp + 0x18]
mov dword [rbp + 0x18], eax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x618
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp + 0x18], 0xe
mov dword [rbp + 0x20], 0x6e
mov ecx, dword [rbp + 0x20]
mov eax, dword [rbp + 0x18]
add ecx, eax
mov dword [rbp + 0x30], ecx
mov ecx, dword [rbp + 0x30]
mov eax, dword [rbp + 0x20]
imul ecx, eax
mov dword [rbp + 0x28], ecx
mov eax, dword [rbp + 0x28]
mov ecx, dword [rbp + 0x18]
cdq
idiv ecx
mov dword [rbp - 0x18], eax
mov ecx, dword [rbp - 0x18]
mov eax, dword [rbp + 0x30]
sub ecx, eax
mov dword [rbp + 0x18], ecx
mov eax, dword [rbp + 0x28]
mov ecx, dword [rbp + 0x20]
cdq
idiv ecx
mov eax, dword [rbp + 0x18]
add eax, edx
mov dword [rbp + 0x30], eax
mov ecx, dword [rbp + 0x30]
mov eax, dword [rbp + 0x30]
imul ecx, eax
mov dword [rbp - 0x10], ecx
mov ecx, 1
mov eax, dword [rbp + 0x18]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp - 0x10]
cdq
idiv ecx
mov dword [rbp + 0x20], eax
mov ecx, dword [rbp + 0x20]
mov eax, dword [rbp - 0x18]
sub ecx, eax
mov dword [rbp - 0x18], ecx
mov ecx, dword [rbp - 0x18]
mov eax, dword [rbp + 0x28]
imul ecx, eax
mov dword [rbp + 0x28], ecx
mov ecx, 1
mov eax, dword [rbp + 0x20]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x28]
cdq
idiv ecx
mov dword [rbp - 0x18], eax
mov ecx, dword [rbp - 0x18]
mov eax, dword [rbp - 0x10]
add ecx, eax
mov dword [rbp - 0x10], ecx
mov ecx, dword [rbp - 0x10]
mov eax, dword [rbp + 0x30]
sub ecx, eax
mov dword [rbp + 0x20], ecx
mov ecx, dword [rbp + 0x20]
mov eax, dword [rbp + 0x18]
imul ecx, eax
mov dword [rbp + 0x18], ecx
mov ecx, 1
mov eax, dword [rbp + 0x20]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x18]
cdq
idiv ecx
mov dword [rbp + 0x20], eax
mov ecx, dword [rbp + 0x20]
mov eax, dword [rbp + 0x28]
add ecx, eax
mov dword [rbp + 0x28], ecx
mov ecx, dword [rbp + 0x28]
mov eax, dword [rbp - 0x10]
sub ecx, eax
mov dword [rbp + 0x18], ecx
mov ecx, dword [rbp + 0x18]
mov eax, dword [rbp - 0x18]
imul ecx, eax
mov dword [rbp + 0x30], ecx
mov ecx, 1
mov eax, dword [rbp + 0x18]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x30]
cdq
idiv ecx
mov dword [rbp - 0x10], eax
mov ecx, dword [rbp - 0x10]
mov eax, dword [rbp + 0x20]
add ecx, eax
mov dword [rbp + 0x20], ecx
mov ecx, dword [rbp + 0x20]
mov eax, dword [rbp + 0x28]
sub ecx, eax
mov dword [rbp + 0x18], ecx
mov ecx, dword [rbp + 0x18]
mov eax, dword [rbp + 0x30]
imul ecx, eax
mov dword [rbp + 0x28], ecx
mov ecx, 1
mov eax, dword [rbp + 0x18]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x28]
cdq
idiv ecx
mov dword [rbp + 0x30], eax
mov ecx, dword [rbp + 0x30]
mov eax, dword [rbp - 0x10]
add ecx, eax
mov dword [rbp - 0x10], ecx
mov ecx, dword [rbp - 0x10]
mov eax, dword [rbp + 0x20]
sub ecx, eax
mov dword [rbp + 0x18], ecx
mov ecx, dword [rbp + 0x18]
mov eax, dword [rbp + 0x28]
imul ecx, eax
mov dword [rbp + 0x20], ecx
mov ecx, 1
mov eax, dword [rbp + 0x18]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x20]
cdq
idiv ecx
mov dword [rbp + 0x28], eax
mov ecx, dword [rbp + 0x28]
mov eax, dword [rbp + 0x30]
add ecx, eax
mov dword [rbp + 0x30], ecx
mov ecx, dword [rbp + 0x30]
mov eax, dword [rbp - 0x10]
sub ecx, eax
mov dword [rbp + 0x18], ecx
mov ecx, dword [rbp + 0x18]
mov eax, dword [rbp + 0x20]
imul ecx, eax
mov dword [rbp + 0x20], ecx
mov ecx, 1
mov eax, dword [rbp + 0x18]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x20]
cdq
idiv ecx
mov dword [rbp - 0x10], eax
mov ecx, dword [rbp - 0x10]
mov eax, dword [rbp + 0x28]
add ecx, eax
mov dword [rbp + 0x28], ecx
mov ecx, dword [rbp + 0x28]
mov eax, dword [rbp + 0x30]
sub ecx, eax
mov dword [rbp + 0x18], ecx
mov ecx, dword [rbp + 0x18]
mov eax, dword [rbp + 0x20]
imul ecx, eax
mov dword [rbp + 0x20], ecx
mov ecx, 1
mov eax, dword [rbp + 0x18]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x20]
cdq
idiv ecx
mov dword [rbp + 0x30], eax
mov ecx, dword [rbp + 0x30]
mov eax, dword [rbp - 0x10]
add ecx, eax
mov dword [rbp - 0x10], ecx
mov ecx, dword [rbp - 0x10]
mov eax, dword [rbp + 0x28]
sub ecx, eax
mov dword [rbp + 0x18], ecx
mov ecx, dword [rbp + 0x18]
mov eax, dword [rbp + 0x20]
imul ecx, eax
mov dword [rbp + 0x20], ecx
mov eax, dword [rbp + 0x18]
mov ecx, 1
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x20]
cdq
idiv ecx
mov dword [rbp + 0x28], eax
mov ecx, dword [rbp + 0x28]
mov eax, dword [rbp + 0x30]
add ecx, eax
mov dword [rbp + 0x30], ecx
mov ecx, dword [rbp + 0x30]
mov eax, dword [rbp - 0x10]
sub ecx, eax
mov dword [rbp + 0x18], ecx
mov ecx, dword [rbp + 0x18]
mov eax, dword [rbp + 0x20]
imul ecx, eax
mov dword [rbp + 0x20], ecx
mov ecx, 1
mov eax, dword [rbp + 0x18]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x20]
cdq
idiv ecx
mov dword [rbp - 0x10], eax
mov ecx, dword [rbp - 0x10]
mov eax, dword [rbp + 0x28]
add ecx, eax
mov dword [rbp + 0x28], ecx
mov ecx, dword [rbp + 0x28]
mov eax, dword [rbp + 0x30]
sub ecx, eax
mov dword [rbp + 0x18], ecx
mov ecx, dword [rbp + 0x18]
mov eax, dword [rbp + 0x20]
imul ecx, eax
mov dword [rbp + 0x20], ecx
mov ecx, 1
mov eax, dword [rbp + 0x18]
test eax, eax
cmovne ecx, eax
mov eax, dword [rbp + 0x20]
cdq
idiv ecx
mov dword [rbp + 0x18], eax
mov ecx, dword [rbp + 0x18]
mov eax, dword [rbp - 0x10]
add ecx, eax
mov dword [rbp + 0x18], ecx
mov ecx, dword [rbp + 0x18]
mov eax, dword [rbp + 0x28]
sub ecx, eax
mov dword [rbp + 0x18], ecx
xor ebx, ebx
mov dword [rbp + 0x18], 0xcc
mov edx, ebx
mov eax, dword [rbp + 0x18]
mov dword [rbp - 0x10], eax
mov dword [rbp + 0x20], ebx
mov dword [rbp + 0x28], ebx
mov dword [rbp + 0x30], ebx
mov dword [rbp + 0x18], 0x22
mov eax, dword [rbp + 0x18]
mov dword [rbp + 0x20], eax
mov dword [rbp + 0x18], 0x8b
mov eax, dword [rbp + 0x18]
mov dword [rbp + 0x28], eax
mov eax, dword [rbp + 0x18]
cmp edx, 0xc
jge 0x14002b53e
mov eax, dword [rbp + 0x18]
inc edx
test eax, eax
je 0x14002b53e
mov ecx, dword [rbp + 0x20]
mov eax, dword [rbp - 0x10]
cmp ecx, eax
jle 0x14002b529
mov ecx, dword [rbp + 0x28]
mov eax, dword [rbp + 0x20]
cmp eax, ecx
jle 0x14002b529
mov eax, dword [rbp + 0x30]
inc eax
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x20]
mov dword [rbp - 0x10], eax
mov eax, dword [rbp + 0x28]
mov dword [rbp + 0x20], eax
mov dword [rbp + 0x18], 0x35
jmp 0x14002b4f6
mov eax, dword [rbp + 0x30]
mov ecx, 0x780
movsd xmm0, qword [0x14002d668]
mov dword [rbp + 0x18], eax
movsd qword [rbp + 0x18], xmm0
movsd xmm1, qword [rbp + 0x18]
movsd xmm2, qword [rbp + 0x18]
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm2, xmm0
mulsd xmm2, qword [0x14002d4b0]
cvttsd2si eax, xmm2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [rbp + 0x18], xmm0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
movsd xmm0, qword [0x14002d5d8]
mov ecx, 0x370
movsd qword [rbp + 0x18], xmm0
movsd xmm1, qword [rbp + 0x18]
divsd xmm1, qword [0x14002d4a8]
movsd qword [rbp + 0x18], xmm1
movsd xmm0, qword [rbp + 0x18]
movsd xmm1, qword [0x14002d6c8]
movsd qword [rbp + 0x18], xmm0
movsd qword [rbp + 0x18], xmm1
movsd xmm0, qword [rbp + 0x18]
divsd xmm0, qword [0x14002d4a8]
movsd qword [rbp + 0x18], xmm0
movsd xmm0, qword [rbp + 0x18]
movsd qword [rbp + 0x18], xmm0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp + 0x18], 0xcb
mov dword [rbp + 0x20], 0x129
mov ecx, dword [rbp + 0x20]
mov eax, dword [rbp + 0x18]
add ecx, eax
mov dword [rbp + 0x28], ecx
mov eax, dword [rbp + 0x20]
mov ecx, dword [rbp + 0x18]
sub ecx, eax
mov dword [rbp + 0x20], ecx
mov ecx, dword [rbp + 0x20]
mov eax, dword [rbp + 0x28]
imul ecx, eax
mov dword [rbp + 0x20], ecx
mov eax, dword [rbp + 0x20]
mov ecx, dword [rbp + 0x18]
cdq
idiv ecx
mov ecx, 0xe38
mov dword [rbp + 0x18], eax
mov eax, dword [rbp + 0x18]
mov dword [rbp + 0x18], eax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
movsd xmm0, qword [0x14002d630]
movsd xmm1, qword [0x14002d5f8]
movsd qword [rbp + 0x20], xmm0
movsd xmm0, qword [0x14002da20]
movsd qword [rbp + 0x28], xmm1
movsd qword [rbp + 0x18], xmm0
movsd xmm1, qword [rbp + 0x18]
divsd xmm1, qword [0x14002d670]
movsd qword [rbp + 0x18], xmm1
movsd xmm0, qword [rbp + 0x20]
mulsd xmm0, qword [0x14002d670]
addsd xmm0, qword [rbp + 0x28]
movsd qword [rbp + 0x20], xmm0
movsd xmm1, qword [rbp + 0x20]
movsd xmm0, qword [rbp + 0x18]
mulsd xmm1, xmm0
movsd qword [rbp + 0x18], xmm1
movsd xmm2, qword [rbp + 0x18]
movsd xmm0, qword [rbp + 0x20]
addsd xmm2, xmm0
cvttsd2si eax, xmm2
mov dword [rbp + 0x18], eax
mov eax, 0x51eb851f
mov r8d, dword [rbp + 0x18]
imul r8d
sar edx, 5
mov eax, 0x51eb851f
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 + 0x28], xmm0
mov ecx, dword [rbp + 0x18]
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movd xmm0, edx
mov edx, ebx
cvtdq2pd xmm0, xmm0
movsd qword [rbp + 0x20], xmm0
movsd xmm1, qword [rbp + 0x20]
movsd qword [rbp + 0x18], xmm1
movsd xmm0, qword [rbp + 0x28]
movsd qword [rbp + 0x18], xmm0
mov dword [rbp + 0x18], 0xc6
mov eax, dword [rbp + 0x18]
mov dword [rbp - 0x10], eax
mov dword [rbp + 0x20], ebx
mov dword [rbp + 0x28], ebx
mov dword [rbp + 0x30], ebx
mov dword [rbp + 0x18], 0xb4
mov eax, dword [rbp + 0x18]
mov dword [rbp + 0x20], eax
mov dword [rbp + 0x18], 0x113
mov eax, dword [rbp + 0x18]
mov dword [rbp + 0x28], eax
mov eax, dword [rbp + 0x18]
cmp edx, 0xc
jge 0x14002b784
mov eax, dword [rbp + 0x18]
inc edx
test eax, eax
je 0x14002b784
mov ecx, dword [rbp + 0x20]
mov eax, dword [rbp - 0x10]
cmp ecx, eax
jle 0x14002b76f
mov ecx, dword [rbp + 0x28]
mov eax, dword [rbp + 0x20]
cmp eax, ecx
jle 0x14002b76f
mov eax, dword [rbp + 0x30]
inc eax
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x20]
mov dword [rbp - 0x10], eax
mov eax, dword [rbp + 0x28]
mov dword [rbp + 0x20], eax
mov dword [rbp + 0x18], 0x5c
jmp 0x14002b73c
mov eax, dword [rbp + 0x30]
mov ecx, 0x798
mov dword [rbp + 0x18], eax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rbp + 0x28], 0xa7
mov dword [rbp + 0x18], 0xda
mov dword [rbp + 0x20], 0x54
mov ecx, dword [rbp + 0x18]
mov eax, dword [rbp + 0x28]
mov ecx, dword [rbp + 0x18]
mov eax, dword [rbp + 0x28]
mov ecx, dword [rbp + 0x18]
mov eax, dword [rbp + 0x28]
mov ecx, dword [rbp + 0x20]
mov eax, dword [rbp + 0x18]
mov ecx, ebx
mov eax, dword [rbp + 0x18]
mov cl, 1
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x28]
mov dword [rbp + 0x28], eax
mov eax, dword [rbp + 0x20]
mov dword [rbp + 0x18], eax
mov edx, dword [rbp + 0x18]
mov eax, dword [rbp + 0x28]
mov edx, ebx
mov eax, dword [rbp + 0x30]
mov dword [rbp + 0x30], ecx
mov dword [rbp + 0x20], 0xf2
mov dword [rbp + 0x30], ebx
mov dword [rbp + 0x28], ebx
mov dword [rbp + 0x18], 1
mov dword [rbp - 0x18], ebx
mov eax, dword [rbp + 0x20]
cmp edx, 0xa
jge 0x14002b862
mov eax, dword [rbp + 0x20]
inc edx
mov dword [rbp + 0x30], eax
mov dword [rbp + 0x20], 0xf0
mov eax, dword [rbp + 0x20]
mov dword [rbp + 0x28], eax
mov ecx, dword [rbp + 0x28]
mov eax, dword [rbp + 0x30]
cmp ecx, eax
jne 0x14002b82e
mov eax, dword [rbp + 0x18]
inc eax
mov dword [rbp + 0x18], eax
jmp 0x14002b83e
mov ecx, dword [rbp - 0x18]
mov eax, dword [rbp + 0x18]
cmp ecx, eax
jge 0x14002b83e
mov eax, dword [rbp + 0x18]
mov dword [rbp - 0x18], eax
mov ecx, dword [rbp + 0x28]
mov eax, dword [rbp + 0x30]
cmp ecx, eax
jle 0x14002b84f
mov dword [rbp + 0x18], 1
mov ecx, dword [rbp + 0x28]
mov eax, dword [rbp + 0x30]
cmp ecx, eax
jge 0x14002b7fd
mov dword [rbp + 0x18], 1
jmp 0x14002b7fd
mov eax, dword [rbp - 0x18]
movsd xmm0, qword [0x14002d658]
mov dword [rbp + 0x18], eax
mov dword [rbp + 0x18], 0xa7
mov eax, dword [rbp + 0x18]
xor eax, 0xff
mov dword [rbp + 0x18], eax
mov eax, dword [rbp + 0x18]
mov dword [rbp + 0x18], eax
mov dword [rbp + 0x30], 0xbf
movsd qword [rbp - 0x10], xmm0
mov byte [rbp + 0x18], 0x39
mov byte [rbp + 0x20], 1
movsd xmm0, qword [rbp - 0x10]
mov ecx, dword [rbp + 0x30]
cvttsd2si eax, xmm0
add ecx, eax
mov dword [rbp + 0x28], ecx
movd xmm0, dword [rbp + 0x28]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [rbp - 0x10]
movsd qword [rbp - 0x10], xmm0
movsx ecx, byte [rbp + 0x18]
mov eax, dword [rbp + 0x28]
add al, cl
mov byte [rbp + 0x18], al
movzx eax, byte [rbp + 0x20]
mov eax, dword [rbp + 0x28]
cmp eax, 0x32
jle 0x14002b8dc
mov al, 1
jmp 0x14002b8de
xor eax, eax
mov byte [rbp + 0x20], al
mov ecx, dword [rbp + 0x28]
mov eax, dword [rbp + 0x28]
imul ecx, eax
mov eax, 0x66666667
mov dword [rbp + 0x28], ecx
movsd xmm1, qword [rbp - 0x10]
movd xmm0, dword [rbp + 0x30]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [rbp + 0x30], xmm1
movzx ecx, byte [rbp + 0x18]
dec cl
mov byte [rbp + 0x18], cl
movzx ecx, byte [rbp + 0x20]
test cl, cl
sete byte [rbp + 0x20]
mov ecx, dword [rbp + 0x28]
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 + 0x28], ecx
movsd xmm0, qword [rbp + 0x30]
addsd xmm0, qword [0x14002d670]
movsd qword [rbp + 0x30], xmm0
movzx eax, byte [rbp + 0x18]
add al, 2
mov byte [rbp + 0x18], al
movzx eax, byte [rbp + 0x20]
test al, al
jne 0x14002b964
mov eax, dword [rbp + 0x28]
cmp eax, 5
jl 0x14002b964
xor eax, eax
jmp 0x14002b966
mov al, 1
mov ecx, 0x258
mov byte [rbp + 0x18], al
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
movss xmm0, dword [0x14002db70]
xor edx, edx
mov dword [rbp + 0x20], 0x6a
mov byte [rbp + 0x18], 0x4c
movss dword [rbp - 0x10], xmm0
movd xmm1, dword [rbp + 0x20]
cvtdq2ps xmm1, xmm1
addss xmm1, dword [rbp - 0x10]
cvtps2pd xmm0, xmm1
movsd qword [rbp - 0x18], xmm0
movd xmm1, dword [rbp + 0x20]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [rbp - 0x18]
cvttsd2si eax, xmm1
mov dword [rbp + 0x28], eax
movd xmm1, dword [rbp + 0x28]
movsd xmm0, qword [rbp - 0x18]
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
cvttsd2si rax, xmm1
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
mov ecx, dword [rbp + 0x20]
div ecx
mov word [rbp + 0x18], ax
movsx ecx, word [rbp + 0x18]
mov eax, dword [rbp + 0x30]
add eax, ecx
mov dword [rbp + 0x18], eax
mov ecx, dword [rbp + 0x18]
mov eax, dword [rbp + 0x28]
cmp ecx, eax
seta byte [rbp + 0x18]
movzx eax, byte [rbp + 0x18]
test al, al
mov eax, dword [rbp + 0x20]
jne 0x14002ba04
mov eax, dword [rbp + 0x28]
mov dword [rbp + 0x18], eax
xor edx, edx
mov eax, dword [rbp + 0x18]
mov byte [rbp + 0x18], al
movsx eax, byte [rbp + 0x18]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [rbp - 0x10]
movss dword [rbp + 0x18], xmm0
movss xmm0, dword [rbp + 0x18]
cvtps2pd xmm1, xmm0
mulsd xmm1, qword [rbp - 0x18]
movsd qword [rbp + 0x20], xmm1
movsd xmm0, qword [rbp + 0x20]
cvttsd2si eax, xmm0
mov dword [rbp + 0x20], eax
movd xmm1, dword [rbp + 0x20]
movss xmm0, dword [rbp + 0x18]
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
cvttss2si rax, xmm1
mov dword [rbp + 0x28], eax
mov eax, dword [rbp + 0x28]
mov ecx, dword [rbp + 0x20]
div ecx
mov word [rbp + 0x18], ax
movsx ecx, word [rbp + 0x18]
mov eax, dword [rbp + 0x28]
add eax, ecx
mov dword [rbp + 0x28], eax
mov ecx, dword [rbp + 0x28]
mov eax, dword [rbp + 0x20]
cmp ecx, eax
seta byte [rbp + 0x18]
movzx eax, byte [rbp + 0x18]
test al, al
mov eax, dword [rbp + 0x20]
jne 0x14002ba8d
mov eax, dword [rbp + 0x28]
mov dword [rbp + 0x18], eax
mov eax, dword [rbp + 0x18]
mov byte [rbp + 0x18], al
mov dword [rbp + 0x20], 0x15
mov dword [rbp + 0x30], ebx
mov dword [rbp + 0x28], ebx
mov dword [rbp + 0x18], 1
mov dword [rbp - 0x18], ebx
mov eax, dword [rbp + 0x20]
cmp ebx, 0xa
jge 0x14002bb12
mov eax, dword [rbp + 0x20]
inc ebx
mov dword [rbp + 0x30], eax
mov dword [rbp + 0x20], 0x7f
mov eax, dword [rbp + 0x20]
mov dword [rbp + 0x28], eax
mov ecx, dword [rbp + 0x28]
mov eax, dword [rbp + 0x30]
cmp ecx, eax
jne 0x14002bade
mov eax, dword [rbp + 0x18]
inc eax
mov dword [rbp + 0x18], eax
jmp 0x14002baee
mov ecx, dword [rbp - 0x18]
mov eax, dword [rbp + 0x18]
cmp ecx, eax
jge 0x14002baee
mov eax, dword [rbp + 0x18]
mov dword [rbp - 0x18], eax
mov ecx, dword [rbp + 0x28]
mov eax, dword [rbp + 0x30]
cmp ecx, eax
jle 0x14002baff
mov dword [rbp + 0x18], 1
mov ecx, dword [rbp + 0x28]
mov eax, dword [rbp + 0x30]
cmp ecx, eax
jge 0x14002baad
mov dword [rbp + 0x18], 1
jmp 0x14002baad
mov eax, dword [rbp - 0x18]
mov ecx, 0x210
mov dword [rbp + 0x18], eax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x7f8
add rsp, 0x38
pop rbx
pop rbp
jmp qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]