Function at 0x14003aaa0
Capabilities:
Access peb ldr_data
Delete file
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1b0]
sub rsp, 0x2b0
mov rax, qword [0x140047040]
xor rax, rsp
mov qword [rbp + 0x1a0], rax
xor r13d, r13d
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], r13
mov qword [rbp + 0x68], 0xf
mov byte [rbp + 0x50], r13b
lea rdi, [r13 - 1]
cmp ecx, 1
jle 0x14003ab3c
mov r9, qword [rdx + 8]
mov rbx, rdi
inc rbx
cmp byte [r9 + rbx], 0
jne 0x14003ab02
lea rcx, [rbp + 0x50]
cmp rbx, 0xf
ja 0x14003ab2f
mov qword [rbp + 0x60], rbx
mov r8, rbx
mov rdx, r9
call sub.VCRUNTIME140.dll_memmove
mov byte [rbp + rbx + 0x50], 0
jmp 0x14003b0d4
mov rdx, rbx
call fcn.14003f660
jmp 0x14003b0d4
mov rbx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [rbp - 0x60]
call fcn.14003bb60
mov r8, rax
cmp byte [rax + 0x3e], 0
je 0x14003ad32
mov r11, r13
mov r10d, 2
cmp byte [r8 + 8], 0
je 0x14003ab75
mov eax, dword [r8 + 4]
sub dword [r8], eax
mov byte [r8 + 8], 0
mov r9d, dword [r8]
lea eax, [r10 - 2]
lea ecx, [r9 + 1]
cdq
idiv ecx
add dl, r9b
xor byte [r11 + r8 + 9], dl
cmp byte [r8 + 8], 0
jne 0x14003ab99
mov eax, dword [r8 + 4]
add dword [r8], eax
mov eax, dword [r8 + 4]
sub dword [r8], eax
mov byte [r8 + 8], 0
mov r9d, dword [r8]
lea eax, [r10 - 1]
lea ecx, [r9 + 1]
cdq
idiv ecx
add dl, r9b
xor byte [r11 + r8 + 0xa], dl
cmp byte [r8 + 8], 0
jne 0x14003abc9
mov eax, dword [r8 + 4]
add dword [r8], eax
mov eax, dword [r8 + 4]
sub dword [r8], eax
mov byte [r8 + 8], 0
mov r9d, dword [r8]
lea ecx, [r9 + 1]
mov eax, r10d
cdq
idiv ecx
add dl, r9b
xor byte [r11 + r8 + 0xb], dl
cmp byte [r8 + 8], 0
jne 0x14003abf8
mov eax, dword [r8 + 4]
add dword [r8], eax
mov eax, dword [r8 + 4]
sub dword [r8], eax
mov byte [r8 + 8], 0
mov r9d, dword [r8]
lea eax, [r10 + 1]
lea ecx, [r9 + 1]
cdq
idiv ecx
add dl, r9b
xor byte [r11 + r8 + 0xc], dl
cmp byte [r8 + 8], 0
jne 0x14003ac28
mov eax, dword [r8 + 4]
add dword [r8], eax
mov eax, dword [r8 + 4]
sub dword [r8], eax
mov byte [r8 + 8], 0
mov r9d, dword [r8]
lea eax, [r10 + 2]
lea ecx, [r9 + 1]
cdq
idiv ecx
add dl, r9b
xor byte [r11 + r8 + 0xd], dl
cmp byte [r8 + 8], 0
jne 0x14003ac58
mov eax, dword [r8 + 4]
add dword [r8], eax
mov eax, dword [r8 + 4]
sub dword [r8], eax
mov byte [r8 + 8], 0
mov r9d, dword [r8]
lea eax, [r10 + 3]
lea ecx, [r9 + 1]
cdq
idiv ecx
add dl, r9b
xor byte [r11 + r8 + 0xe], dl
cmp byte [r8 + 8], 0
jne 0x14003ac88
mov eax, dword [r8 + 4]
add dword [r8], eax
mov eax, dword [r8 + 4]
sub dword [r8], eax
mov byte [r8 + 8], 0
mov r9d, dword [r8]
lea eax, [r10 + 4]
lea ecx, [r9 + 1]
cdq
idiv ecx
add dl, r9b
xor byte [r11 + r8 + 0xf], dl
cmp byte [r8 + 8], 0
jne 0x14003acb8
mov eax, dword [r8 + 4]
add dword [r8], eax
mov eax, dword [r8 + 4]
sub dword [r8], eax
mov byte [r8 + 8], 0
mov r9d, dword [r8]
lea eax, [r10 + 5]
lea ecx, [r9 + 1]
cdq
idiv ecx
add dl, r9b
xor byte [r11 + r8 + 0x10], dl
cmp byte [r8 + 8], 0
jne 0x14003ace8
mov eax, dword [r8 + 4]
add dword [r8], eax
mov eax, dword [r8 + 4]
sub dword [r8], eax
mov byte [r8 + 8], 0
mov r9d, dword [r8]
lea eax, [r10 + 6]
lea ecx, [r9 + 1]
cdq
idiv ecx
add dl, r9b
xor byte [r11 + r8 + 0x11], dl
cmp byte [r8 + 8], 0
jne 0x14003ad1d
mov eax, dword [r8 + 4]
add dword [r8], eax
mov byte [r8 + 8], 1
add r10d, 9
add r11, 9
lea eax, [r10 - 2]
cmp eax, 0x36
jl 0x14003ab62
lea rdx, [r8 + 9]
mov rcx, rbx
call fcn.14003ebe0
mov rbx, rax
lea rdx, [rsp + 0x48]
call fcn.14003c290
mov r8, rax
movzx r10d, byte [rax + 0xa]
test r10b, r10b
je 0x14003ada1
cmp byte [rax + 8], 0
je 0x14003ad6d
mov eax, dword [rax + 4]
sub dword [r8], eax
mov r9d, dword [r8]
xor byte [r8 + 9], r9b
jmp 0x14003ad74
mov r9d, dword [rax]
xor byte [rax + 9], r9b
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 1
cdq
idiv ecx
add dl, r9b
xor dl, r10b
mov byte [r8 + 0xa], dl
mov ecx, dword [r8 + 4]
add ecx, r9d
mov dword [r8], ecx
mov byte [r8 + 8], 1
lea rdx, [r8 + 9]
mov rcx, rbx
call fcn.14003ebe0
mov rbx, rax
lea rcx, [rsp + 0x68]
call fcn.14003a800
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x14003adc9
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14003f910
mov rbx, rax
lea rdx, [rsp + 0x30]
call fcn.14003c480
mov r8, rax
cmp byte [rax + 0x15], 0
je 0x14003af5d
cmp byte [rax + 8], 0
je 0x14003ae03
mov eax, dword [rax + 4]
sub dword [r8], eax
mov r9d, dword [r8]
xor byte [r8 + 9], r9b
jmp 0x14003ae0a
mov r9d, dword [rax]
xor byte [rax + 9], r9b
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 1
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0xa], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 2
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0xb], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 3
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0xc], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 4
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0xd], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 5
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0xe], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 6
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0xf], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 7
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0x10], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 8
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0x11], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 9
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0x12], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 0xa
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0x13], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 0xb
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0x14], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 0xc
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0x15], dl
mov ecx, dword [r8 + 4]
add ecx, r9d
mov dword [r8], ecx
mov byte [r8 + 8], 1
lea rdx, [r8 + 9]
mov rcx, rbx
call fcn.14003ebe0
mov rbx, rax
lea rdx, [rsp + 0x58]
call fcn.14003c790
mov r8, rax
movzx r10d, byte [rax + 0xa]
test r10b, r10b
je 0x14003afcc
cmp byte [rax + 8], 0
je 0x14003af98
mov eax, dword [rax + 4]
sub dword [r8], eax
mov r9d, dword [r8]
xor byte [r8 + 9], r9b
jmp 0x14003af9f
mov r9d, dword [rax]
xor byte [rax + 9], r9b
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 1
cdq
idiv ecx
add dl, r9b
xor dl, r10b
mov byte [r8 + 0xa], dl
mov ecx, dword [r8 + 4]
add ecx, r9d
mov dword [r8], ecx
mov byte [r8 + 8], 1
lea rdx, [r8 + 9]
mov rcx, rbx
call fcn.14003ebe0
lea rdx, [0x14003edb0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 0xf
jbe 0x14003b028
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003b023
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003b023
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140040584
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x14003b0b4
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14003b0b4
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r11 + r9*4]
mov r8d, dword [rdx + r10]
add r8, r10
mov edx, 0xfd79aac7
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x14003b0af
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x14003b090
cmp edx, 0x5fad8507
je 0x14003b0b9
test r9d, r9d
jne 0x14003b070
mov rax, qword [rax]
jmp 0x14003b040
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov eax, dword [rdx + rcx*4]
add rax, r10
xor ecx, ecx
call rax
lea rdx, [rbp - 0x78]
call fcn.14003c980
mov r8, rax
cmp byte [rax + 0xd], 0
je 0x14003b181
cmp byte [rax + 8], 0
je 0x14003b0ff
mov eax, dword [rax + 4]
sub dword [r8], eax
mov r9d, dword [r8]
xor byte [r8 + 9], r9b
jmp 0x14003b106
mov r9d, dword [rax]
xor byte [rax + 9], r9b
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 1
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0xa], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 2
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0xb], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 3
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0xc], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 4
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0xd], dl
mov ecx, dword [r8 + 4]
add ecx, r9d
mov dword [r8], ecx
mov byte [r8 + 8], 1
lea rsi, [r8 + 9]
inc rdi
cmp byte [rsi + rdi], 0
jne 0x14003b185
lea r14, [rbp + 0x50]
cmp qword [rbp + 0x68], 0xf
cmova r14, qword [rbp + 0x50]
mov rax, qword [rbp + 0x60]
cmp rdi, rax
ja 0x14003b21e
sub rax, rdi
test rdi, rdi
je 0x14003b624
lea r15, [rax + r14]
movsx r12d, byte [rsi]
lea r8, [r15 + 1]
sub r8, r14
mov edx, r12d
mov rcx, r14
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x14003b21e
nop dword [rax]
nop word [rax + rax]
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14003b211
inc rbx
lea r8, [r15 + 1]
sub r8, rbx
mov edx, r12d
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x14003b1e0
jmp 0x14003b21e
sub rbx, r14
cmp rbx, 0xffffffffffffffff
jne 0x14003b624
mov rbx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [rbp - 0x20]
call fcn.14003cbb0
mov r9, rax
cmp byte [rax + 0x4f], 0
je 0x14003b287
mov r10d, r13d
mov r11, r13
nop dword [rax]
cmp byte [r9 + 8], 0
je 0x14003b253
mov eax, dword [r9 + 4]
sub dword [r9], eax
mov byte [r9 + 8], 0
mov r8d, dword [r9]
lea ecx, [r8 + 1]
mov eax, r10d
cdq
idiv ecx
add dl, r8b
xor byte [r11 + r9 + 9], dl
cmp byte [r9 + 8], 0
jne 0x14003b27b
mov eax, dword [r9 + 4]
add dword [r9], eax
mov byte [r9 + 8], 1
inc r10d
inc r11
cmp r10d, 0x47
jl 0x14003b240
lea rdx, [r9 + 9]
mov rcx, rbx
call fcn.14003ebe0
mov rbx, rax
lea rdx, [rsp + 0x58]
call fcn.14003ce30
mov r8, rax
movzx r10d, byte [rax + 0xa]
test r10b, r10b
je 0x14003b2f6
cmp byte [rax + 8], 0
je 0x14003b2c2
mov eax, dword [rax + 4]
sub dword [r8], eax
mov r9d, dword [r8]
xor byte [r8 + 9], r9b
jmp 0x14003b2c9
mov r9d, dword [rax]
xor byte [rax + 9], r9b
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 1
cdq
idiv ecx
add dl, r9b
xor dl, r10b
mov byte [r8 + 0xa], dl
mov ecx, dword [r8 + 4]
add ecx, r9d
mov dword [r8], ecx
mov byte [r8 + 8], 1
lea rdx, [r8 + 9]
mov rcx, rbx
call fcn.14003ebe0
mov rbx, rax
lea rcx, [rbp - 0x60]
call fcn.14003a800
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x14003b31d
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14003f910
mov rbx, rax
lea rdx, [rsp + 0x68]
call fcn.14003d020
mov r8, rax
cmp byte [rax + 0x15], 0
je 0x14003b4b1
cmp byte [rax + 8], 0
je 0x14003b357
mov eax, dword [rax + 4]
sub dword [r8], eax
mov r9d, dword [r8]
xor byte [r8 + 9], r9b
jmp 0x14003b35e
mov r9d, dword [rax]
xor byte [rax + 9], r9b
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 1
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0xa], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 2
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0xb], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 3
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0xc], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 4
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0xd], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 5
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0xe], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 6
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0xf], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 7
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0x10], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 8
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0x11], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 9
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0x12], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 0xa
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0x13], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 0xb
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0x14], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 0xc
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0x15], dl
mov ecx, dword [r8 + 4]
add ecx, r9d
mov dword [r8], ecx
mov byte [r8 + 8], 1
lea rdx, [r8 + 9]
mov rcx, rbx
call fcn.14003ebe0
mov rbx, rax
lea rdx, [rsp + 0x48]
call fcn.14003d330
mov r8, rax
movzx r10d, byte [rax + 0xa]
test r10b, r10b
je 0x14003b520
cmp byte [rax + 8], 0
je 0x14003b4ec
mov eax, dword [rax + 4]
sub dword [r8], eax
mov r9d, dword [r8]
xor byte [r8 + 9], r9b
jmp 0x14003b4f3
mov r9d, dword [rax]
xor byte [rax + 9], r9b
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 1
cdq
idiv ecx
add dl, r9b
xor dl, r10b
mov byte [r8 + 0xa], dl
mov ecx, dword [r8 + 4]
add ecx, r9d
mov dword [r8], ecx
mov byte [r8 + 8], 1
lea rdx, [r8 + 9]
mov rcx, rbx
call fcn.14003ebe0
lea rdx, [0x14003edb0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0xf
jbe 0x14003b57b
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003b576
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003b576
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140040584
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x14003b604
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14003b604
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + r11]
add r8, r10
mov edx, 0x8ec32d9b
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x14003b5ff
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x14003b5e0
cmp edx, 0xab7c9f6b
je 0x14003b609
test r9d, r9d
jne 0x14003b5c0
mov rax, qword [rax]
jmp 0x14003b590
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov eax, dword [rdx + rcx*4]
add rax, r10
xor ecx, ecx
call rax
lea rdx, [rsp + 0x30]
call fcn.14003d520
mov r8, rax
cmp byte [rax + 0xd], 0
je 0x14003b6d2
cmp byte [rax + 8], 0
je 0x14003b650
mov eax, dword [rax + 4]
sub dword [r8], eax
mov r9d, dword [r8]
xor byte [r8 + 9], r9b
jmp 0x14003b657
mov r9d, dword [rax]
xor byte [rax + 9], r9b
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 1
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0xa], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 2
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0xb], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 3
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0xc], dl
mov dword [r8], r9d
mov byte [r8 + 8], 0
lea ecx, [r9 + 1]
mov eax, 4
cdq
idiv ecx
add dl, r9b
xor byte [r8 + 0xd], dl
mov ecx, dword [r8 + 4]
add ecx, r9d
mov dword [r8], ecx
mov byte [r8 + 8], 1
lea rdx, [r8 + 9]
lea rcx, [rbp + 0x30]
call fcn.1400394e0
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], r13
mov qword [rbp + 0x88], r13
mov rbx, qword [rbp + 0x60]
lea rsi, [rbp + 0x50]
mov rcx, qword [rbp + 0x50]
mov rdx, qword [rbp + 0x68]
cmp rdx, 0xf
cmova rsi, rcx
movabs rdi, 0x7fffffffffffffff
cmp rbx, rdi
ja 0x14003bb4f
mov qword [rbp + 0x88], 0xf
cmp rbx, 0xf
ja 0x14003b744
mov qword [rbp + 0x80], rbx
movups xmm0, xmmword [rsi]
movups xmmword [rbp + 0x70], xmm0
jmp 0x14003b7e3
mov rax, rbx
or rax, 0xf
cmp rax, rdi
jbe 0x14003b780
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140040300
mov rcx, rax
test rax, rax
je 0x14003ba6f
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14003b7ba
mov ecx, 0x16
cmp rax, rcx
cmovb rax, rcx
mov rdi, rax
lea rcx, [rax + 1]
cmp rcx, 0x1000
jb 0x14003b7ab
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14003bb55
jmp 0x14003b75e
test rcx, rcx
je 0x14003b7b7
call fcn.140040300
jmp 0x14003b7ba
mov rax, r13
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x80], rbx
mov qword [rbp + 0x88], rdi
lea r8, [rbx + 1]
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rbp + 0x68]
mov rcx, qword [rbp + 0x50]
lea rax, [rbp + 0x50]
cmp rdx, 0xf
cmova rax, rcx
mov qword [rbp + 0x60], r13
mov byte [rax], 0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r13
mov rdx, qword [0x140047c00]
sub rdx, qword [0x140047bf8]
je 0x14003b84e
lea rcx, [rsp + 0x30]
call fcn.14003a480
mov rsi, qword [rsp + 0x30]
mov rdi, qword [0x140047c00]
mov rbx, qword [0x140047bf8]
mov r8, rdi
sub r8, rbx
mov rdx, rbx
mov rcx, rsi
call sub.VCRUNTIME140.dll_memmove
sub rdi, rbx
lea rax, [rdi + rsi]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x48], rax
lea rbx, [rbp + 0x30]
cmp qword [rbp + 0x48], 0xf
cmova rbx, qword [rbp + 0x30]
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp + 0x90]
call fcn.140040ff4
mov rdx, rbx
lea rcx, [rbp + 0x90]
call fcn.14003e3b0
nop
mov r8, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
sub r8, rdx
lea rcx, [rbp + 0x90]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::write_char_const____ptr64__long_long___int64_____ptr64]
lea rcx, [rbp + 0x98]
call fcn.14003e890
test rax, rax
jne 0x14003b8d8
mov rax, qword [rbp + 0x90]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x90]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
nop
lea rcx, [rbp + 0x90]
call fcn.140039280
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14003b924
mov rdx, qword [rsp + 0x40]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003b91f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003b91f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140040584
lea rdi, [rbp + 0x30]
cmp qword [rbp + 0x48], 0xf
cmova rdi, qword [rbp + 0x30]
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov ebx, dword [rcx + r11 + 0x88]
add rbx, r11
cmp rbx, r11
je 0x14003b9c4
mov r10d, dword [rbx + 0x18]
test r10d, r10d
je 0x14003b9c4
mov r9d, dword [rbx + 0x20]
nop word [rax + rax]
dec r10d
lea rdx, [r9 + r10*4]
mov r8d, dword [rdx + r11]
add r8, r11
mov edx, 0x731f2e
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x14003b9bf
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x14003b9a0
cmp edx, 0x4d1d42c8
je 0x14003b9c9
test r10d, r10d
jne 0x14003b980
mov rax, qword [rax]
jmp 0x14003b950
mov r9d, dword [rbx + 0x1c]
add r9, r11
mov r8d, dword [rbx + 0x24]
add r8, r11
movzx r8d, word [r8 + r10*2]
mov eax, dword [r9 + r8*4]
add rax, r11
mov edx, 6
mov rcx, rdi
call rax
lea rdx, [rbp + 0x30]
cmp qword [rbp + 0x48], 0xf
cmova rdx, qword [rbp + 0x30]
lea rcx, [rbp + 0x70]
cmp qword [rbp + 0x88], 0xf
cmova rcx, qword [rbp + 0x70]
call fcn.140039080
lea rcx, [rbp + 0x30]
cmp qword [rbp + 0x48], 0xf
cmova rcx, qword [rbp + 0x30]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
lea rax, [rbp + 0x30]
cmp qword [rbp + 0x48], 0xf
cmova rax, qword [rbp + 0x30]
mov qword [rbp + 0x40], r13
mov byte [rax], 0
mov rdx, qword [rbp + 0x88]
cmp rdx, 0xf
jbe 0x14003ba7b
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003ba76
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003ba76
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140040584
mov qword [rbp + 0x80], r13
mov qword [rbp + 0x88], 0xf
mov byte [rbp + 0x70], 0
mov rdx, qword [rbp + 0x48]
cmp rdx, 0xf
jbe 0x14003bacf
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003baca
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003baca
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140040584
mov qword [rbp + 0x40], r13
mov qword [rbp + 0x48], 0xf
mov byte [rbp + 0x30], 0
mov rdx, qword [rbp + 0x68]
cmp rdx, 0xf
jbe 0x14003bb1d
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003bb18
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003bb18
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140040584
xor eax, eax
mov rcx, qword [rbp + 0x1a0]
xor rcx, rsp
call fcn.1400401c0
lea r11, [rsp + 0x2b0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140032980
nop
call fcn.1400328e0
int3