Function at 0x140014fa8
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov qword [rbp - 0x68], 0xfffffffffffffffe
mov rax, qword [0x140046180]
xor rax, rsp
mov qword [rbp + 0xc0], rax
mov r15, r8
mov rsi, rdx
mov r13, rcx
lea rdx, [0x14004a0b0]
lea rcx, [rbp - 0x70]
call fcn.140004570
nop
mov rbx, qword [r13 + 8]
mov rdi, qword [rbx + 8]
xor r12d, r12d
jmp 0x14001506e
lea rcx, [rdi + 0x18]
cmp qword [rsi + 0x18], 0x10
jb 0x140015012
mov rdx, qword [rsi]
jmp 0x140015015
mov rdx, rsi
mov r12, qword [rcx + 0x10]
cmp r12, r12
cmp qword [rcx + 0x18], 0x10
jb 0x140015026
mov rcx, qword [rcx]
mov r8, qword [rsi + 0x10]
cmp r12, r8
cmovb r8, r12
call fcn.14002bec0
movsxd rcx, eax
xor eax, eax
cmp r12, qword [rsi + 0x10]
setne al
cmp r12, qword [rsi + 0x10]
mov rdx, 0xffffffffffffffff
cmovb eax, edx
xor r12d, r12d
test rcx, rcx
cmovne eax, ecx
test eax, eax
sets al
test al, al
je 0x140015068
mov rdi, qword [rdi + 0x10]
jmp 0x14001506e
mov rbx, rdi
mov rdi, qword [rdi]
cmp byte [rdi + 0xb9], r12b
je 0x140015002
mov qword [rsp + 0x40], rbx
mov rdi, qword [r13 + 8]
cmp rbx, rdi
je 0x1400150ed
lea rdx, [rbx + 0x18]
mov r12, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x140015097
mov rdx, qword [rdx]
mov rbx, qword [rsi + 0x10]
cmp rbx, rbx
cmp qword [rsi + 0x18], 0x10
jb 0x1400150aa
mov rcx, qword [rsi]
jmp 0x1400150ad
mov rcx, rsi
mov r8, r12
cmp rbx, r12
cmovb r8, rbx
call fcn.14002bec0
movsxd rcx, eax
xor eax, eax
cmp rbx, r12
setne al
cmp rbx, r12
mov rdx, 0xffffffffffffffff
cmovb eax, edx
xor r12d, r12d
test rcx, rcx
cmovne eax, ecx
test eax, eax
sets al
test al, al
jne 0x1400150ed
lea rbx, [rsp + 0x40]
jmp 0x1400150f5
mov qword [rbp + 0x18], rdi
lea rbx, [rbp + 0x18]
mov rbx, qword [rbx]
cmp rdi, rbx
jne 0x140015107
mov edi, 5
jmp 0x140015890
mov edi, 0xf
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x50], r12
mov byte [rbp - 0x60], r12b
mov rax, qword [0x14003a738]
mov qword [rbp + 0x18], rax
movzx eax, word [0x14003a740]
mov word [rbp + 0x20], ax
mov al, byte [0x14003a742]
mov byte [rbp + 0x22], al
lea ecx, [rdi - 6]
mov al, byte [rbp + rcx + 0x17]
xor byte [rbp + rcx + 0x18], al
dec rcx
test rcx, rcx
jg 0x14001513a
xor byte [rbp + 0x18], 0x82
lea rdx, [rbp + 0x18]
lea rcx, [rbp - 0x60]
call fcn.14000a6ec
lea rdx, [rbx + 0x40]
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rbp - 0x60]
call fcn.14000a82c
movups xmm5, xmmword [0x14003a748]
movdqu xmmword [rbp + 0x18], xmm5
mov edi, 0xe
mov ecx, edi
mov al, byte [rbp + rcx + 0x17]
xor byte [rbp + rcx + 0x18], al
dec rcx
test rcx, rcx
jg 0x140015182
xor byte [rbp + 0x18], 0xad
lea rdx, [rbp + 0x18]
lea rcx, [rbp - 0x60]
call fcn.14000a6ec
lea rdx, [rbx + 0x68]
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rbp - 0x60]
call fcn.14000a82c
movups xmm5, xmmword [0x14003a758]
movdqu xmmword [rbp + 0x18], xmm5
mov al, byte [rbp + rdi + 0x17]
xor byte [rbp + rdi + 0x18], al
dec rdi
test rdi, rdi
jg 0x1400151c3
xor byte [rbp + 0x18], 0xca
lea rdx, [rbp + 0x18]
lea rcx, [rbp - 0x60]
call fcn.14000a6ec
lea rdx, [rbx + 0x90]
or rdi, 0xffffffffffffffff
mov r9, rdi
xor r8d, r8d
lea rcx, [rbp - 0x60]
call fcn.14000a82c
mov rax, qword [str.o_bzeu]
mov qword [rbp + 0x18], rax
mov rax, qword [0x14003a770]
mov qword [rbp + 0x20], rax
mov rax, qword [0x14003a778]
mov qword [rbp + 0x28], rax
movzx eax, word [0x14003a780]
mov word [rbp + 0x30], ax
lea ecx, [rdi + 0x19]
mov al, byte [rbp + rcx + 0x17]
xor byte [rbp + rcx + 0x18], al
dec rcx
test rcx, rcx
jg 0x14001522d
xor byte [rbp + 0x18], 0x49
lea rdx, [rbp + 0x18]
lea rcx, [rbp - 0x60]
call fcn.14000a6ec
mov ebx, 0xf
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x28], r12
mov byte [rbp - 0x38], r12b
lea rcx, [rbp + 0x40]
lea rdx, str.._gHg_vd
lea r8d, [rbx + 0x2c]
call fcn.1400230b0
lea edx, [rbx + 0x2a]
mov al, byte [rbp + rdx + 0x3f]
xor byte [rbp + rdx + 0x40], al
dec rdx
test rdx, rdx
jg 0x140015276
xor byte [rbp + 0x40], 0x36
xor eax, eax
mov rcx, rdi
lea rdi, [rbp + 0x40]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 0x38]
call fcn.140002348
lea rcx, [rsp + 0x50]
call fcn.14000259c
nop
lea rcx, [rbp + 0x40]
lea rdx, str._F_U9U4e.
mov r8d, 0x74
call fcn.1400230b0
mov edx, 0x72
mov al, byte [rbp + rdx + 0x3f]
xor byte [rbp + rdx + 0x40], al
dec rdx
test rdx, rdx
jg 0x1400152cf
xor byte [rbp + 0x40], 0x64
mov dword [rbp + 0x18], 0xd8aacfbc
mov dword [rbp + 0x1c], 0xb6d3b4f5
mov word [rbp + 0x20], 0xacd8
mov byte [rbp + 0x22], 0xac
mov ecx, 0xa
mov al, byte [rbp + rcx + 0x17]
xor byte [rbp + rcx + 0x18], al
dec rcx
test rcx, rcx
jg 0x140015300
xor byte [rbp + 0x18], 0xe9
lea rax, [rbp + 0x18]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x40]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.14000b80c
mov r8, rax
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.140004648
mov dword [rbp + 0x18], 0xdda9c7a8
mov dword [rbp + 0x1c], 0x8fa2d6b8
mov dword [rbp + 0x20], 0xb7d2a2db
mov byte [rbp + 0x24], 0xb7
mov ecx, 0xc
mov al, byte [rbp + rcx + 0x17]
xor byte [rbp + rcx + 0x18], al
dec rcx
test rcx, rcx
jg 0x140015365
xor byte [rbp + 0x18], 0xeb
lea rcx, [rbp + 0x40]
lea rdx, str._bx_bd_rn
mov r8d, 0x22
call fcn.1400230b0
mov edx, 0x20
mov al, byte [rbp + rdx + 0x3f]
xor byte [rbp + rdx + 0x40], al
dec rdx
test rdx, rdx
jg 0x140015394
xor byte [rbp + 0x40], 0x69
lea rax, [rbp + 0x18]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x40]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.14000b80c
mov r8, rax
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.140004648
mov dword [rsp + 0x40], r12d
lea rcx, [rsp + 0x70]
call fcn.14000259c
nop
mov qword [rbp + 0x20], r12
mov ecx, 0x400
mov qword [rbp + 0x28], rcx
call fcn.140014420
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x58], rbx
mov qword [rbp + 0x50], r12
mov byte [rbp + 0x40], r12b
mov r8d, 4
lea rdx, str.POST
lea rcx, [rbp + 0x40]
call fcn.140002348
nop
lea rdx, [rbp - 0x60]
cmp qword [rbp - 0x48], 0x10
cmovae rdx, qword [rbp - 0x60]
lea rax, [rbp + 0x18]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x40]
mov r8, qword [rbp - 0x50]
lea rcx, [rbp - 0x38]
call fcn.14001decc
test eax, eax
sete dil
cmp qword [rbp + 0x58], 0x10
jb 0x140015480
mov rcx, qword [rbp + 0x40]
call fcn.1400233e4
test dil, dil
je 0x14001551f
lea rcx, [rbp + 0x18]
call fcn.1400054b8
nop
mov r8, qword [rsp + 0x78]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rbp + 0x18]
lea rcx, [rsp + 0x70]
call fcn.1400024e4
nop
mov rcx, qword [rsp + 0x78]
call fcn.1400233e4
nop
mov r8, qword [rsp + 0x58]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rbp + 0x18]
lea rcx, [rsp + 0x50]
call fcn.1400024e4
nop
mov rcx, qword [rsp + 0x58]
call fcn.1400233e4
nop
cmp qword [rbp - 0x20], 0x10
jb 0x1400154ed
mov rcx, qword [rbp - 0x38]
call fcn.1400233e4
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x28], r12
mov byte [rbp - 0x38], r12b
cmp qword [rbp - 0x48], 0x10
jb 0x140015509
mov rcx, qword [rbp - 0x60]
call fcn.1400233e4
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x50], r12
mov byte [rbp - 0x60], r12b
mov edi, 2
jmp 0x140015890
mov ecx, dword [rsp + 0x40]
lea eax, [rcx - 0x190]
mov edi, 3
cmp eax, edi
ja 0x1400155e4
lea rcx, [r13 + 0x20]
mov rdx, rsi
call fcn.14000a560
mov qword [rax + 0x10], r12
cmp qword [rax + 0x18], 0x10
jb 0x140015550
mov rax, qword [rax]
mov byte [rax], r12b
lea rcx, [rbp + 0x18]
call fcn.1400054b8
nop
mov r8, qword [rsp + 0x78]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rbp + 0x18]
lea rcx, [rsp + 0x70]
call fcn.1400024e4
nop
mov rcx, qword [rsp + 0x78]
call fcn.1400233e4
nop
mov r8, qword [rsp + 0x58]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rbp + 0x18]
lea rcx, [rsp + 0x50]
call fcn.1400024e4
nop
mov rcx, qword [rsp + 0x58]
call fcn.1400233e4
nop
cmp qword [rbp - 0x20], 0x10
jb 0x1400155b7
mov rcx, qword [rbp - 0x38]
call fcn.1400233e4
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x28], r12
mov byte [rbp - 0x38], r12b
cmp qword [rbp - 0x48], 0x10
jb 0x1400155d3
mov rcx, qword [rbp - 0x60]
call fcn.1400233e4
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x50], r12
mov byte [rbp - 0x60], r12b
jmp 0x140015890
cmp ecx, 0xc8
je 0x1400156a3
lea rcx, [r13 + 0x20]
mov rdx, rsi
call fcn.14000a560
mov qword [rax + 0x10], r12
cmp qword [rax + 0x18], 0x10
jb 0x14001560a
mov rax, qword [rax]
mov byte [rax], r12b
lea rcx, [rbp + 0x18]
call fcn.1400054b8
nop
mov r8, qword [rsp + 0x78]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rbp + 0x18]
lea rcx, [rsp + 0x70]
call fcn.1400024e4
nop
mov rcx, qword [rsp + 0x78]
call fcn.1400233e4
nop
mov r8, qword [rsp + 0x58]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rbp + 0x18]
lea rcx, [rsp + 0x50]
call fcn.1400024e4
nop
mov rcx, qword [rsp + 0x58]
call fcn.1400233e4
nop
cmp qword [rbp - 0x20], 0x10
jb 0x140015671
mov rcx, qword [rbp - 0x38]
call fcn.1400233e4
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x28], r12
mov byte [rbp - 0x38], r12b
cmp qword [rbp - 0x48], 0x10
jb 0x14001568d
mov rcx, qword [rbp - 0x60]
call fcn.1400233e4
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x50], r12
mov byte [rbp - 0x60], r12b
mov edi, 4
jmp 0x140015890
mov qword [rbp + 8], rbx
mov qword [rbp], r12
mov byte [rbp - 0x10], r12b
mov r8, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x18]
lea rcx, [rbp - 0x10]
call fcn.140002348
nop
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x40]
call fcn.14001a76c
mov rdi, rax
mov rdx, rsi
lea rcx, [r13 + 0x20]
call fcn.14000a560
mov rcx, rax
mov rdx, rdi
call fcn.1400052c0
nop
cmp qword [rbp + 0x58], 0x10
jb 0x1400156f9
mov rcx, qword [rbp + 0x40]
call fcn.1400233e4
mov rdx, rsi
lea rcx, [r13 + 0x20]
call fcn.14000a560
cmp qword [rax + 0x10], r12
jne 0x1400157c1
cmp qword [rbp + 8], 0x10
jb 0x14001571f
mov rcx, qword [rbp - 0x10]
call fcn.1400233e4
mov edi, 0xf
mov qword [rbp + 8], rdi
mov qword [rbp], r12
mov byte [rbp - 0x10], r12b
lea rcx, [rbp + 0x18]
call fcn.1400054b8
nop
mov r8, qword [rsp + 0x78]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rbp + 0x18]
lea rcx, [rsp + 0x70]
call fcn.1400024e4
nop
mov rcx, qword [rsp + 0x78]
call fcn.1400233e4
nop
mov r8, qword [rsp + 0x58]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rbp + 0x18]
lea rcx, [rsp + 0x50]
call fcn.1400024e4
nop
mov rcx, qword [rsp + 0x58]
call fcn.1400233e4
nop
cmp qword [rbp - 0x20], 0x10
jb 0x140015794
mov rcx, qword [rbp - 0x38]
call fcn.1400233e4
mov qword [rbp - 0x20], rdi
mov qword [rbp - 0x28], r12
mov byte [rbp - 0x38], r12b
cmp qword [rbp - 0x48], 0x10
jb 0x1400157b0
mov rcx, qword [rbp - 0x60]
call fcn.1400233e4
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x50], r12
mov byte [rbp - 0x60], r12b
jmp 0x140015699
mov rdx, rsi
lea rcx, [r13 + 0x20]
call fcn.14000a560
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
mov rcx, r15
call fcn.14000278c
nop
cmp qword [rbp + 8], 0x10
jb 0x1400157f0
mov rcx, qword [rbp - 0x10]
call fcn.1400233e4
mov edi, 0xf
mov qword [rbp + 8], rdi
mov qword [rbp], r12
mov byte [rbp - 0x10], r12b
lea rcx, [rbp + 0x18]
call fcn.1400054b8
nop
mov r8, qword [rsp + 0x78]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rbp + 0x18]
lea rcx, [rsp + 0x70]
call fcn.1400024e4
nop
mov rcx, qword [rsp + 0x78]
call fcn.1400233e4
nop
mov r8, qword [rsp + 0x58]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rbp + 0x18]
lea rcx, [rsp + 0x50]
call fcn.1400024e4
nop
mov rcx, qword [rsp + 0x58]
call fcn.1400233e4
nop
cmp qword [rbp - 0x20], 0x10
jb 0x140015865
mov rcx, qword [rbp - 0x38]
call fcn.1400233e4
mov qword [rbp - 0x20], rdi
mov qword [rbp - 0x28], r12
mov byte [rbp - 0x38], r12b
cmp qword [rbp - 0x48], 0x10
jb 0x140015881
mov rcx, qword [rbp - 0x60]
call fcn.1400233e4
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x50], r12
mov byte [rbp - 0x60], r12b
mov edi, r12d
lea rcx, [rbp - 0x70]
call fcn.1400045a8
mov eax, edi
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.140022ee0
add rsp, 0x1d0
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret