Function at 0x140088d5c
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
call fcn.1400842d8
mov esi, 8
xor r12d, r12d
lea r15d, [rsi - 4]
lea r13d, [rsi - 7]
lea r14d, [rsi + 2]
test eax, eax
jne 0x140089906
lea ecx, [rsi + 0x30]
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r8, rax
mov dword [rax], 0x713d3
mov dword [rax + 4], 0x576ac
mov dword [rax + 8], 0x1b2e8
mov dword [rax + 0xc], 0x387b4
mov dword [rax + 0x10], 0x12be1
mov dword [rax + 0x14], 0x4c8d9
mov dword [rax + 0x18], 0x27409
mov dword [rax + 0x1c], 0x4eb90
mov dword [rax + 0x20], 0x4e564
mov dword [rax + 0x24], 0x5720a
mov dword [rax + 0x28], 0x5c426
mov dword [rax + 0x2c], 0x334e1
mov dword [rax + 0x30], 0x21a85
mov dword [rax + 0x34], 0x84d8
mov ecx, dword [rax + 0x30]
mov eax, dword [rax + 0xc]
cdq
idiv ecx
mov ecx, dword [r8 + 0x24]
sub eax, ecx
mov ecx, dword [r8]
sub eax, ecx
mov ecx, dword [r8 + 8]
sub eax, ecx
mov ecx, dword [r8 + 0x24]
add ecx, eax
mov dword [r8 + 0x34], ecx
mov rcx, r8
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
lea ecx, [rsi + 0x3c]
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r8, rax
xor edx, edx
mov dword [rax], 0x47ef
mov dword [rax + 4], 0x21299
mov dword [rax + 8], 0x73c0f
mov dword [rax + 0xc], 0x3934c
mov dword [rax + 0x10], 0x69e77
mov dword [rax + 0x14], 0x591f0
mov dword [rax + 0x18], 0x37f25
mov dword [rax + 0x1c], 0x4552a
mov dword [rax + 0x20], 0x446a6
mov dword [rax + 0x24], 0x67f19
mov dword [rax + 0x28], 0x100f9
mov dword [rax + 0x2c], 0x32dc0
mov dword [rax + 0x30], 0x14b97
mov dword [rax + 0x34], 0x15fe2
mov dword [rax + 0x38], 0x2f67e
mov dword [rax + 0x3c], 0x9e45
mov dword [rax + 0x40], 0x223fb
mov eax, dword [rax + 0x34]
mov ecx, dword [r8]
imul eax, ecx
mov ecx, dword [r8 + 0x14]
div ecx
mov ecx, dword [r8 + 0x10]
mov eax, edx
xor edx, edx
div ecx
mov ecx, dword [r8 + 4]
imul ecx, eax
mov dword [r8 + 0x40], ecx
mov rcx, r8
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
lea ecx, [rsi + 0x14]
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r8, rax
xor edx, edx
mov dword [rax], 0x48008
mov dword [rax + 4], 0x5579b
mov dword [rax + 8], 0x616ae
mov dword [rax + 0xc], 0x59ba8
mov dword [rax + 0x10], 0x73792
mov dword [rax + 0x14], 0x4a3a2
mov dword [rax + 0x18], 0x2d2cc
mov eax, dword [rax + 8]
mov ecx, dword [r8 + 8]
div ecx
mov ecx, dword [r8 + 8]
mov edx, dword [r8 + 0x10]
imul ecx, eax
mov eax, dword [r8 + 0xc]
imul edx, eax
mov eax, dword [r8 + 0xc]
sub edx, ecx
mov rcx, r8
add eax, edx
mov dword [r8 + 0x18], eax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
lea ebx, [rsi + 0xc]
mov ecx, ebx
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r8, rax
mov dword [rax], 0x2b004
mov dword [rax + 4], 0x70d71
mov dword [rax + 8], 0x3060
mov dword [rax + 0xc], 0x6b56e
mov dword [rax + 0x10], 0x36325
mov eax, dword [rax + 8]
mov ecx, dword [r8 + 8]
cdq
idiv ecx
mov rcx, r8
mov dword [r8 + 0x10], eax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
lea ecx, [rsi + 0x38]
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r9, rax
mov dword [rax], 0x11531
mov dword [rax + 4], 0x13c8
mov dword [rax + 8], 0x767bd
mov dword [rax + 0xc], 0x1277f
mov dword [rax + 0x10], 0x28b6b
mov dword [rax + 0x14], 0x53338
mov dword [rax + 0x18], 0x1b524
mov dword [rax + 0x1c], 0x45d5f
mov dword [rax + 0x20], 0x23b3
mov dword [rax + 0x24], 0x2684a
mov dword [rax + 0x28], 0x79440
mov dword [rax + 0x2c], 0x22d5e
mov dword [rax + 0x30], 0x5fd5e
mov dword [rax + 0x34], 0x31330
mov dword [rax + 0x38], 0x1c3fe
mov dword [rax + 0x3c], 0x6b5c9
mov eax, dword [rax + 0x20]
mov ecx, dword [r9 + 0x1c]
cdq
idiv ecx
mov r8d, eax
mov eax, dword [r9 + 0x38]
mov ecx, dword [r9]
cdq
idiv ecx
mov rcx, r9
sub edx, r8d
mov dword [r9 + 0x3c], edx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
lea ecx, [rsi + 0x34]
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r8, rax
mov dword [rax], 0x6875a
mov dword [rax + 4], 0x3d46e
mov dword [rax + 8], 0x735ee
mov dword [rax + 0xc], 0x17360
mov dword [rax + 0x10], 0xd9e1
mov dword [rax + 0x14], 0x103f1
mov dword [rax + 0x18], 0x5c43c
mov dword [rax + 0x1c], 0x1ede7
mov dword [rax + 0x20], 0x391a2
mov dword [rax + 0x24], 0x543cc
mov dword [rax + 0x28], 0x3fef3
mov dword [rax + 0x2c], 0x78d31
mov dword [rax + 0x30], 0xa8cc
mov dword [rax + 0x34], 0x4d10b
mov dword [rax + 0x38], 0x1ba5e
mov ecx, dword [rax + 0x28]
mov eax, dword [rax + 0x28]
imul ecx, eax
mov eax, dword [r8 + 0x28]
imul eax, ecx
mov ecx, dword [r8 + 0x20]
mov edx, dword [r8 + 0x18]
imul ecx, eax
mov eax, dword [r8 + 0x10]
imul edx, ecx
mov ecx, dword [r8 + 8]
imul eax, edx
cdq
idiv ecx
mov ecx, dword [r8]
sub eax, ecx
mov rcx, r8
mov dword [r8 + 0x38], eax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
lea ecx, [rsi + 4]
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
lea ecx, [rsi + 8]
mov rbp, rax
mov dword [rax + 4], 0xa06e3
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, ebx
mov rsi, rax
mov dword [rax + 8], 0xfffb5320
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, r15d
mov rdi, rax
mov dword [rax + 0xc], 0xe4d7a
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov edx, dword [rdi + 0xc]
mov rbx, rax
mov ecx, dword [rdi + 0xc]
mov r8d, dword [rsi + 8]
imul edx, ecx
mov ecx, dword [rsi + 8]
imul r8d, ecx
add r8d, edx
mov edx, dword [rbp + 4]
mov ecx, dword [rbp + 4]
imul edx, ecx
mov rcx, rbp
add edx, r8d
mov dword [rax], edx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ecx, r15d
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov edx, r12d
mov dword [rax], r13d
mov ecx, dword [rax]
add ecx, edx
add edx, r13d
mov dword [rax], ecx
cmp edx, 0xe9
jl 0x140089189
mov rcx, rax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ecx, 0x40
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r8, rax
mov qword [rax], 0x64cfd
mov qword [rax + 8], 0x581d6
mov qword [rax + 0x10], 0x4c890
mov qword [rax + 0x18], 0x65172
mov qword [rax + 0x20], 0x18e6a
mov qword [rax + 0x28], 0x6904f
mov qword [rax + 0x30], 0x40a41
mov qword [rax + 0x38], 0x40f78
mov rcx, qword [rax + 0x28]
mov rax, qword [rax + 0x10]
cqo
idiv rcx
mov rcx, qword [r8 + 0x30]
imul rcx, rdx
mov rdx, qword [r8 + 0x10]
mov rax, qword [r8 + 0x30]
imul rdx, rcx
mov rcx, r8
sub rdx, rax
mov rax, qword [r8 + 0x30]
add rax, rdx
mov qword [r8 + 0x38], rax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ebx, 0x2c
mov ecx, ebx
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r9, rax
mov dword [rax], 0x23547
mov dword [rax + 4], 0x13bc4
mov dword [rax + 8], 0x754b0
mov dword [rax + 0xc], 0x28866
mov dword [rax + 0x10], 0x77b66
mov dword [rax + 0x14], 0x46b75
mov dword [rax + 0x18], 0x3d4bf
mov dword [rax + 0x1c], 0x33305
mov dword [rax + 0x20], 0x13943
mov dword [rax + 0x24], 0x60859
mov dword [rax + 0x28], 0x4afdc
mov ecx, dword [rax + 0x1c]
mov eax, dword [rax + 0x10]
cdq
idiv ecx
mov r8d, eax
mov eax, dword [r9 + 0x14]
mov ecx, dword [r9 + 0x14]
cdq
idiv ecx
mov eax, dword [r9 + 0xc]
mov rcx, r9
add edx, r8d
sub edx, eax
mov dword [r9 + 0x28], edx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
lea ecx, [rbx + 8]
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r8, rax
xor edx, edx
mov dword [rax], 0x20c46
mov dword [rax + 4], 0x790c8
mov dword [rax + 8], 0x5f776
mov dword [rax + 0xc], 0x5f89d
mov dword [rax + 0x10], 0x40edd
mov dword [rax + 0x14], 0x137b9
mov dword [rax + 0x18], 0x63004
mov dword [rax + 0x1c], 0x68499
mov dword [rax + 0x20], 0x1d221
mov dword [rax + 0x24], 0x340e
mov dword [rax + 0x28], 0x367e2
mov dword [rax + 0x2c], 0x34c90
mov dword [rax + 0x30], 0x38ccd
mov eax, dword [rax + 0x28]
mov ecx, dword [r8 + 0x28]
div ecx
mov ecx, dword [r8]
mov eax, edx
xor edx, edx
div ecx
mov ecx, dword [r8 + 0x10]
mov eax, dword [r8 + 0x10]
add ecx, edx
add eax, ecx
mov rcx, r8
mov dword [r8 + 0x30], eax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ecx, ebx
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r9, rax
mov dword [rax], 0x3fcc0
mov dword [rax + 4], 0x3e8a8
mov dword [rax + 8], 0x13a34
mov dword [rax + 0xc], 0x2e68d
mov dword [rax + 0x10], 0x3562
mov dword [rax + 0x14], 0x64d85
mov dword [rax + 0x18], 0x6658b
mov dword [rax + 0x1c], 0x4b771
mov dword [rax + 0x20], 0x59991
mov dword [rax + 0x24], 0x5486a
mov dword [rax + 0x28], 0x298bd
mov eax, dword [rax + 0x24]
mov ecx, dword [r9 + 0xc]
imul eax, ecx
mov ecx, dword [r9 + 0xc]
cdq
idiv ecx
mov eax, dword [r9 + 0xc]
mov ecx, dword [r9 + 8]
mov r8d, edx
cdq
idiv ecx
mov ecx, dword [r9 + 4]
sub eax, r8d
sub eax, ecx
mov ecx, dword [r9]
sub eax, ecx
mov ecx, dword [r9 + 0x18]
add ecx, eax
mov eax, dword [r9 + 4]
add eax, ecx
mov rcx, r9
mov dword [r9 + 0x28], eax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ecx, 0x108
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
lea ecx, [rbx - 0x24]
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
mov qword [rax], 0xfffffffffffde23e
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
call fcn.140085a98
lea ecx, [rbx + 0x1c]
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r9, rax
mov dword [rax], 0x1a830
mov dword [rax + 4], 0x6d0fb
mov dword [rax + 8], 0x121d
mov dword [rax + 0xc], 0x4f031
mov dword [rax + 0x10], 0x4f5d1
mov dword [rax + 0x14], 0x39e0d
mov dword [rax + 0x18], 0x19cbf
mov dword [rax + 0x1c], 0x187a8
mov dword [rax + 0x20], 0x4a376
mov dword [rax + 0x24], 0x6363e
mov dword [rax + 0x28], 0x5945c
mov dword [rax + 0x2c], 0x15578
mov dword [rax + 0x30], 0x40e67
mov dword [rax + 0x34], 0x53219
mov dword [rax + 0x38], 0x12bf6
mov dword [rax + 0x3c], 0x74d8
mov dword [rax + 0x40], 0x1f45e
mov dword [rax + 0x44], 0x3db1
mov ecx, dword [rax + 0x30]
mov eax, dword [rax + 0x28]
cdq
idiv ecx
mov eax, dword [r9 + 0x34]
mov r8d, dword [r9]
imul eax, edx
imul r8d, eax
mov eax, dword [r9 + 0x30]
mov ecx, dword [r9 + 8]
cdq
idiv ecx
mov ecx, dword [r9 + 0x14]
mov eax, edx
cdq
idiv ecx
mov rcx, r9
add edx, r8d
mov dword [r9 + 0x44], edx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
lea ecx, [rbx + 0x10]
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r8, rax
mov dword [rax], 0x77ce0
mov dword [rax + 4], 0x6e41b
mov dword [rax + 8], 0x754e4
mov dword [rax + 0xc], 0x4ac3a
mov dword [rax + 0x10], 0x555ad
mov dword [rax + 0x14], 0x386d3
mov dword [rax + 0x18], 0x140fe
mov dword [rax + 0x1c], 0x247fc
mov dword [rax + 0x20], 0x5baf5
mov dword [rax + 0x24], 0x1f7f9
mov dword [rax + 0x28], 0x3cfc3
mov dword [rax + 0x2c], 0x28d22
mov dword [rax + 0x30], 0x12d05
mov dword [rax + 0x34], 0x727d1
mov dword [rax + 0x38], 0xb12
mov eax, dword [rax + 0x34]
mov ecx, dword [r8 + 0xc]
imul eax, ecx
mov ecx, dword [r8]
cdq
idiv ecx
mov ecx, dword [r8 + 0x28]
mov eax, edx
cdq
idiv ecx
mov ecx, dword [r8 + 0x20]
sub ecx, eax
mov eax, dword [r8 + 8]
sub ecx, eax
mov dword [r8 + 0x38], ecx
mov rcx, r8
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
lea ecx, [rbx + 0xc]
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov qword [rax], 0x61011
mov qword [rax + 8], 0x3b5b4
mov qword [rax + 0x10], 0x68fa0
mov qword [rax + 0x18], 0x315a5
mov qword [rax + 0x20], 0x70730
mov qword [rax + 0x28], 0x55658
mov qword [rax + 0x30], 0x1e8fa
mov rcx, qword [rax + 8]
mov rdx, qword [rax]
sub rdx, rcx
mov rcx, rax
mov qword [rax + 0x30], rdx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
lea ecx, [rbx - 0x20]
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
lea ecx, [rbx - 0x1c]
mov rbp, rax
mov dword [rax + 4], 0xfffefb61
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
lea ecx, [rbx - 0x18]
mov rsi, rax
mov dword [rax + 8], 0xfffe1358
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r15
mov rdi, rax
mov dword [rax + 0xc], 0x46a73
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov edx, dword [rbp + 4]
mov rbx, rax
mov ecx, dword [rbp + 4]
mov r8d, dword [rdi + 0xc]
imul edx, ecx
mov ecx, dword [rdi + 0xc]
imul r8d, ecx
add r8d, edx
mov edx, dword [rsi + 8]
mov ecx, dword [rsi + 8]
imul edx, ecx
mov rcx, rbp
add edx, r8d
mov dword [rax], edx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov esi, 8
mov ecx, esi
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
mov qword [rax], 0xfffffffffff461e3
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, r15
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r15
mov rbx, rax
mov dword [rax], 0x5bd33
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rdi, rax
mov r8d, r12d
mov dword [rax], r13d
mov edx, dword [rax]
mov ecx, r8d
shl edx, cl
add r8d, r13d
mov ecx, dword [rbx]
xor ecx, edx
mov dword [rbx], ecx
cmp r8d, r15d
jl 0x1400896a3
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
mov qword [rax], 0x1c5220
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ecx, 0x48
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r8, rax
mov qword [rax], 0x443b2
mov qword [rax + 8], 0x60b1e
mov qword [rax + 0x10], 0x51a0c
mov qword [rax + 0x18], 0x272e3
mov qword [rax + 0x20], 0x64830
mov qword [rax + 0x28], 0x6946a
mov qword [rax + 0x30], 0x40d5e
mov qword [rax + 0x38], 0x56bd
mov qword [rax + 0x40], 0x8756
mov rax, qword [rax + 0x28]
mov rcx, qword [r8 + 0x28]
cqo
idiv rcx
mov rcx, qword [r8 + 0x30]
mov rax, rdx
cqo
idiv rcx
mov rcx, qword [r8 + 0x38]
mov rax, qword [r8 + 0x28]
imul rcx, rdx
add rax, rcx
mov rcx, r8
mov qword [r8 + 0x40], rax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ecx, 0x28
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r9, rax
mov qword [rax], 0x5e364
mov qword [rax + 8], 0x4e143
mov qword [rax + 0x10], 0x7189d
mov qword [rax + 0x18], 0x1c6f5
mov qword [rax + 0x20], 0x1d179
mov rcx, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
cqo
idiv rcx
mov rcx, qword [r9 + 0x18]
mov rax, rdx
cqo
idiv rcx
mov rax, qword [r9]
mov rcx, qword [r9]
mov r8, rdx
cqo
idiv rcx
mov rcx, qword [r9 + 0x10]
mov rax, rdx
cqo
idiv rcx
mov rcx, qword [r9 + 8]
add rax, r8
sub rax, rcx
mov rcx, qword [r9 + 0x18]
add rcx, rax
mov rax, qword [r9 + 0x10]
add rax, rcx
mov rcx, r9
mov qword [r9 + 0x20], rax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, r15
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r15
mov rbx, rax
mov dword [rax], 0xfffaadbc
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rdi, rax
mov r8d, r12d
mov dword [rax], r13d
mov edx, dword [rax]
mov ecx, r8d
shl edx, cl
add r8d, r13d
mov ecx, dword [rbx]
xor ecx, edx
mov dword [rbx], ecx
cmp r8d, r15d
jl 0x14008981e
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ecx, 0xc0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
mov qword [rax], 0x8ab63
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ebx, 2
mov ecx, ebx
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
mov word [rax], r12w
mov word [rax], bx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r15
mov rbx, rax
mov dword [rax], 0x305c3
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rdi, rax
mov dword [rax], r12d
mov ecx, dword [rbx]
test ecx, ecx
jns 0x1400898be
mov dword [rax], 0xffffffff
jmp 0x1400898f4
mov rcx, r15
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, dword [rbx]
mov r9, r14
mov r8, rax
mov dword [rax], ecx
mov eax, dword [rbx]
mov ecx, dword [r8]
cdq
idiv ecx
mov ecx, dword [r8]
add ecx, eax
mov dword [r8], ecx
sub r9, r13
jne 0x1400898d1
mov eax, dword [r8]
mov rcx, r8
mov dword [rdi], eax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, r15
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r15
mov rbx, rax
mov dword [rax], 0xfff81b90
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rdi, rax
mov r8d, r12d
mov dword [rax], r13d
mov edx, dword [rax]
mov ecx, r8d
shl edx, cl
add r8d, r13d
mov ecx, dword [rbx]
xor ecx, edx
mov dword [rbx], ecx
cmp r8d, r15d
jl 0x14008992a
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r15
mov rbx, rax
mov dword [rax], 0x924cf
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rdi, rax
mov dword [rax], r12d
mov ecx, dword [rbx]
test ecx, ecx
jns 0x140089980
mov dword [rax], 0xffffffff
jmp 0x1400899b3
mov rcx, r15
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, dword [rbx]
mov r8, rax
mov dword [rax], ecx
mov eax, dword [rbx]
mov ecx, dword [r8]
cdq
idiv ecx
mov ecx, dword [r8]
add ecx, eax
mov dword [r8], ecx
sub r14, r13
jne 0x140089990
mov eax, dword [r8]
mov rcx, r8
mov dword [rdi], eax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, r15
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r15
mov rbx, rax
mov dword [rax], 0x404b3
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rdi, rax
mov r8d, r12d
mov dword [rax], r13d
mov edx, dword [rax]
mov ecx, r8d
shl edx, cl
add r8d, r13d
mov ecx, dword [rbx]
xor ecx, edx
mov dword [rbx], ecx
cmp r8d, r15d
jl 0x1400899e9
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, r15
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r15
mov rdi, rax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rdi], 0x3af93
mov rcx, rdi
mov rbx, rax
mov dword [rax], r12d
mov edx, dword [rdi]
and edx, 0x128fe
mov dword [rax], edx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
mov qword [rax], 0xfffffffffff1183f
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, r15
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r15
mov rdi, rax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rdi], 0x8086f
mov rbx, rax
mov dword [rax], r12d
mov ecx, dword [rdi]
and ecx, 0xfff31a4e
mov dword [rax], ecx
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, rbx
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
jmp qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]