Function at 0x14003b09c
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 esi, 4
mov r12, r8
mov r13, rdx
lea ebp, [rsi - 3]
lea ebx, [rsi + 4]
lea r15d, [rsi + 6]
cmp ecx, ebp
jne 0x14003b2d6
mov ecx, esi
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
mov dword [rax], 0xfff726e1
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 ecx, esi
mov rbx, rax
mov dword [rax], 0xfffe17d9
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], 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, esi
jl 0x14003b110
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 r13d, 8
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rsi
mov rbx, rax
mov dword [rax], 0xfff0c047
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 0x14003b16c
mov dword [rax], 0xffffffff
jmp 0x14003b1a2
mov rcx, rsi
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 eax, dword [rbx]
mov ecx, dword [r8]
cdq
idiv ecx
mov ecx, dword [r8]
add ecx, eax
mov dword [r8], ecx
sub r9, rbp
jne 0x14003b17f
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, rax
mov qword [rax], 0xfffffffffffcd9f7
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
call fcn.14002cfa4
mov rcx, r13
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
mov qword [rax], 0xee64b
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, 0x230
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, r13
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
movabs rcx, 0x3720ddf928
mov qword [rax], rcx
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 dword [rax], 0xfff3c007
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, rsi
mov rbx, rax
mov dword [rax], 0xc5973
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, esi
jl 0x14003b26d
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, rsi
mov rdi, rax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rdi], 0xfff0e348
mov rbx, rax
mov dword [rax], r14d
mov ecx, dword [rdi]
and ecx, 0xfff70d85
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_]
jmp 0x14003bcd0
xor r14d, r14d
test ecx, ecx
jne 0x14003bcca
mov rcx, rsi
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 0x14003b2ef
mov rcx, rax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
mov qword [rax], 0xfffffffffff453d9
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ecx, 2
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 rcx, rbx
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rsi
mov rbx, rax
mov dword [rax], 0x291ee
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 0x14003b36b
mov dword [rax], 0xffffffff
jmp 0x14003b3a1
mov rcx, rsi
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, rbp
jne 0x14003b37e
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, 8
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rsi
mov rbx, rax
mov dword [rax], 0xfff46a6c
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 0x14003b3e4
mov dword [rax], 0xffffffff
jmp 0x14003b41a
mov rcx, rsi
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, rbp
jne 0x14003b3f7
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 ebx, 8
mov ecx, ebx
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
mov qword [rax], 0xfffffffffff37add
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 edx, r14d
mov dword [rax], ebp
mov ecx, dword [rax]
add ecx, edx
add edx, ebp
mov dword [rax], ecx
cmp edx, 0xe9
jl 0x14003b457
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 dword [rax], 0xa2ff6
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov edi, 2
mov ecx, edi
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], di
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 dword [rax], 0x283e7
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ecx, 0x190
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, r13
call qword [0x14005f0d0]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
mov qword [rax], 0xb040d
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ecx, 0x230
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, [rdi + 0xa]
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
lea ecx, [rdi + 0xe]
mov rbp, rax
mov dword [rax + 4], 0x1efde
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
lea ecx, [rdi + 0x12]
mov rsi, rax
mov dword [rax + 8], 0xfffc7cd9
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 4
mov rdi, rax
mov dword [rax + 0xc], 0xfff88f5c
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, 4
mov ecx, esi
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, esi
mov rbx, rax
mov dword [rax], 0xfff190bb
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
lea ebp, [rsi - 3]
mov r8d, r14d
mov rdi, rax
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, esi
jl 0x14003b5c0
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, 0x58
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, 8
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rsi
mov rbx, rax
mov dword [rax], 0xfffedd56
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 0x14003b62c
mov dword [rax], 0xffffffff
jmp 0x14003b662
mov rcx, rsi
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 eax, dword [rbx]
mov ecx, dword [r8]
cdq
idiv ecx
mov ecx, dword [r8]
add ecx, eax
mov dword [r8], ecx
sub r9, rbp
jne 0x14003b63f
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, rsi
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
mov dword [rax], 0x564db
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, rsi
mov rbx, rax
mov dword [rax], 0xfff6cda9
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 0x14003b6bd
mov dword [rax], 0xffffffff
jmp 0x14003b6f3
mov rcx, rsi
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, rbp
jne 0x14003b6d0
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, rsi
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rsi
mov rdi, rax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rdi], 0xab325
mov rbx, rax
mov dword [rax], r14d
mov ecx, dword [rdi]
and ecx, 0x923e4
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 ebx, 8
mov ecx, ebx
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
mov qword [rax], 0xe51c3
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 edx, r14d
mov edi, 0xe9
mov dword [rax], ebp
mov ecx, dword [rax]
add ecx, edx
add edx, ebp
mov dword [rax], ecx
cmp edx, edi
jl 0x14003b772
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 edx, r14d
mov dword [rax], ebp
mov ecx, dword [rax]
add ecx, edx
add edx, ebp
mov dword [rax], ecx
cmp edx, edi
jl 0x14003b795
mov rcx, rax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ecx, 2
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 rcx, rbx
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
movabs rcx, 0x18b4071651
mov qword [rax], rcx
mov rcx, rax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, r12
call qword [0x14005f0d0]
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rsi
mov rdi, rax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rdi], 0xffff6027
mov rbx, rax
mov dword [rax], r14d
mov ecx, dword [rdi]
and ecx, 0xb5fb8
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, rsi
mov rbx, rax
mov dword [rax], 0xac829
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 0x14003b85b
mov dword [rax], 0xffffffff
jmp 0x14003b891
mov rcx, rsi
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, rbp
jne 0x14003b86e
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, rsi
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 0x14003b8b1
mov rcx, rax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ebx, 8
mov ecx, ebx
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
mov qword [rax], 0xe8e2a
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 rcx, rax
mov qword [rax], 0x113896
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ecx, 0x100
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, ebx
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rsi
mov rbx, rax
mov dword [rax], 0xc755c
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 0x14003b941
mov dword [rax], 0xffffffff
jmp 0x14003b977
mov rcx, rsi
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 eax, dword [rbx]
mov ecx, dword [r8]
cdq
idiv ecx
mov ecx, dword [r8]
add ecx, eax
mov dword [r8], ecx
sub r9, rbp
jne 0x14003b954
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, rsi
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 0x14003b997
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___cdecl_operator_delete___void____ptr64_]
mov ecx, 0xa0
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, 0x118
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], 0xfffb2755
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], 0x3a8ad
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 4
mov rdi, rax
mov dword [rax + 0xc], 0xdc067
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, 4
mov ecx, esi
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, esi
mov rdi, rax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rdi], 0xb2992
mov rbx, rax
mov dword [rax], r14d
mov ecx, dword [rdi]
and ecx, 0xfffe390e
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_]
lea r13d, [rsi + 4]
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, esi
mov rbx, rax
mov dword [rax], 0x9d452
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 0x14003baec
mov dword [rax], 0xffffffff
lea ebp, [rsi - 3]
jmp 0x14003bb27
mov rcx, rsi
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 ebp, 1
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, rbp
jne 0x14003bb04
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, rsi
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rsi
mov rdi, rax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rdi], 0x33eb1
mov rbx, rax
mov dword [rax], r14d
mov ecx, dword [rdi]
and ecx, 0xfff622a4
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 rcx, r13
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
movabs rcx, 0xffffffeee2247ec2
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 rcx, rsi
mov rbx, rax
mov dword [rax], 0xfff8f986
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 0x14003bbc4
mov dword [rax], 0xffffffff
jmp 0x14003bbfa
mov rcx, rsi
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, rbp
jne 0x14003bbd7
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, r12
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, rsi
mov rbx, rax
mov dword [rax], 0x166c4
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, esi
jl 0x14003bc38
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, rsi
mov rdi, rax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rdi], 0xd8041
mov rcx, rdi
mov rbx, rax
mov dword [rax], r14d
mov edx, dword [rdi]
and edx, 0xfff4e9bd
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 ecx, 2
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, 0xd8
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
jmp 0x14003b2cb
mov r13d, 8
mov rcx, r13
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
movabs rcx, 0x59d95b0f8
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 rcx, rsi
mov rbx, rax
mov dword [rax], 0xfffc3981
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 0x14003bd1e
mov dword [rax], 0xffffffff
jmp 0x14003bd54
mov rcx, rsi
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, rbp
jne 0x14003bd31
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, rax
mov qword [rax], 0xfffffffffff85975
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, rsi
mov rbx, rax
mov dword [rax], 0x99149
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 0x14003bdae
mov dword [rax], 0xffffffff
jmp 0x14003bde1
mov rcx, rsi
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 r15, rbp
jne 0x14003bdbe
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, 0xd8
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 dword [rax], 0xfffc1e72
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ecx, 0x200
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, r13
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
movabs rdx, 0xfffffff016998928
mov rcx, rax
mov qword [rax], rdx
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 rcx, r13
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
movabs rdx, 0xffffffb9e7bbcf78
mov rcx, rax
mov qword [rax], rdx
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], 0xffff68e4
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], 0xfff74b67
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, 4
mov rdi, rax
mov dword [rax + 0xc], 0xfff71305
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
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_]