Function at 0x180138850
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x120]
sub rsp, 0x220
movabs rax, 0x5c86a03627c64527
mov dword [rsp + 0x40], 0x9fa201f1
mov qword [rsp + 0x60], rax
mov r14, rdx
movabs rax, 0x6bb3cf1ef34a0030
mov dword [rsp + 0x44], 0x15e891db
mov qword [rsp + 0x68], rax
lea rdx, [rsp + 0x40]
movabs rax, 0xdbff2c404dd8d258
mov dword [rsp + 0x48], 0x2e97e0b9
mov r12, rcx
mov qword [rsp + 0x70], rax
lea rcx, [rbp + 8]
mov dword [rsp + 0x4c], 0x538bf539
mov rsi, r8
mov dword [rsp + 0x50], 0xec1b03fc
mov dword [rsp + 0x54], 0x80499b96
mov qword [rsp + 0x58], 0x41b2513a
call fcn.180012030
movabs r15, 0xf5d06b73146ce1d
mov dword [rsp + 0x40], 0x82ce0593
movabs rdi, 0x4341773d02c032bc
mov dword [rsp + 0x44], 0xea7e3b82
movabs rbx, 0x92fa271d3182863e
mov dword [rsp + 0x48], 0x5c7d0cb4
movups xmm1, xmmword [rax]
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x4c], 0x9e54d8c8
mov dword [rsp + 0x50], 0x344035a7
movups xmmword [rbp + 0x28], xmm1
mov dword [rsp + 0x54], 0xbb8c18c1
movsd xmm0, qword [rax + 0x10]
movsd qword [rbp + 0x38], xmm0
mov ecx, dword [rax + 0x18]
mov dword [rbp + 0x40], ecx
lea rcx, [rbp + 8]
movzx eax, word [rax + 0x1c]
mov word [rbp + 0x44], ax
mov dword [rsp + 0x58], 0xdedf98df
mov dword [rsp + 0x5c], 0xe3d9
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], rbx
call fcn.180012270
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x40], 0x82ce059c
lea rcx, [rbp + 0xa0]
mov dword [rsp + 0x44], 0xea7c3b8a
mov dword [rsp + 0x48], 0x5c6b0cb3
movups xmm1, xmmword [rax]
mov dword [rsp + 0x4c], 0x9e10d895
mov dword [rsp + 0x50], 0x345e35a7
movups xmmword [rbp + 0x7a], xmm1
mov dword [rsp + 0x54], 0xbbe518c3
movups xmm0, xmmword [rax + 0x10]
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], rdi
movups xmmword [rbp + 0x8a], xmm0
mov qword [rsp + 0x68], rbx
call fcn.18000dd90
xor edx, edx
mov dword [rsp + 0x40], 0xb6baa168
xor cx, cx
mov dword [rsp + 0x44], 0x42fd959b
mov word [rbp + 0x162], cx
movups xmm1, xmmword [rax]
mov dword [rsp + 0x48], 0x5911d46e
movups xmmword [rbp + 8], xmm1
movsd xmm0, qword [rax + 0x10]
movsd qword [rbp + 0x18], xmm0
movzx eax, word [rax + 0x18]
mov word [rbp + 0x20], ax
mov eax, 0xa105
mov dword [rbp + 0xa4], edx
mov edx, 0xa125
xor ax, dx
mov word [rbp + 0x160], ax
xor r13d, r13d
mov eax, dword [rbp + 0x160]
mov dword [rbp + 0x160], eax
mov word [rbp + 0x164], r13w
movabs rax, 0xa3156534c2c75b13
mov dword [rsp + 0x4c], 0x8e597cd4
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0x40]
movabs rax, 0xfdeeb2fe8adb27a8
mov dword [rsp + 0x50], 0xfa197d2f
mov qword [rsp + 0x68], rax
lea rcx, [rbp + 0xa0]
movabs rax, 0x5b38350c23ca8164
mov dword [rsp + 0x54], 0x1a971ff1
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x58], 0x15b2bd2f
mov dword [rsp + 0x5c], 0xc2754cdd
call fcn.1800124d0
movabs r15, 0xf437ff3808c16f2b
lea rdx, [rsp + 0x40]
movabs rdi, 0xb0233063af3d6b8
mov qword [rsp + 0x50], r15
movabs rbx, 0xe1853dc234c3cf2
mov qword [rsp + 0x58], rdi
movups xmm0, xmmword [rax + 0x10]
lea rcx, [rbp + 0xa0]
mov qword [rsp + 0x60], rbx
movups xmm1, xmmword [rax]
movzx eax, word [rax + 0x20]
movups xmmword [rbp + 0x68], xmm0
mov word [rbp + 0x78], ax
movdqa xmm0, xmmword [0x180162200]
movdqu xmmword [rsp + 0x40], xmm0
movups xmmword [rbp + 0x58], xmm1
call fcn.1800115c0
mov dword [rbp - 0x68], 0xfcedcdd0
mov ecx, r13d
mov dword [rbp - 0x64], 0xb09eec8e
mov dword [rbp - 0x60], 0x649a9cf6
movups xmm1, xmmword [rax]
mov dword [rbp - 0x5c], 0xc9972958
mov dword [rbp - 0x58], 0xd1b26799
movups xmmword [rbp + 0x46], xmm1
movzx eax, byte [rax + 0x10]
mov byte [rbp + 0x56], al
mov rax, rbx
mov dword [rbp - 0x54], 0xb968e111
mov dword [rbp - 0x50], 0xbac1f9a7
mov dword [rbp - 0x4c], 0x31af8944
mov dword [rbp - 0x48], 0x57497b55
mov dword [rbp - 0x44], 0x77d858cc
mov dword [rbp - 0x40], 0xd8a5e545
mov dword [rbp - 0x3c], 0x6e190d46
mov dword [rbp - 0x38], 0x9d4b2777
mov dword [rbp - 0x34], 0x84005cd3
mov dword [rbp - 0x30], 0x39290f6f
mov dword [rbp - 0x2c], 0xba13b3d6
mov dword [rbp - 0x28], 0x3ce0ad5f
mov dword [rbp - 0x24], 0x92936eb4
mov dword [rbp - 0x20], 0x6c3c1b45
mov dword [rbp - 0x1c], 0x77343ee1
mov dword [rbp - 0x18], 0x285a35d
mov dword [rbp - 0x14], 0xce97
mov qword [rbp - 0x10], r15
mov qword [rbp - 8], rdi
mov qword [rbp], rbx
imul rax, rbx
add rdi, r15
add rax, rdi
mov rbx, rax
shl rax, 0x20
shr rbx, 0x20
or rbx, rax
movzx eax, bx
xor ax, word [rbp + rcx - 0x68]
mov word [rbp + rcx + 0xc8], ax
add rcx, 2
mov rax, rbx
cmp rcx, 0x56
jb 0x180138be1
movups xmm0, xmmword [rbp + 0xc8]
xor eax, eax
mov word [rbp + 0x11e], r13w
movups xmm1, xmmword [rbp + 0xd8]
movups xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [rbp + 0xe8]
movups xmmword [rsp + 0x50], xmm1
movups xmm1, xmmword [rbp + 0xf8]
movups xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [rbp + 0x108]
movups xmmword [rsp + 0x70], xmm1
movsd xmm1, qword [rbp + 0x118]
movsd qword [rbp - 0x70], xmm1
movups xmmword [rbp - 0x80], xmm0
xorps xmm0, xmm0
movups xmmword [r12], xmm0
movups xmmword [r12 + 0x10], xmm0
movups xmmword [r12 + 0x20], xmm0
mov qword [r12 + 0x30], rax
test rsi, rsi
je 0x180139023
test r14, r14
je 0x180139023
mov rdi, 0xffffffffffffffff
lea rax, [rsp + 0x40]
mov r15, rdi
inc r15
cmp word [rax + r15*2], r13w
jne 0x180138ca2
mov rcx, rdi
nop
cmp word [r14 + rcx*2 + 2], r13w
lea rcx, [rcx + 1]
jne 0x180138cb0
mov rax, rdi
nop
inc rax
cmp word [rsi + rax*2], r13w
jne 0x180138cc0
add rax, r15
lea r8, [rbp + 0x28]
mov rdx, rdi
inc rdx
cmp word [r8 + rdx*2], r13w
jne 0x180138cd4
lea r13, [rcx + rax]
add r13, rdx
lea rbx, [r13*2 + 4]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [r12], rax
test rax, rax
je 0x180138ff0
lea rcx, [rbp + 0x28]
mov r9, rsi
mov qword [rsp + 0x38], rcx
lea r8, [0x18015f268]
lea rcx, [0x18015f234]
mov qword [rsp + 0x30], rcx
lea rdx, [r13 + 2]
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rcx
mov rcx, rax
call fcn.180001080
lea rax, [rbp + 0x7a]
mov rdx, rdi
cmp word [rax + rdx*2 + 2], 0
lea rdx, [rdx + 1]
jne 0x180138d52
mov rax, rdi
inc rax
cmp word [r14 + rax*2], 0
jne 0x180138d61
add rax, r15
mov rcx, rdi
inc rcx
cmp word [rsi + rcx*2], 0
jne 0x180138d72
lea r13, [rdx + rax]
add r13, rcx
lea rbx, [r13*2 + 4]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [r12 + 0x18], rax
test rax, rax
je 0x180138ff0
lea rcx, [rbp + 0x7a]
mov r9, rsi
mov qword [rsp + 0x38], rcx
lea r8, [0x18015f268]
lea rcx, [0x18015f234]
mov qword [rsp + 0x30], rcx
lea rdx, [r13 + 2]
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rcx
mov rcx, rax
call fcn.180001080
lea rax, [rbp + 0x160]
mov r8, rdi
nop dword [rax]
nop dword [rax + rax]
cmp word [rax + r8*2 + 2], 0
lea r8, [r8 + 1]
jne 0x180138e00
mov rax, rdi
inc rax
cmp word [r14 + rax*2], 0
jne 0x180138e10
add rax, r15
mov rcx, rdi
inc rcx
cmp word [rsi + rcx*2], 0
jne 0x180138e21
lea r13, [r8 + rax]
add r13, rcx
lea rbx, [r13*2 + 4]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [r12 + 0x10], rax
test rax, rax
je 0x180138ff0
lea rcx, [rbp + 0x160]
mov r9, rsi
mov qword [rsp + 0x38], rcx
lea r8, [0x18015f268]
lea rcx, [0x18015f234]
mov qword [rsp + 0x30], rcx
lea rdx, [r13 + 2]
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rcx
mov rcx, rax
call fcn.180001080
lea rax, [rbp + 8]
mov rdx, rdi
cmp word [rax + rdx*2 + 2], 0
lea rdx, [rdx + 1]
jne 0x180138ea3
mov rax, rdi
inc rax
cmp word [r14 + rax*2], 0
jne 0x180138eb2
add rax, r15
mov rcx, rdi
inc rcx
cmp word [rsi + rcx*2], 0
jne 0x180138ec3
add rcx, 2
lea rbx, [rdx + rax]
add rbx, rcx
lea rcx, [rbx + rbx]
call fcn.180147080
mov qword [r12 + 8], rax
test rax, rax
je 0x180138ff0
lea rcx, [rbp + 8]
mov r9, rsi
mov qword [rsp + 0x38], rcx
lea r8, [0x18015f268]
lea rcx, [0x18015f234]
mov rdx, rbx
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rcx
mov rcx, rax
call fcn.180001080
lea rcx, [rbp + 0x58]
mov rax, rdi
nop
cmp word [rcx + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x180138f30
lea rbx, [rax*2 + 2]
mov rcx, rbx
call fcn.180147080
mov qword [r12 + 0x30], rax
test rax, rax
je 0x180138ff0
mov r8, rbx
lea rdx, [rbp + 0x58]
mov rcx, rax
call fcn.18014af30
mov rax, rdi
nop dword [rax]
cmp word [r14 + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x180138f70
nop dword [rax]
inc rdi
cmp word [rsi + rdi*2], 0
jne 0x180138f80
lea rbx, [rax + 1]
add rbx, r15
add rbx, rdi
lea rcx, [rbx + rbx]
call fcn.180147080
mov qword [r12 + 0x20], rax
test rax, rax
je 0x180138ff0
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rcx
lea r8, str._ws_ws_ws
mov rcx, rax
mov r9, rsi
mov rdx, rbx
call fcn.180001080
mov rcx, rsi
call fcn.18014ad10
mov rcx, rax
lea rdx, [rbp + 0x46]
call fcn.180144850
mov qword [r12 + 0x28], rax
test rax, rax
je 0x180138ff0
mov eax, 1
jmp 0x180139023
mov rcx, qword [r12]
call fcn.180146f60
mov rcx, qword [r12 + 0x10]
call fcn.180146f60
mov rcx, qword [r12 + 0x18]
call fcn.180146f60
mov rcx, qword [r12 + 8]
call fcn.180146f60
mov rcx, qword [r12 + 0x30]
call fcn.180146f60
xor eax, eax
lea r11, [rsp + 0x220]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret