Function at 0x140077c54
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
mov r12d, ecx
mov r13d, 4
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, r13d
mov rbx, rax
mov dword [rax], 0xa1f02
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
xor r14d, r14d
mov rdi, rax
mov r8d, r14d
mov dword [rax], 1
mov edx, dword [rax]
mov ecx, r8d
shl edx, cl
inc r8d
mov ecx, dword [rbx]
xor ecx, edx
mov dword [rbx], ecx
cmp r8d, r13d
jl 0x140077ca3
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, 8
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r13
mov rbx, rax
mov dword [rax], 0xfff50f29
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rdi, rax
mov r15d, 0xa
mov dword [rax], r14d
mov ecx, dword [rbx]
test ecx, ecx
jns 0x140077d01
mov dword [rax], 0xffffffff
jmp 0x140077d38
mov rcx, r13
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, dword [rbx]
mov r9, r15
mov r8, rax
mov dword [rax], ecx
mov ecx, dword [r8]
mov eax, dword [rbx]
cdq
idiv ecx
mov ecx, dword [r8]
add ecx, eax
mov dword [r8], ecx
sub r9, 1
jne 0x140077d14
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, r13
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r13
mov rbx, rax
mov dword [rax], 0xcfa6c
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rdi, rax
mov r8d, r14d
mov dword [rax], 1
mov edx, dword [rax]
mov ecx, r8d
shl edx, cl
inc r8d
mov ecx, dword [rbx]
xor ecx, edx
mov dword [rbx], ecx
cmp r8d, r13d
jl 0x140077d71
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, r13
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rax], 0x175fc
mov edx, dword [rax]
mov ecx, dword [rax]
sub edx, ecx
mov ecx, dword [rax]
sub edx, ecx
mov rcx, rax
mov dword [rax], edx
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 dword [rax], 0x77383
mov dword [rax + 4], 0x4d7f4
mov dword [rax + 8], 0x66621
mov dword [rax + 0xc], 0x2b5b1
mov dword [rax + 0x10], 0x17be2
mov dword [rax + 0x14], 0x430c4
mov dword [rax + 0x18], 0x566cf
mov dword [rax + 0x1c], 0x768dc
mov dword [rax + 0x20], 0x285d
mov dword [rax + 0x24], 0x6dcc
mov dword [rax + 0x28], 0x356a9
mov dword [rax + 0x2c], 0x1519e
mov dword [rax + 0x30], 0x67621
mov dword [rax + 0x34], 0x686e2
mov dword [rax + 0x38], 0xcc22
mov dword [rax + 0x3c], 0xfcaf
mov ecx, dword [rax + 0x20]
mov eax, dword [rax + 0x10]
cdq
idiv ecx
mov ecx, dword [r8 + 0x38]
cdq
idiv ecx
mov rcx, r8
mov dword [r8 + 0x3c], edx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ecx, 0xc
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x10
mov rbp, rax
mov dword [rax + 4], 0x9f776
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x14
mov rsi, rax
mov dword [rax + 8], 0x3e922
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r13
mov rdi, rax
mov dword [rax + 0xc], 0xffff2f89
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 rcx, r13
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r13
mov rdi, rax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rdi], 0xfff5209f
mov rbx, rax
mov dword [rax], r14d
mov ecx, dword [rdi]
and ecx, 0xfff1a3ee
mov dword [rax], ecx
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, 8
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r13
mov rbx, rax
mov dword [rax], 0xfff36e0f
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rdi, rax
mov dword [rax], r14d
mov ecx, dword [rbx]
test ecx, ecx
jns 0x140077f58
mov dword [rax], 0xffffffff
jmp 0x140077f8c
mov rcx, r13
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 ecx, dword [r8]
mov eax, dword [rbx]
cdq
idiv ecx
mov ecx, dword [r8]
add ecx, eax
mov dword [r8], ecx
sub r15, 1
jne 0x140077f68
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 ecx, 0x80
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 ecx, 0xc
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x10
mov rbp, rax
mov dword [rax + 4], 0x3d3a1
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x14
mov rsi, rax
mov dword [rax + 8], 0xfff11c3c
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r13
mov rdi, rax
mov dword [rax + 0xc], 0xe3e8c
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 esi, 2
mov ecx, esi
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
mov word [rax], r14w
mov word [rax], si
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
lea r15d, [rsi + 6]
mov ecx, r15d
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
mov qword [rax], 0xd12ce
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, r13
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r13
mov rdi, rax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rdi], 0x6da59
mov rbx, rax
mov dword [rax], r14d
mov ecx, dword [rdi]
and ecx, 0xfffebd49
mov dword [rax], ecx
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 rcx, rax
mov qword [rax], 0x8b05b
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ecx, esi
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
lea ebp, [rsi - 1]
mov word [rax], r14w
mov word [rax], bp
mov rcx, rax
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 rcx, rax
mov qword [rax], 0xfffffffffff31742
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__]
movabs rcx, 0xffffff9e79ab2193
mov qword [rax], rcx
mov rcx, rax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ecx, esi
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
mov word [rax], r14w
mov word [rax], bp
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ecx, r12d
call qword [0x14009f110]
lea ecx, [rsi + 0x26]
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r8, rax
mov dword [rax], 0x526f3
mov dword [rax + 4], 0x25399
mov dword [rax + 8], 0x3148a
mov dword [rax + 0xc], 0x6d2ba
mov dword [rax + 0x10], 0x5518
mov dword [rax + 0x14], 0xf5f0
mov dword [rax + 0x18], 0x5b4a1
mov dword [rax + 0x1c], 0x29068
mov dword [rax + 0x20], 0x40597
mov dword [rax + 0x24], 0x75089
mov ecx, dword [rax + 0x20]
mov eax, dword [rax + 0x1c]
cdq
idiv ecx
mov ecx, dword [r8 + 0xc]
cdq
idiv ecx
mov ecx, dword [r8 + 0x10]
cdq
idiv ecx
mov rcx, r8
mov dword [r8 + 0x24], eax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
lea edi, [rsi + 0xa]
mov ecx, edi
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r8, rax
mov dword [rax], 0x786d3
mov dword [rax + 4], 0x2a0fb
mov dword [rax + 8], 0x33629
mov eax, dword [rax + 4]
mov ecx, dword [r8]
cdq
idiv ecx
mov eax, dword [r8 + 4]
mov ecx, dword [r8]
imul eax, edx
cdq
idiv ecx
mov ecx, dword [r8 + 4]
mov eax, edx
cdq
idiv ecx
mov ecx, dword [r8]
imul ecx, eax
mov dword [r8 + 8], ecx
mov rcx, r8
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
lea ecx, [rsi + 0x12]
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r8, rax
mov dword [rax], 0x9622
mov dword [rax + 4], 0x77464
mov dword [rax + 8], 0x718fb
mov dword [rax + 0xc], 0x54327
mov dword [rax + 0x10], 0x66256
mov eax, dword [rax + 4]
mov ecx, dword [r8 + 4]
xor edx, edx
div ecx
mov ecx, dword [r8 + 4]
mov eax, edx
xor edx, edx
div ecx
mov ecx, dword [r8]
xor edx, edx
div ecx
mov rcx, r8
mov dword [r8 + 0x10], edx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
lea ecx, [rsi + 0x1e]
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r8, rax
mov dword [rax], 0x78ea5
mov dword [rax + 4], 0x7462d
mov dword [rax + 8], 0x274e6
mov dword [rax + 0xc], 0x285f9
mov dword [rax + 0x10], 0x6be8f
mov dword [rax + 0x14], 0x57a44
mov dword [rax + 0x18], 0x3810
mov dword [rax + 0x1c], 0x53515
mov eax, dword [rax + 0x18]
mov ecx, dword [r8 + 8]
cdq
idiv ecx
mov ecx, dword [r8 + 0x14]
imul ecx, eax
mov eax, dword [r8 + 0x14]
imul eax, ecx
mov ecx, dword [r8 + 0x10]
cdq
idiv ecx
mov ecx, dword [r8 + 0x14]
mov eax, edx
cdq
idiv ecx
mov ecx, dword [r8 + 4]
add ecx, eax
mov dword [r8 + 0x1c], ecx
mov rcx, r8
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
lea ecx, [rsi + 0x42]
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r8, rax
mov dword [rax], 0x3072
mov dword [rax + 4], 0x3ffd0
mov dword [rax + 8], 0x2cda7
mov dword [rax + 0xc], 0x65b7c
mov dword [rax + 0x10], 0x79bcf
mov dword [rax + 0x14], 0x28a12
mov dword [rax + 0x18], 0x3a607
mov dword [rax + 0x1c], 0xa19e
mov dword [rax + 0x20], 0x62607
mov dword [rax + 0x24], 0x39493
mov dword [rax + 0x28], 0x3e7fd
mov dword [rax + 0x2c], 0x2d006
mov dword [rax + 0x30], 0x58751
mov dword [rax + 0x34], 0x17015
mov dword [rax + 0x38], 0x2bfbc
mov dword [rax + 0x3c], 0x47920
mov dword [rax + 0x40], 0x5e13
mov ecx, dword [rax + 0x24]
mov eax, dword [rax + 0x10]
cdq
idiv ecx
mov ecx, dword [r8]
add ecx, eax
mov dword [r8 + 0x40], ecx
mov rcx, r8
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, r13
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r8, rax
mov dword [rax], 0x36d06
mov eax, dword [rax]
mov ecx, dword [r8]
cdq
idiv ecx
mov ecx, dword [r8]
cdq
idiv ecx
mov ecx, dword [r8]
sub edx, ecx
mov rcx, r8
mov dword [r8], edx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
lea ecx, [rsi + 0x1a]
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r8, rax
mov dword [rax], 0x17db4
mov dword [rax + 4], 0x53a65
mov dword [rax + 8], 0x4086c
mov dword [rax + 0xc], 0x4dd00
mov dword [rax + 0x10], 0x2896d
mov dword [rax + 0x14], 0x3db19
mov dword [rax + 0x18], 0x2a84e
mov eax, dword [rax + 0x10]
mov ecx, dword [r8 + 8]
cdq
idiv ecx
mov ecx, dword [r8 + 0x10]
add ecx, eax
mov eax, dword [r8 + 4]
add eax, ecx
mov rcx, r8
mov dword [r8 + 0x18], eax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ecx, edi
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r8, rax
mov dword [rax], 0x58e51
mov dword [rax + 4], 0x1fe7
mov dword [rax + 8], 0x36537
mov eax, dword [rax + 4]
mov ecx, dword [r8]
cdq
idiv ecx
mov ecx, dword [r8 + 4]
cdq
idiv ecx
mov ecx, dword [r8]
add ecx, eax
mov dword [r8 + 8], ecx
mov rcx, r8
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ecx, esi
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
mov word [rax], r14w
mov word [rax], bp
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
lea ebx, [rsi + 0x2e]
mov ecx, ebx
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r9, rax
mov qword [rax], 0x6bbad
mov qword [rax + 8], 0xfd
mov qword [rax + 0x10], 0x1cc83
mov qword [rax + 0x18], 0x6817e
mov qword [rax + 0x20], 0x4a60a
mov qword [rax + 0x28], 0x41f32
mov rax, qword [rax + 8]
mov rcx, qword [r9 + 8]
cqo
idiv rcx
mov rcx, qword [r9 + 8]
mov rax, rdx
cqo
idiv rcx
mov rcx, qword [r9 + 0x10]
mov rax, rdx
cqo
idiv rcx
mov rax, qword [r9 + 0x20]
mov rcx, qword [r9 + 0x10]
mov r8, rdx
cqo
idiv rcx
sub rax, r8
mov rcx, r9
mov qword [r9 + 0x28], rax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
lea ecx, [rsi + 0x32]
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r9, rax
xor edx, edx
mov dword [rax], 0x36339
mov dword [rax + 4], 0x235a1
mov dword [rax + 8], 0x6faa8
mov dword [rax + 0xc], 0x22b6
mov dword [rax + 0x10], 0x4ba19
mov dword [rax + 0x14], 0x10b9d
mov dword [rax + 0x18], 0x3a98a
mov dword [rax + 0x1c], 0x13a9a
mov dword [rax + 0x20], 0x27ac9
mov dword [rax + 0x24], 0x50c14
mov dword [rax + 0x28], 0x2c78e
mov dword [rax + 0x2c], 0x4b9c
mov dword [rax + 0x30], 0xe5b5
mov eax, dword [rax + 0x24]
mov ecx, dword [r9 + 0x18]
div ecx
mov eax, dword [r9 + 0x1c]
mov r8d, dword [r9 + 0x1c]
imul eax, edx
xor edx, edx
imul r8d, eax
mov eax, dword [r9 + 0x20]
mov ecx, dword [r9 + 0x20]
div ecx
mov ecx, dword [r9 + 8]
imul ecx, eax
mov eax, dword [r9 + 0x1c]
add ecx, r8d
add eax, ecx
mov rcx, r9
mov dword [r9 + 0x30], eax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ecx, edi
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rax], 0x2fb1f
mov dword [rax + 4], 0xbc87
mov dword [rax + 8], 0x3e059
mov r8d, dword [rax]
mov ecx, dword [rax]
mov edx, dword [rax]
imul r8d, ecx
mov ecx, dword [rax]
add edx, r8d
add ecx, edx
mov dword [rax + 8], ecx
mov rcx, rax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
lea ecx, [rsi + 0x76]
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r9, rax
mov qword [rax], 0x2cbdc
mov qword [rax + 8], 0x1b621
mov qword [rax + 0x10], 0x598a6
mov qword [rax + 0x18], 0x4bd76
mov qword [rax + 0x20], 0x1e626
mov qword [rax + 0x28], 0x331f0
mov qword [rax + 0x30], 0x74f11
mov qword [rax + 0x38], 0x1de9
mov qword [rax + 0x40], 0x25e99
mov qword [rax + 0x48], 0x4281
mov qword [rax + 0x50], 0x33020
mov qword [rax + 0x58], 0x623e6
mov qword [rax + 0x60], 0x5ec4c
mov qword [rax + 0x68], 0x187bb
mov qword [rax + 0x70], 0x73baa
mov rax, qword [rax + 0x60]
mov rcx, qword [r9 + 0x18]
cqo
idiv rcx
mov rcx, qword [r9 + 0x18]
mov rax, rdx
cqo
idiv rcx
mov rax, qword [r9 + 0x68]
mov r8, qword [r9 + 0x40]
mov rcx, r9
imul rax, rdx
cqo
idiv r8
mov r8, qword [r9 + 0x58]
mov rax, qword [r9 + 0x50]
imul r8, rax
mov rax, qword [r9 + 0x68]
sub rdx, r8
add rax, rdx
mov qword [r9 + 0x70], rax
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 r10, rax
xor edx, edx
mov dword [rax], 0x51ff7
mov dword [rax + 4], 0x2a712
mov dword [rax + 8], 0x6732b
mov dword [rax + 0xc], 0x78ff7
mov dword [rax + 0x10], 0x518a8
mov dword [rax + 0x14], 0x76f09
mov dword [rax + 0x18], 0x6774c
mov dword [rax + 0x1c], 0x12680
mov dword [rax + 0x20], 0x207f6
mov dword [rax + 0x24], 0x9c87
mov dword [rax + 0x28], 0x7a06
mov dword [rax + 0x2c], 0xb039
mov ecx, dword [rax + 0x24]
mov eax, dword [rax + 0xc]
mov r9d, dword [r10 + 0xc]
div ecx
mov eax, dword [r10 + 0x10]
mov ecx, dword [r10 + 4]
imul eax, ecx
mov ecx, dword [r10 + 8]
imul r9d, edx
xor edx, edx
div ecx
xor edx, edx
add r9d, eax
mov eax, dword [r10 + 0x20]
mov ecx, dword [r10 + 0x18]
div ecx
mov ecx, dword [r10 + 8]
sub r9d, edx
sub r9d, ecx
mov rcx, r10
mov dword [r10 + 0x2c], r9d
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
lea ecx, [rsi + 0x4e]
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r9, rax
mov qword [rax], 0x6566d
mov qword [rax + 8], 0x717a9
mov qword [rax + 0x10], 0xcc55
mov qword [rax + 0x18], 0x681c9
mov qword [rax + 0x20], 0xc87f
mov qword [rax + 0x28], 0x6e4e2
mov qword [rax + 0x30], 0x15f16
mov qword [rax + 0x38], 0x22792
mov qword [rax + 0x40], 0x5c50
mov qword [rax + 0x48], 0x7fd9
mov rcx, qword [rax + 0x38]
mov rax, qword [rax + 0x10]
cqo
idiv rcx
mov rcx, qword [r9 + 0x38]
mov r8, rax
mov rax, qword [r9 + 8]
cqo
idiv rcx
mov rax, qword [r9 + 0x40]
mov rcx, r9
add rdx, r8
add rax, rdx
mov qword [r9 + 0x48], rax
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 rcx, rax
mov qword [rax], 0xfffffffffff2d00e
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ecx, 0x348
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 ecx, r15d
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
movabs rdx, 0x190ff2e478
mov rcx, rax
mov qword [rax], rdx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ecx, esi
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
mov word [rax], r14w
mov word [rax], si
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ecx, esi
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
mov word [rax], r14w
mov word [rax], bp
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__]
movabs rcx, 0x4267699796
mov qword [rax], rcx
mov rcx, rax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, r13
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov edx, r14d
mov dword [rax], ebp
mov ecx, dword [rax]
add ecx, edx
add edx, ebp
mov dword [rax], ecx
cmp edx, 0xe9
jl 0x140078884
mov rcx, rax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, r13
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r13
mov rbx, rax
mov dword [rax], 0xe52fc
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rdi, rax
mov r8d, r14d
mov dword [rax], ebp
mov edx, dword [rax]
mov ecx, r8d
shl edx, cl
add r8d, ebp
mov ecx, dword [rbx]
xor ecx, edx
mov dword [rbx], ecx
cmp r8d, r13d
jl 0x1400788c0
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, r13
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r13
mov rbx, rax
mov dword [rax], 0xfff87c11
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rdi, rax
mov r8d, r14d
mov dword [rax], ebp
mov edx, dword [rax]
mov ecx, r8d
shl edx, cl
add r8d, ebp
mov ecx, dword [rbx]
xor ecx, edx
mov dword [rbx], ecx
cmp r8d, r13d
jl 0x14007890a
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, r13
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r13
mov rbx, rax
mov dword [rax], 0xa495
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rdi, rax
mov dword [rax], ebp
mov r8d, dword [rax]
mov ecx, r14d
mov edx, dword [rbx]
add r14d, ebp
shl r8d, cl
xor edx, r8d
mov dword [rbx], edx
cmp r14d, r13d
jl 0x140078951
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, 0xc
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x10
mov rbp, rax
mov dword [rax + 4], 0xfffae028
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 0x14
mov rsi, rax
mov dword [rax + 8], 0x84b5c
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r13
mov rdi, rax
mov dword [rax + 0xc], 0xffff72e6
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 r9d, dword [rsi + 8]
imul edx, ecx
mov ecx, dword [rsi + 8]
mov r8d, dword [rbp + 4]
imul r9d, ecx
mov rcx, rbp
add r9d, edx
mov edx, dword [rbp + 4]
imul r8d, edx
add r8d, r9d
mov dword [rax], r8d
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, 0x50
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 rbx, qword [rsp + 0x50]
mov eax, r12d
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret