Function at 0x140001d80
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0x1c0]
sub rsp, 0x2c0
mov rax, qword [0x140038080]
xor rax, rsp
mov qword [rbp + 0x1b0], rax
xor ebx, ebx
mov dword [rsp + 0x30], ebx
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov rdi, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea edx, [rbx + 0x6d]
call qword [sym.imp.USER32.dll_LoadIconW]
mov r9, rax
xor r8d, r8d
mov edx, 0x80
mov rcx, rdi
call qword [sym.imp.USER32.dll_SendMessageW]
test rdi, rdi
je 0x140001e00
xor edx, edx
mov rcx, rdi
call qword [sym.imp.USER32.dll_ShowWindow]
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0xa0]
call fcn.140008c30
lea rcx, [rbp + 0xa0]
call fcn.140003dd0
nop
mov r14d, 0x64
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
mov rdi, rbx
mov qword [rbp - 0x78], rbx
mov esi, 0xf
mov qword [rbp - 0x70], rsi
mov byte [rsp + 0x78], dil
lea r12, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
cmp qword [rbp + 0x130], 0
je 0x14000206d
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp - 0x60]
call fcn.140008c30
lea rcx, [0x140000000]
lea rax, [rcx + 0x33740]
mov qword [rbp - 0x60], rax
lea rax, [rcx + 0x33650]
mov qword [rbp - 0x50], rax
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x68], rbx
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x70], xmm0
mov dword [rsp + 0x30], 1
mov qword [rbp + 0x38], r12
mov dword [rbp + 0x34], 0x80
mov qword [rbp - 0x58], rbx
lea rdx, [rbp - 0x48]
lea rcx, [rbp + 0x38]
call fcn.140004ca0
nop
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x50], rax
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx - 0x54], edx
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_iostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x60], rax
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x20]
mov dword [rbp + rcx - 0x64], edx
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx - 0x60], rax
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx - 0x64], edx
lea rcx, [rbp - 0x48]
call fcn.140004c10
lea rax, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp - 0x48], rax
mov qword [rbp + 0x20], rbx
mov dword [rbp + 0x28], ebx
lea rdx, [rbp + 0xb0]
lea rcx, [rbp - 0x50]
call fcn.140002bb0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
movdqa xmm1, xmmword [0x140033770]
movdqu xmmword [rsp + 0x60], xmm1
mov byte [rsp + 0x50], 0
mov dword [rsp + 0x30], 0x21
xor eax, eax
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], rax
mov ecx, dword [rbp + 0x28]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x140001faf
mov rax, qword [rbp - 8]
mov r8, qword [rax]
test r8, r8
je 0x140001faf
mov rax, qword [rbp - 0x28]
mov rdx, qword [rax]
cmp r8, qword [rbp + 0x20]
cmovb r8, qword [rbp + 0x20]
sub r8, rdx
jmp 0x140001fe0
test cl, 4
jne 0x140001fd6
mov rax, qword [rbp - 0x10]
mov rcx, qword [rax]
test rcx, rcx
je 0x140001fd6
mov rax, qword [rbp - 0x30]
mov rdx, qword [rax]
mov rax, qword [rbp + 8]
movsxd r8, dword [rax]
add r8, rcx
sub r8, rdx
jmp 0x140001fe0
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x140001ff5
lea rcx, [rsp + 0x50]
call fcn.140004ef0
movdqu xmm1, xmmword [rsp + 0x60]
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rbp - 0x78], xmm1
movq rdi, xmm1
mov r14, rdi
shr r14, 1
lea rcx, [rbp + 0xb0]
call fcn.1400047b0
test rax, rax
jne 0x140002060
mov rax, qword [rbp + 0xa0]
movsxd rcx, dword [rax + 4]
mov eax, 6
mov edx, 2
cmp qword [rbp + rcx + 0xe8], 0
cmovne eax, edx
or eax, dword [rbp + rcx + 0xb0]
and eax, 0x17
mov dword [rbp + rcx + 0xb0], eax
mov edx, dword [rbp + rcx + 0xb4]
and edx, eax
jne 0x1400022f1
lea rcx, [rbp - 0x60]
call fcn.1400023f0
mov rsi, qword [rbp - 0x70]
mov rcx, r14
call fcn.14000ea0c
mov r15, rax
test rdi, rdi
je 0x14000212a
mov r8, rbx
cmp rsi, 0x10
setae r10b
mov r9, qword [rsp + 0x78]
lea rcx, [rsp + 0x78]
cmp rsi, 0x10
cmovae rcx, r9
movzx edx, byte [r8 + rcx]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x1400020af
sub dl, 0x30
jmp 0x1400020c9
lea eax, [rdx - 0x61]
cmp al, 5
ja 0x1400020bb
sub dl, 0x57
jmp 0x1400020c9
lea eax, [rdx - 0x41]
cmp al, 5
ja 0x1400020c7
sub dl, 0x37
jmp 0x1400020c9
xor dl, dl
lea rax, [rsp + 0x78]
test r10b, r10b
cmovne rax, r9
movzx ecx, byte [r8 + rax + 1]
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x1400020e7
sub cl, 0x30
jmp 0x140002101
lea eax, [rcx - 0x61]
cmp al, 5
ja 0x1400020f3
sub cl, 0x57
jmp 0x140002101
lea eax, [rcx - 0x41]
cmp al, 5
ja 0x1400020ff
sub cl, 0x37
jmp 0x140002101
xor cl, cl
shl dl, 4
add dl, cl
mov eax, ebx
test ebx, ebx
jns 0x14000210f
lea eax, [rbx + 1]
sar eax, 1
cdqe
mov byte [rax + r15], dl
add ebx, 2
add r8, 2
movsxd rax, ebx
cmp rax, rdi
jb 0x140002091
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov edi, dword [rcx + r11 + 0x88]
add rdi, r11
cmp rdi, r11
je 0x1400021b6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400021b6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov ecx, dword [rcx + r11]
add rcx, r11
mov r8d, 0x811c9dc5
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x1400021b1
nop
movsx edx, dl
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx]
lea rcx, [rcx + 1]
test dl, dl
jne 0x140002190
cmp r8d, 0x3285501
je 0x1400021bb
test r9d, r9d
jne 0x140002170
mov rax, qword [rax]
jmp 0x140002140
mov ecx, dword [rdi + 0x1c]
add rcx, r11
mov eax, dword [rdi + 0x24]
add rax, r11
movzx eax, word [rax + r9*2]
mov r10d, dword [rcx + rax*4]
add r10, r11
mov r9d, 0x40
mov r8d, 0x3000
mov rdx, r14
xor ecx, ecx
call r10
mov rbx, rax
mov r8, r14
mov rdx, r15
mov rcx, rax
call fcn.140008560
call rbx
nop
mov rdx, qword [rbp - 0x70]
cmp rdx, 0x10
jb 0x140002238
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002232
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400022eb
call fcn.1400066d0
nop
mov rax, qword [rbp + 0xa0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0xa0], rax
mov rax, qword [rbp + 0xa0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x9c], edx
lea rcx, [rbp + 0xb0]
call fcn.140003b10
mov rax, qword [rbp + 0xa0]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0xa0], r12
mov rax, qword [rbp + 0xa0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx + 0x9c], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x150], rax
lea rcx, [rbp + 0x150]
call fcn.140005e30
nop
xor eax, eax
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.1400066b0
lea r11, [rsp + 0x2c0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.14000e994
nop
test dl, 4
je 0x1400022ff
lea rbx, str.ios_base::badbit_set
jmp 0x140002314
test dl, 2
lea rbx, str.ios_base::failbit_set
lea rax, str.ios_base::eofbit_set
cmove rbx, rax
mov edx, 1
lea rcx, [rsp + 0x38]
call fcn.1400012e0
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.140001b90
lea rdx, [0x140037330]
lea rcx, [rsp + 0x50]
call fcn.140008484
int3