Function at 0x1404a3c24
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp - 8], rbp
sub rsp, 8
nop
push 0x18b8cbaa
mov qword [rsp], rbx
nop
push 0x635a7d3a
mov qword [rsp], r12
nop
sub rsp, 8
mov qword [rsp], r13
nop
sub rsp, 8
mov qword [rsp], r14
lea rbp, [rsp - 0xb0]
sub rsp, 0x7b9a4647
add rsp, 0x7b9a4497
xor r13d, r13d
mov dword [rsp - 0x20], edi
lea rdx, [rsp + 0x68]
mov dword [rbp + 0xe0], r13d
xorps xmm0, xmm0
mov rdx, rdx
xchg r12, rcx
mov rcx, r12
xchg rcx, r12
mov dword [rsp + 0x50], 0x60fc20e1
sub dword [rsp + 0x50], 0x25fce2a4
add dword [rsp + 0x50], 0x882a1dc
xor dword [rsp + 0x50], 0x7139fa56
xor dword [rsp + 0x50], 0x1ac72ae9
lea rcx, [rsp + 0x68]
mov dword [rsp - 0x38], ecx
mov dword [rsp + 0x54], 0x9178ce1
sub dword [rsp + 0x54], 0x9110d1a
add dword [rsp + 0x54], 0x5905fce
xor dword [rsp + 0x54], 0x27555fc3
sub dword [rsp + 0x54], 0x25158c1
mov dword [rsp + 0x58], 0x23de1014
add dword [rsp + 0x58], 0x3ab7fecf
xor dword [rsp + 0x58], 0x37c15723
xor dword [rsp + 0x58], 0x1a81a8a8
sub dword [rsp + 0x58], 0x4b6bc08c
mov eax, 0x57d972c1
sub eax, 0x37d032d0
add eax, 0x4a5bf5b0
sub eax, 0x2d1f7824
xor eax, 0x3d45bd71
mov qword [rsp + 0x60], rcx
mov r14d, r13d
mov dword [rsp - 0x44], ebp
mov qword [rbp - 0x68], rax
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x78], xmm0
xchg rsi, rsi
xchg rbp, rsp
movups xmmword [rsp - 0x78], xmm0
xchg rsp, rbp
cmp rcx, rdx
mov dword [rsp - 0xc], 0x5a0bb97d
je 0x1404a3b24
call fcn.1400bc0d0
mov rax, qword [rbp - 0x68]
lea rdx, [rsp + 0x68]
xchg rsi, rsi
xorps xmm0, xmm0
mov qword [rsp + 0x60], rdx
xchg r13, rcx
mov r13, rcx
xchg r13, rcx
xchg rsp, r15
movups xmmword [r15 + 0x68], xmm0
xchg rsp, r15
xchg rdi, rsp
movups xmmword [rdi + 0x78], xmm0
xchg rsp, rdi
xchg rbp, r10
movups xmmword [r10 - 0x78], xmm0
xchg r10, rbp
test rax, rax
je 0x1404a3b8d
nop word [rax + rax]
xchg r13, r13
movzx eax, byte [rsp + rcx + 0x50]
mov word [rdx + rcx*2], ax
inc rcx
cmp rcx, qword [rbp - 0x68]
mov dword [rsp - 0x38], 0x411541b5
jb 0x1404a3b6f
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x1a0], rdi
xchg r15, r15
call fcn.14009b310
xchg rcx, r14
mov r14, qword [rsp + 0x60]
xchg rcx, r14
mov ebx, eax
lea rax, [rsp + 0x68]
mov dword [rsp - 0x3c], esp
cmp rcx, rax
jne 0x1404a3bef
lea rdi, [rsp + 0x68]
xor eax, eax
xchg rdx, rdx
mov ecx, 0x7f02acdd
sub ecx, 0x178ad883
sub ecx, 0x24bdec68
sub ecx, 0x25129be
xor ecx, 0x4068be04
rep stosb byte [rdi], al
jmp 0x1404a3bf4
call fcn.1400bc0d0
test ebx, ebx
mov dword [rsp - 0x40], ebp
je 0x1404a45b1
lea r8, [rbp + 0xe8]
mov edx, 0x6cd2ee4f
add edx, 0x6f44a27
xor edx, 0x642615d6
xor edx, 0x17e129b0
mov ecx, ebx
mov rsi, rsi
call fcn.14009cf70
test eax, eax
js 0x1404a45b1
mov rax, qword [0x1404e03f8]
xchg r10, r10
lea rdx, [rbp + 0xe0]
movabs rcx, 0x6318b2192ef57c07
xor rcx, 0x2edd7719
add rcx, 0x3174ecc8
add rcx, 0x7fffffff
add rcx, 0x2633dec1
xor rax, rcx
xchg r12, r12
movabs rcx, 0x743b6e3f0275dc92
xor rcx, 0x20e24260
add rcx, 0x471faa42
sub rcx, 0x1bf930a3
add rcx, 0x637c4957
ror rax, 2
ror rax, 2
ror rax, 4
not rax
ror rax, 0x26
ror rax, 6
ror rax, 1
ror rax, 1
xor rax, rcx
mov rsp, rsp
mov rcx, qword [rbp + 0xe8]
ror rax, 8
ror rax, 3
ror rax, 1
ror rax, 1
ror rax, 1
call rax
xchg r15, r15
test eax, eax
je 0x1404a45a5
cmp dword [rbp + 0xe0], r13d
jne 0x1404a45a5
mov dword [rsp - 0x28], esi
mov rdx, qword [rbp + 0xe8]
lea r8, [rbp - 0x60]
xchg r12, rdx
mov rcx, rdx
xchg rdx, r12
call 0x14049f960
mov rcx, rcx
test al, al
je 0x1404a45a5
mov rdx, qword [rbp - 0x60]
mov r14, r14
lea r8, [rbp + 0xf0]
mov rcx, qword [rbp + 0xe8]
mov r9d, 0x1f14d5be
add r9d, 0x3d3de352
sub r9d, 0x1cd9a681
add r9d, 0x1341820
sub r9d, 0x40ad2aa7
xchg rcx, r13
mov qword [rbp + 0xf0], rcx
xchg r13, rcx
xchg r13, rsi
mov qword [rsp + 0x20], rsi
xchg rsi, r13
call fcn.140094fa0
test eax, eax
mov dword [rsp - 0x18], esi
js 0x1404a45a5
mov rax, qword [rbp + 0xf0]
test rax, rax
je 0x1404a45a5
mov dword [rsp - 0x2c], 0x55a43255
mov edx, dword [rbp - 0x58]
lea r8, [rbp + 0xf0]
mov rcx, qword [rbp + 0xe8]
add rdx, rax
mov dword [rsp - 0x28], 0x3b924ae9
mov r9d, 0x7b654699
sub r9d, 0x7635849d
xor r9d, 0x4ce35c97
xor r9d, 0x49cc9d63
mov qword [rsp + 0x20], r13
call fcn.140094fa0
test eax, eax
mov dword [rsp - 0x44], esp
js 0x1404a45a5
mov rax, qword [rbp + 0xf0]
test rax, rax
je 0x1404a45a5
xchg r12, r12
mov edx, dword [rbp - 0x54]
lea r8, [rsp + 0x50]
xchg r15, rcx
mov r15, qword [rbp + 0xe8]
xchg rcx, r15
xorps xmm0, xmm0
mov dword [rsp - 0x34], 0x16910363
add rdx, rax
xchg r8, r13
mov qword [rsp + 0x20], r8
xchg r13, r8
mov r9d, 0x61022e62
sub r9d, 0x43532700
sub r9d, 0xb213392
add r9d, 0x4ff13154
xor r9d, 0x627f0534
xchg rbp, rsp
movups xmmword [rbp + 0x50], xmm0
xchg rsp, rbp
call fcn.140094fa0
test eax, eax
mov dword [rsp - 0x2c], esp
js 0x1404a45a5
mov qword [rsp + 0x1a8], rsi
xchg rsi, r15
mov r15, qword [rsp + 0x50]
xchg r15, rsi
cmp rsi, qword [rsp + 0x58]
mov dword [rsp - 0x3c], ebp
je 0x1404a459a
xchg r15, rdi
mov qword [rsp + 0x198], rdi
xchg rdi, r15
mov r15d, r13d
nop
mov dword [rsp - 0x2c], esi
cmp r15d, 4
jge 0x1404a4592
xchg r12, rcx
mov r12, qword [rbp + 0xe8]
xchg rcx, r12
lea r8, [rbp + 0xf0]
mov r9d, 0x6634e898
sub r9d, 0x2df28838
sub r9d, 0xc24ca57
add r9d, 0x40eea880
sub r9d, 0x6d0c3e81
mov qword [rsp + 0x20], r13
mov dword [rsp - 0x18], ebx
xchg rdx, r12
mov r12, rsi
xchg rdx, r12
call fcn.140094fa0
mov dword [rsp - 0xc], esp
test eax, eax
js 0x1404a456d
mov rdx, qword [rbp + 0xf0]
mov dword [rsp - 0x28], 0x67d5f2e0
test rdx, rdx
je 0x1404a456d
xchg r10, rcx
mov r10, qword [rbp + 0xe8]
xchg r10, rcx
lea r8, [rbp - 0x10]
mov r9d, 0x5a5364ae
add r9d, 0x21acd0cb
sub r9d, 0x44477840
sub r9d, 0x830f79
sub r9d, 0x3735ad28
xchg r14, r13
mov qword [rsp + 0x20], r14
xchg r13, r14
call fcn.140094fa0
mov dword [rsp - 0x1c], edx
test eax, eax
js 0x1404a456d
cmp dword [rbp - 0xc], r13d
je 0x1404a456d
mov dword [rsp - 0x30], 0x4d9c2cc9
mov edx, 0x209f46f9
add edx, 0x331344a3
xor edx, 0x3dbe4b03
xor edx, 0x7d94e5b9
xor edx, 0x13982519
lea rcx, [rbp + 8]
xchg r14, r14
call fcn.1400bd380
movsxd rcx, dword [rbp - 0xc]
cmp rax, rcx
jne 0x1404a456d
mov dword [rsp - 0x18], ebx
mov ecx, 0x483f3ad5
sub ecx, 0x1b70b9f0
sub ecx, 0x1b30e2b4
add ecx, 0x2fc0072
sub ecx, 0x14999e1b
xchg r8, r13
mov qword [rsp + 0x30], r8
xchg r13, r8
xchg r10, r13
mov qword [rsp + 0x38], r10
xchg r10, r13
mov qword [rsp + 0x40], r13
mov r9, r9
mov qword [rsp + 0x48], 0x72fcd6a4
sub qword [rsp + 0x48], 0x2edc0a7a
sub qword [rsp + 0x48], 0x3dbba6d
xor qword [rsp + 0x48], 0x404511bf
call fcn.1400bbf80
test rax, rax
je 0x1404a404a
mov rsp, rsp
mov edx, 0x58c8c9f3
sub edx, 0x71aa99a
xor edx, 0x48417ec2
add edx, 0x1233e894
sub edx, 0x2c234729
xchg rbx, rax
mov rcx, rbx
xchg rbx, rax
call fcn.1404afff0
mov dword [rsp - 0x10], 0x66a933ba
mov rbx, rax
jmp 0x1404a4053
xchg r13, rbx
mov r13, rbx
xchg r13, rbx
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1404a413b
xchg r11, r11
mov rax, qword [rsp + 0x40]
cmp rcx, rax
jb 0x1404a412b
mov dword [rsp - 0x28], edx
add rax, qword [rsp + 0x48]
mov qword [rsp + 0x40], rax
lea rcx, [rax*8]
mov dword [rsp - 0x18], esi
call fcn.1400bc380
xchg rcx, rbp
mov rbp, qword [rsp + 0x38]
xchg rcx, rbp
xchg rbp, rdi
mov rbp, rax
xchg rbp, rdi
mov rdx, r13
test rcx, rcx
mov dword [rsp - 0x40], ebx
je 0x1404a40f6
nop dword [rax]
nop word [rax + rax]
mov dword [rsp - 0x24], 0x49fc8ebb
mov rax, qword [rsp + 0x30]
xchg r13, rcx
mov r13, qword [rax + rdx*8]
xchg rcx, r13
mov qword [rdi + rdx*8], rcx
mov rdi, rdi
inc rdx
mov rcx, qword [rsp + 0x38]
cmp rdx, rcx
jb 0x1404a40cb
mov dword [rsp - 0x24], ecx
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x1404a4121
mov dword [rsp - 0x30], 0x5cae3ed6
xchg rcx, rax
mov rax, rcx
xchg rcx, rax
call fcn.1400bc0d0
mov dword [rsp - 0x20], edi
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x30], rdi
jmp 0x1404a418f
xchg rdi, r9
mov r9, qword [rsp + 0x30]
xchg rdi, r9
jmp 0x1404a418f
xchg r10, rdi
mov r10, qword [rsp + 0x30]
xchg rdi, r10
test rdi, rdi
mov dword [rsp - 0x34], esi
jne 0x1404a418f
mov rcx, qword [rsp + 0x48]
xchg rcx, r10
mov qword [rsp + 0x40], r10
xchg rcx, r10
lea rcx, [rcx*8]
mov dword [rsp - 0x34], esi
call fcn.1400bc380
xchg rcx, r9
mov r9, qword [rsp + 0x38]
xchg rcx, r9
xchg rdi, rax
mov rax, rdi
xchg rdi, rax
xchg rdx, rax
mov qword [rsp + 0x30], rdx
xchg rdx, rax
lea rax, [rdi + rcx*8]
mov rsp, rsp
inc rcx
mov qword [rsp + 0x38], rcx
mov ecx, 0x72c17259
sub ecx, 0x42491707
add ecx, 0x225bc05f
sub ecx, 0x52d41b29
mov qword [rax], rbx
mov dword [rsp - 0x38], edx
call fcn.1400bbf80
xchg rbx, rax
mov rax, rbx
xchg rbx, rax
test rax, rax
xchg r14, r14
je 0x1404a4327
xorps xmm0, xmm0
lea rax, [rbp - 0x48]
mov r10, r10
mov qword [rbp - 0x50], rax
or r14d, 1
lea rax, [rbp + 8]
nop
movabs rdx, 0xffffffff6dcc7755
sub rdx, 0x43bb6a3a
add rdx, 0xf8f5a44
add rdx, 0x7fffffff
add rdx, 0x465f98a1
xchg rbp, rdi
movups xmmword [rdi - 0x48], xmm0
xchg rbp, rdi
xchg rsp, rbp
movups xmmword [rsp - 0x38], xmm0
xchg rsp, rbp
movups xmmword [rbp - 0x28], xmm0
xchg r11, r11
nop dword [rax + rax]
inc rdx
cmp word [rax + rdx*2], r13w
jne 0x1404a4235
mov dword [rsp - 0x44], 0x5053d0e7
lea rcx, [rbp - 0x50]
xchg rdx, r13
mov qword [rbp - 0x18], r13
xchg r13, rdx
call fcn.140018ab0
mov dword [rsp - 0x1c], 0x213a09d3
mov rdx, rax
mov ecx, 0x62cb7548
sub ecx, 0x419fc7fb
xor ecx, 0x6434bb27
add ecx, 0x7f43f88
xchg r13, r12
mov rdi, r12
xchg r12, r13
cmp qword [rbp - 0x18], r13
jbe 0x1404a4304
mov r15, r15
lea r8, [rbp + 8]
mov r9d, 0x6ac708b0
xor r9d, 0x4df4fbae
add r9d, 0x457aa74e
sub r9d, 0x20eb0f22
xor r9d, 0x4bc38bb5
sub r8, rax
mov dword [rsp - 0x24], esp
nop word [rax + rax]
movzx eax, cx
lea rdx, [rdx + 2]
mov dword [rsp - 0x2c], 0x5f6a753b
and ax, r9w
ror ecx, 3
ror ecx, 5
xor ax, word [r8 + rdx - 2]
xchg rbp, rbp
inc rdi
mov word [rdx - 2], ax
cmp rdi, qword [rbp - 0x18]
xchg r13, r13
jb 0x1404a42ce
lea rdx, [rbp - 0x50]
xchg rbx, rcx
mov rbx, rcx
xchg rcx, rbx
call fcn.1404afe70
mov rsp, rsp
xchg rbx, r11
mov r11, rax
xchg rbx, r11
jmp 0x1404a4330
xchg r13, rsp
mov rbx, rsp
xchg r13, rsp
xchg rcx, r15
mov r15, qword [rsp + 0x38]
xchg r15, rcx
test rcx, rcx
mov dword [rsp - 0x40], edx
je 0x1404a4424
xchg rdx, rax
mov rdx, qword [rsp + 0x40]
xchg rdx, rax
cmp rcx, rax
jb 0x1404a4414
add rax, qword [rsp + 0x48]
mov rbx, rbx
xchg r15, rax
mov qword [rsp + 0x40], r15
xchg r15, rax
lea rcx, [rax*8]
mov r14, r14
call fcn.1400bc380
xchg rcx, r10
mov r10, qword [rsp + 0x38]
xchg rcx, r10
xchg rbp, rax
mov rdi, rbp
xchg rbp, rax
xchg rcx, r13
mov rdx, rcx
xchg r13, rcx
test rcx, rcx
mov dword [rsp - 0x10], 0x1253eed1
je 0x1404a43d6
xchg r10, rax
mov r10, qword [rsp + 0x30]
xchg r10, rax
mov rcx, qword [rax + rdx*8]
xchg r11, r11
mov qword [rdi + rdx*8], rcx
inc rdx
xchg rcx, r10
mov r10, qword [rsp + 0x38]
xchg r10, rcx
cmp rdx, rcx
jb 0x1404a43a7
mov dword [rsp - 0xc], edx
xchg rdx, rax
mov rdx, qword [rsp + 0x30]
xchg rdx, rax
test rax, rax
mov dword [rsp - 0x24], edx
je 0x1404a4406
xchg rcx, rax
mov rax, rcx
xchg rcx, rax
call fcn.1400bc0d0
xchg rsi, rsi
xchg r14, rcx
mov r14, qword [rsp + 0x38]
xchg r14, rcx
mov qword [rsp + 0x30], rdi
mov dword [rsp - 0x2c], edi
jmp 0x1404a446b
xchg rdi, r9
mov r9, qword [rsp + 0x30]
xchg r9, rdi
jmp 0x1404a446b
mov rdi, qword [rsp + 0x30]
test rdi, rdi
mov dword [rsp - 0x2c], 0x2d334a6a
jne 0x1404a446b
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x40], rcx
lea rcx, [rcx*8]
xchg rbp, rbp
call fcn.1400bc380
mov rcx, qword [rsp + 0x38]
xchg rdi, rbx
mov rbx, rax
xchg rdi, rbx
mov qword [rsp + 0x30], rax
mov dword [rsp - 0x44], esi
lea rax, [rdi + rcx*8]
inc rcx
xchg rcx, rdx
mov qword [rsp + 0x38], rdx
xchg rcx, rdx
mov qword [rax], rbx
mov rsp, rsp
test r14b, 1
je 0x1404a44e4
mov rcx, qword [rbp - 0x50]
mov dword [rsp - 0x2c], 0x178badb1
lea rax, [rbp - 0x48]
and r14d, 0xfffffffe
cmp rcx, rax
xchg rsi, rsi
jne 0x1404a44df
lea rdi, [rbp - 0x48]
xor eax, eax
mov ecx, 0x166dc75e
sub ecx, 0x5d6fcf3
xor ecx, 0x5534ea31
xor ecx, 0x4063c1cf
xor ecx, 0x5c1e1a5
rep stosb byte [rdi], al
mov dword [rsp - 0x10], 0x50587fe9
jmp 0x1404a44e4
call fcn.1400bc0d0
mov ecx, 0x43d41504
sub ecx, 0x138c8971
add ecx, 0x6dfbaec
add ecx, 0x1bda690d
sub ecx, 0x5301af04
call fcn.1400bbf80
test rax, rax
je 0x1404a4534
mov dword [rsp - 0x28], esp
xor r8d, r8d
lea rdx, [rsp + 0x30]
xchg r14, rax
mov rcx, r14
xchg r14, rax
call fcn.1404afca0
mov dword [rsp - 0x28], 0x4e9cbeb1
jmp 0x1404a453b
xchg rsi, rax
mov rsi, r13
xchg rsi, rax
lea rdx, [rbp + 0xf8]
mov qword [rbp + 0xf8], rax
xchg rcx, r12
mov r12, rcx
xchg rcx, r12
call fcn.1400bee00
mov rcx, qword [rsp + 0x30]
test rcx, rcx
mov rdi, rdi
je 0x1404a456d
call fcn.1400bc0d0
nop
add rsi, 0x2a01b00e
sub rsi, 0x2a01b006
inc r15d
mov dword [rsp - 0x30], 0x5ee39b90
cmp rsi, qword [rsp + 0x58]
jne 0x1404a3e8b
mov r15, qword [rsp + 0x198]
mov rsi, qword [rsp + 0x1a8]
mov r12, r12
mov rcx, qword [rbp + 0xe8]
call fcn.140094dd0
mov rdi, qword [rsp + 0x1a0]
mov rax, r12
mov dword [rsp - 0x40], 0x5f135fb7
sub rsp, 0xfffffffffffffe50
nop
add rsp, 8
mov r14, qword [rsp - 8]
pop r13
nop
add rsp, 8
mov r12, qword [rsp - 8]
pop rbx
mov dword [rsp - 0x18], ecx
nop
mov rbp, qword [rsp]
add rsp, 8
ret