Function at 0x14004ae34
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x2c0
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x14016e040]
xor rax, rsp
mov qword [rsp + 0x2a0], rax
mov r13, rdx
mov qword [rsp + 0x58], rdx
xor r14d, r14d
lea rdx, [rcx + 0x40]
lea rcx, [rsp + 0x60]
call fcn.14004a3fc
nop
lea rcx, [rsp + 0x1c0]
call fcn.14004ac48
nop
mov dword [rsp + 0x170], 0x6e667073
mov dword [rsp + 0x174], 0xc8e65a9e
mov word [rsp + 0x178], 0x334b
mov ecx, r14d
lea edx, [r14 + 0xa]
lea r8, [0x140000000]
mov al, byte [rsp + rcx + 0x170]
xor al, byte [rcx + r8 + 0x14ffe8]
mov byte [rsp + rcx + 0x170], al
inc rcx
sub rdx, 1
jne 0x14004aeb6
lea rcx, [rsp + 0x170]
or rsi, 0xffffffffffffffff
mov rax, rsi
inc rax
cmp byte [rcx + rax], r14b
jne 0x14004aee4
lea rcx, [rsp + 0x1c0]
mov rbx, qword [rsp + 0x1c0]
mov rdi, qword [rsp + 0x1d8]
mov r12d, reloc.WS2_32.dll_ntohs
cmp rdi, r12
cmova rcx, rbx
cmp qword [rsp + 0x1d0], rax
jne 0x14004af40
mov r8, qword [rsp + 0x1d0]
lea rdx, [rsp + 0x170]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14004afe6
lea r8, [0x140000000]
mov dword [rsp + 0x170], 0xd9457eaa
mov dword [rsp + 0x174], 0x5b115a90
mov dword [rsp + 0x178], 0x5e8f7df3
mov word [rsp + 0x17c], 0x10bc
mov byte [rsp + 0x17e], 0x42
mov rcx, r14
mov rdx, r12
mov al, byte [rsp + rcx + 0x170]
xor al, byte [rcx + r8 + 0x14ffa0]
mov byte [rsp + rcx + 0x170], al
inc rcx
sub rdx, 1
jne 0x14004af79
lea rcx, [rsp + 0x170]
mov rax, rsi
inc rax
cmp byte [rcx + rax], r14b
jne 0x14004afa3
lea rcx, [rsp + 0x1c0]
cmp rdi, r12
cmova rcx, rbx
cmp qword [rsp + 0x1d0], rax
jne 0x14004b081
mov r8, qword [rsp + 0x1d0]
lea rdx, [rsp + 0x170]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14004b081
xorps xmm0, xmm0
movups xmmword [r13], xmm0
mov qword [r13 + 0x10], ntohs
mov qword [r13 + 0x18], r12
movsd xmm0, qword [str.INVALID_HWID]
movsd qword [r13], xmm0
mov eax, dword [0x140150760]
mov dword [r13 + 8], eax
mov byte [r13 + 0xc], r14b
cmp rdi, r12
jbe 0x14004b04c
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x14004b044
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004b886
mov rcx, rbx
call fcn.140118f64
mov qword [rsp + 0x1d0], r14
mov qword [rsp + 0x1d8], r12
mov byte [rsp + 0x1c0], r14b
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14004b8bf
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
jmp 0x14004b8bf
lea rcx, [rsp + 0x130]
call fcn.140050b80
nop
mov word [rsp + 0x30], 0x3b16
movzx eax, word [rsp + 0x30]
mov word [rsp + 0x30], ax
mov rcx, r14
mov eax, 2
mov qword [rsp + 0x38], rax
mov edx, eax
lea r8, [0x140000000]
mov al, byte [rsp + rcx + 0x30]
xor al, byte [rcx + r8 + 0x14fce4]
mov byte [rsp + rcx + 0x30], al
inc rcx
sub rdx, 1
jne 0x14004b0b6
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
lea rax, [rsp + 0x30]
mov r8, rsi
inc r8
cmp byte [rax + r8], r14b
jne 0x14004b0ee
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x180]
call fcn.140002c2c
nop
lea r8, [rsp + 0x180]
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x130]
call fcn.1400548f0
mov rcx, qword [rax]
add rcx, 0x30
lea rax, [rsp + 0x1c0]
cmp rcx, rax
je 0x14004b162
lea rdx, [rsp + 0x1c0]
cmp qword [rsp + 0x1d8], r12
cmova rdx, qword [rsp + 0x1c0]
mov r8, qword [rsp + 0x1d0]
call fcn.1400207a0
nop
mov rdx, qword [rsp + 0x198]
cmp rdx, r12
jbe 0x14004b1a8
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004b1a2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004b1a2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140118f64
nop
mov byte [rsp + 0x40], r14b
xor edx, edx
lea rcx, [rsp + 0x48]
call fcn.140030214
nop
mov rdi, qword [rsp + 0x138]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x14004b261
lea rax, [rsp + 0x1a0]
mov qword [rsp + 0x170], rax
mov byte [rsp + 0x1a0], r14b
xor eax, eax
mov qword [rsp + 0x1a8], rax
lea rdx, [rbx + 0x30]
lea rcx, [rsp + 0x1a0]
call fcn.14003bdbc
nop
lea rdx, [rbx + 0x10]
lea rcx, [rsp + 0x40]
call fcn.1400506a0
mov r8, rax
mov dl, byte [rax]
mov cl, byte [rsp + 0x1a0]
mov byte [rax], cl
mov byte [rsp + 0x1a0], dl
mov rax, qword [rax + 8]
mov rcx, qword [rsp + 0x1a8]
mov qword [r8 + 8], rcx
mov qword [rsp + 0x1a8], rax
mov dl, byte [rsp + 0x1a0]
lea rcx, [rsp + 0x1a8]
call fcn.14002fda4
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x14004b1ce
or rsi, 0xffffffffffffffff
lea rdx, [rsp + 0x180]
lea rcx, [rsp + 0x40]
call fcn.14002ed9c
mov rdx, rax
lea rcx, [rsp + 0x200]
call fcn.14005d630
nop
mov dword [rsp + 0x170], 0xd795b781
mov dword [rsp + 0x174], 0xa1e14119
mov word [rsp + 0x178], 0x366f
mov byte [rsp + 0x17a], 0x78
mov rcx, r14
mov ebx, ntohs
mov edx, ebx
lea rdi, [0x140000000]
mov al, byte [rsp + rcx + 0x170]
xor al, byte [rcx + rdi + 0x14fd40]
mov byte [rsp + rcx + 0x170], al
inc rcx
sub rdx, 1
jne 0x14004b2bd
xorps xmm0, xmm0
movups xmmword [rsp + 0x1a0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x1b0], xmm1
lea rax, [rsp + 0x170]
mov r8, rsi
inc r8
cmp byte [rax + r8], r14b
jne 0x14004b2fd
lea rdx, [rsp + 0x170]
lea rcx, [rsp + 0x1a0]
call fcn.140002c2c
nop
mov dword [rsp + 0x170], 0x3a61554d
mov dword [rsp + 0x174], 0x67f9f551
mov word [rsp + 0x178], 0x2f2d
mov byte [rsp + 0x17a], 0xb2
mov rcx, r14
mov al, byte [rsp + rcx + 0x170]
xor al, byte [rcx + rdi + 0x14ff90]
mov byte [rsp + rcx + 0x170], al
inc rcx
sub rbx, 1
jne 0x14004b347
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
lea rax, [rsp + 0x170]
mov r8, rsi
inc r8
cmp byte [rax + r8], r14b
jne 0x14004b387
lea rdx, [rsp + 0x170]
lea rcx, [rsp + 0x180]
call fcn.140002c2c
nop
lea rax, [rsp + 0x1a0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x200]
lea r8, [rsp + 0x180]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x60]
call fcn.14004abb0
nop
mov rdx, qword [rsp + 0x198]
mov ebx, 0x1000
cmp rdx, r12
jbe 0x14004b41a
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, rbx
jb 0x14004b414
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004b414
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140118f64
nop
mov rdx, qword [rsp + 0x1b8]
cmp rdx, r12
jbe 0x14004b45b
inc rdx
mov rcx, qword [rsp + 0x1a0]
mov rax, rcx
cmp rdx, rbx
jb 0x14004b456
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004b456
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140118f64
xorps xmm0, xmm0
movups xmmword [rsp + 0x1e0], xmm0
movdqa xmm1, xmmword [0x1401544b0]
movdqu xmmword [rsp + 0x1f0], xmm1
mov byte [rsp + 0x1e0], r14b
cmp qword [rsp + 0x70], r14
je 0x14004b6a6
mov qword [rsp + 0xc8], r14
mov rdx, qword [rsp + 0x70]
add rdx, 0x58
lea r8, [rsp + 0x90]
lea rcx, [rsp + 0x1a0]
call fcn.14003110c
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
movdqa xmm1, xmmword [0x1401544b0]
movdqu xmmword [rsp + 0x190], xmm1
mov byte [rsp + 0x180], r14b
mov word [rsp + 0x30], 0x64d0
movzx eax, word [rsp + 0x30]
mov word [rsp + 0x30], ax
mov rcx, r14
mov edx, 2
mov al, byte [rsp + rcx + 0x30]
xor al, byte [rcx + rdi + 0x150004]
mov byte [rsp + rcx + 0x30], al
inc rcx
sub rdx, 1
jne 0x14004b4ee
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x1a0]
call fcn.140030eb8
mov rcx, rax
call fcn.140035964
mov dil, al
mov word [rsp + 0x30], 0x2bb1
movzx ecx, word [rsp + 0x30]
mov word [rsp + 0x30], cx
mov rcx, r14
lea rdx, [0x140000000]
mov al, byte [rsp + rcx + 0x30]
xor al, byte [rcx + rdx + 0x14ffe0]
mov byte [rsp + rcx + 0x30], al
inc rcx
sub qword [rsp + 0x38], 1
jne 0x14004b53e
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x1a0]
call fcn.140030eb8
mov rdx, rax
lea rcx, [rsp + 0x180]
call fcn.1400544a0
test dil, dil
je 0x14004b5d7
mov word [rsp + 0x30], 0xcfdf
mov byte [rsp + 0x32], 0x52
mov rcx, r14
mov edx, 3
lea r8, [0x140000000]
mov al, byte [rsp + rcx + 0x30]
xor al, byte [rcx + r8 + 0x14fd84]
mov byte [rsp + rcx + 0x30], al
inc rcx
sub rdx, 1
jne 0x14004b59a
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x1a0]
call fcn.140030eb8
mov rdx, rax
lea rcx, [rsp + 0x1e0]
call fcn.1400544a0
jmp 0x14004b61b
mov rax, qword [rsp + 0x198]
cmp rax, r12
jbe 0x14004b5ee
cmp qword [rsp + 0x180], r14
je 0x14004b623
lea rdx, [rsp + 0x180]
cmp rax, r12
cmova rdx, qword [rsp + 0x180]
inc rsi
cmp byte [rdx + rsi], r14b
jne 0x14004b602
mov r8, rsi
lea rcx, [rsp + 0x1e0]
call fcn.1400207a0
mov rax, qword [rsp + 0x198]
cmp rax, r12
jbe 0x14004b65d
lea rdx, [rax + 1]
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, rbx
jb 0x14004b658
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004b658
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140118f64
movdqa xmm0, xmmword [0x1401544b0]
movdqu xmmword [rsp + 0x190], xmm0
mov byte [rsp + 0x180], r14b
mov dl, byte [rsp + 0x1a0]
lea rcx, [rsp + 0x1a8]
call fcn.14002fda4
nop
jmp 0x14004b772
movdqa xmm6, xmmword [0x1401551b0]
movdqa xmm5, xmmword [0x1401547a0]
movdqa xmm4, xmmword [str._aee]
movdqa xmm3, xmmword [0x1401550d0]
movdqa xmm2, xmmword [0x140154c60]
movdqa xmm1, xmmword [0x140154cd0]
movdqa xmm0, xmmword [0x140154dc0]
mov dword [rsp + 0x100], 0x33a1eea2
movaps xmmword [rsp + 0x220], xmm6
movaps xmmword [rsp + 0x230], xmm5
movaps xmmword [rsp + 0x240], xmm4
movaps xmmword [rsp + 0x250], xmm3
movaps xmmword [rsp + 0x260], xmm2
movaps xmmword [rsp + 0x270], xmm1
movaps xmmword [rsp + 0x280], xmm0
mov eax, dword [rsp + 0x100]
mov dword [rsp + 0x290], eax
mov byte [rsp + 0x294], 0x2f
mov rdx, r14
mov r8d, 0x75
mov al, byte [rsp + rdx + 0x220]
xor al, byte [rdx + rdi + 0x14ff00]
mov byte [rsp + rdx + 0x220], al
inc rdx
sub r8, 1
jne 0x14004b740
lea rdx, [rsp + 0x220]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140014148
movups xmm0, xmmword [rsp + 0x1e0]
movups xmmword [r13], xmm0
movups xmm1, xmmword [rsp + 0x1f0]
movups xmmword [r13 + 0x10], xmm1
movdqa xmm0, xmmword [0x1401544b0]
movdqu xmmword [rsp + 0x1f0], xmm0
mov byte [rsp + 0x1e0], r14b
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x80]
call fcn.1400546c0
mov rdi, qword [rsp + 0x70]
test rdi, rdi
je 0x14004b7da
mov rcx, rdi
call fcn.14003c56c
mov edx, 0x128
mov rcx, rdi
call fcn.140118f64
nop
mov rdx, qword [rsp + 0x218]
cmp rdx, r12
jbe 0x14004b81b
inc rdx
mov rcx, qword [rsp + 0x200]
mov rax, rcx
cmp rdx, rbx
jb 0x14004b816
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004b816
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140118f64
movdqa xmm0, xmmword [0x1401544b0]
movdqu xmmword [rsp + 0x210], xmm0
mov byte [rsp + 0x200], r14b
mov dl, byte [rsp + 0x40]
lea rcx, [rsp + 0x48]
call fcn.14002fda4
nop
lea rcx, [rsp + 0x130]
call fcn.140042160
nop
mov rdx, qword [rsp + 0x1d8]
cmp rdx, r12
jbe 0x14004b892
inc rdx
mov rcx, qword [rsp + 0x1c0]
mov rax, rcx
cmp rdx, rbx
jb 0x14004b88d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004b88d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140118f64
mov qword [rsp + 0x1d0], r14
mov qword [rsp + 0x1d8], r12
mov byte [rsp + 0x1c0], r14b
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14004b8bf
mov r8, qword [rcx]
mov edx, 1
call qword [r8]
mov rax, r13
mov rcx, qword [rsp + 0x2a0]
xor rcx, rsp
call fcn.140118ad0
lea r11, [rsp + 0x2c0]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret