Function at 0x140057c38
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, 0x40
mov r12d, 4
mov ecx, r12d
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, r12d
mov rbx, rax
mov dword [rax], 0xb7c18
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
lea r13d, [r12 - 3]
xor r14d, r14d
mov rdi, rax
mov r8d, r14d
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, r12d
jl 0x140057c86
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, r12
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], r13d
mov ecx, dword [rax]
add ecx, edx
add edx, r13d
mov dword [rax], ecx
cmp edx, edi
jl 0x140057cc1
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__]
movabs rcx, 0xa51ec8a56
mov qword [rax], rcx
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__]
movabs rcx, 0xffffffb6e9643c71
mov qword [rax], rcx
mov rcx, rax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, r12
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov edx, r14d
mov dword [rax], r13d
mov ecx, dword [rax]
add ecx, edx
add edx, r13d
mov dword [rax], ecx
cmp edx, edi
jl 0x140057d27
mov rcx, rax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ecx, 0x140
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 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], r13w
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 rcx, rax
mov word [rax], r14w
mov word [rax], di
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 rcx, rax
mov word [rax], r14w
mov word [rax], di
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
movdqa xmm0, xmmword [0x14005e620]
lea r9d, [rdi + 7]
lea r8d, [rdi + 4]
mov dword [rsp + 0x30], r9d
lea rdx, str.rondelier
mov dword [rsp + 0x34], 0xb
lea rcx, [rsp + 0x20]
movdqu xmmword [rsp + 0x20], xmm0
call fcn.140002330
mov rcx, rax
lea rdx, [0x14005c690]
call qword [sym.imp.msvcrt.dll_fopen]
mov rcx, rbx
mov r15, rax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
mov qword [rax], 0xfffffffffffdb9c3
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, r12
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
mov dword [rax], 0xfff78760
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], 0x8a230
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], 0xed843
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r12
mov rdi, rax
mov dword [rax + 0xc], 0x3360d
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, r12
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
mov dword [rax], 0xfff6dbac
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], 0xfff8db93
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], 0xfff36f9d
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r12
mov rdi, rax
mov dword [rax + 0xc], 0x9156
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, r12
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r12
mov rdi, rax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rdi], 0xfffca35b
mov rbx, rax
mov dword [rax], r14d
mov ecx, dword [rdi]
and ecx, 0xfffb8525
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, r12
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov edx, r14d
mov dword [rax], r13d
mov ecx, dword [rax]
add ecx, edx
add edx, r13d
mov dword [rax], ecx
cmp edx, 0xe9
jl 0x140057f9d
mov rcx, rax
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__]
movabs rcx, 0xf1e50d936
mov qword [rax], rcx
mov rcx, rax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, r12
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r12
mov rbx, rax
mov dword [rax], 0xfff0e27e
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], 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, r12d
jl 0x140057ffe
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_]
test r15, r15
je 0x14005851f
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r12
mov rbx, rax
mov dword [rax], 0xfffc0acf
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rdi, rax
mov dword [rax], r14d
mov r14d, 0xa
mov ecx, dword [rbx]
test ecx, ecx
jns 0x140058063
mov dword [rax], 0xffffffff
jmp 0x140058099
mov rcx, r12
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 0x140058076
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, 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], 0xfff30b43
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], 0xffff6671
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r12
mov rdi, rax
mov dword [rax + 0xc], 0xfff1facb
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, r12
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
xor edx, edx
mov dword [rax], r13d
mov ecx, dword [rax]
add ecx, edx
add edx, r13d
mov dword [rax], ecx
cmp edx, 0xe9
jl 0x14005814d
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], 0xfff2f232
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], 0xfff28825
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r12
mov rdi, rax
mov dword [rax + 0xc], 0xfff79d29
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, 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], 0xfff5adda
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], 0x4b8a1
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r12
mov rdi, rax
mov dword [rax + 0xc], 0xc3a37
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, r15
call qword [sym.imp.msvcrt.dll_fclose]
mov rcx, r12
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
mov dword [rax], 0xfffa4f59
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, r12
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
mov dword [rax], 0xfff2ffd1
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, r12
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r12
mov rdi, rax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rdi], 0xfff7c4e1
xor r15d, r15d
mov rbx, rax
mov dword [rax], r15d
mov ecx, dword [rdi]
and ecx, 0x85107
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 ecx, [r15 + 0xc]
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
lea ecx, [r15 + 0x10]
mov rbp, rax
mov dword [rax + 4], 0xc43a6
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
lea ecx, [r15 + 0x14]
mov rsi, rax
mov dword [rax + 8], 0xfff2a8be
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r12
mov rdi, rax
mov dword [rax + 0xc], 0xac287
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, r12
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov edx, r15d
mov dword [rax], r13d
mov ecx, dword [rax]
add ecx, edx
add edx, r13d
mov dword [rax], ecx
cmp edx, 0xe9
jl 0x1400583a8
mov rcx, rax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, r12
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, r12
mov rdi, rax
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov dword [rdi], 0x35e45
mov rbx, rax
mov dword [rax], r15d
mov ecx, dword [rdi]
and ecx, 0x1f07
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], 0xfffffffffffffa3a
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], 0xfffffffffffc83e2
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__]
movabs rcx, 0x36903ba407
mov qword [rax], rcx
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, rax
mov qword [rax], 0xce1ce
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
lea ecx, [rbx + 0x38]
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, r12
mov rbx, rax
mov dword [rax], 0x312e5
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rdi, rax
mov dword [rax], r15d
mov ecx, dword [rbx]
test ecx, ecx
jns 0x1400584aa
mov dword [rax], 0xffffffff
jmp 0x1400584dd
mov rcx, r12
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 0x1400584ba
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, 0xb0
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 eax, r13d
jmp 0x1400585e3
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], r13w
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov ecx, 0x2c0
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, r12
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov rcx, rax
mov dword [rax], 0xfff3638c
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, r12
mov rbx, rax
mov dword [rax], 0x43c06
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 0x140058596
mov dword [rax], 0xffffffff
jmp 0x1400585cf
mov rcx, r12
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov ecx, dword [rbx]
mov r14d, 0xa
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 r14, r13
jne 0x1400585ac
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_]
xor eax, eax
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret