Function at 0x14003b350
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x47]
sub rsp, 0x58666cf4
add rsp, 0x58666c04
mov rax, qword gs:[0x30]
mov edi, r9d
mov r15, r8
mov r14, rdx
mov rbx, rcx
mov rsi, qword [rax + 0x48]
lock inc dword [rcx + 0x6b0]
je 0x14003b3be
cmp rsi, qword [rcx + 0x6a0]
je 0x14003b509
mov rcx, qword [rcx + 0x6a8]
xor r8d, r8d
xor edx, edx
call fcn.14005d300
mov qword [rbx + 0x6a0], rsi
mov dword [rbx + 0x6b4], 0x3903df91
add dword [rbx + 0x6b4], 0x374eded1
xor dword [rbx + 0x6b4], 0x7052be63
mov rcx, qword [rbx + 0x510]
mov rax, qword [rcx]
call qword [rax + 8]
lea r12, [rbx + 0x598]
mov qword [rbp - 0x39], rax
mov rcx, r12
lea rdx, [rbp - 0x39]
mov rsi, rax
call fcn.14003a2d0
mov edx, dword [rbp + 0x6f]
mov rcx, rsi
call fcn.140050620
mov rdx, r14
mov rcx, rsi
call fcn.1400503c0
mov eax, dword [rbx + 0x518]
xor r13d, r13d
mov qword [rbp - 0x71], r13
mov r14d, r13d
movabs rdx, 0xf36add4e2b708f
sub rdx, 0xefeb7d
sub rdx, 0x2db069d6
cmp eax, 1
jne 0x14003b741
cmp edi, eax
jne 0x14003b514
mov rax, qword [0x1400ee018]
movabs r14, 0x7f2724320bc1c70b
xor r14, 0x4dca0d77
xor r14, 0x3b6a1c91
add r14, 0x7fffffff
sub r14, 0x48af630b
ror rax, 0x25
movabs r12, 0x3e65c03621355551
add r12, 0x456c43b6
add r12, 0x7fffffff
sub r12, 0x49ca5fac
sub rax, r14
movabs rdi, 0x79793a245df91e6a
xor rdi, 0x63bae070
add rdi, 0x185007ba
ror rax, 6
xor ecx, ecx
xor rax, r12
add rax, rdi
call rax
sub eax, dword [r15]
lea ecx, [r13 + 1]
cdq
sub eax, edx
sar eax, 1
mov dword [rbp - 0x71], eax
mov rax, qword [0x1400ee018]
ror rax, 0x25
sub rax, r14
ror rax, 6
xor rax, r12
add rax, rdi
call rax
sub eax, dword [r15 + 4]
cdq
sub eax, edx
sar eax, 1
jmp 0x14003b533
inc dword [rcx + 0x6b4]
jmp 0x14003b3e3
test edi, edi
jne 0x14003b536
mov eax, 0x6490f757
add eax, 0x2e21480
sub eax, 0x54d4f01d
add eax, 0x6d61e446
mov dword [rbp - 0x71], eax
mov dword [rbp - 0x6d], eax
mov al, byte [rbp + 0x77]
mov rcx, qword [rbp + 0x7f]
neg al
mov qword [rbp - 0x61], r13
sbb r14d, r14d
and r14d, 0x3ff80
test rcx, rcx
je 0x14003b574
call fcn.1400438b0
mov rcx, rax
test rax, rax
je 0x14003b574
mov rax, qword [rax]
call qword [rax + 0xb0]
mov qword [rbp - 0x61], rax
mov rax, qword [rbx + 0x538]
xorps xmm0, xmm0
mov r13, qword [rbx + 0x578]
movabs rcx, 0xf36add0ef786f8
xor rcx, 0x1066644f
add rcx, 0x10cedceb
sub rcx, 0xfd5a466
mov r12, qword [rbx + 0x540]
xor rax, rcx
mov qword [rbp - 0x31], rax
lea rcx, [rbp - 0x29]
mov eax, dword [r15 + 4]
mov dword [rbp + 0x4f], eax
lea rdx, [r13 + 1]
mov eax, dword [r15]
mov dword [rbp - 0x69], eax
lea rax, [rbp - 0x21]
mov qword [rbp - 0x29], rax
movups xmmword [rbp - 0x21], xmm0
movups xmmword [rbp - 0x11], xmm0
movups xmmword [rbp - 1], xmm0
call fcn.140016760
xor r9d, r9d
mov edx, 0x2f32ab93
add edx, 0x1ddc07b6
sub edx, 0x1ffa7a7e
test r13, r13
je 0x14003b63a
mov rdi, rax
sub r12, rax
mov r8, r13
mov r10d, 0x33b737bf
add r10d, 0x7ab2bdf
sub r10d, 0x3b62629f
movzx ecx, dx
ror edx, 8
and cx, r10w
xor cx, word [r12 + rdi]
mov word [rdi], cx
lea rdi, [rdi + 2]
sub r8, 1
jne 0x14003b61a
mov word [rax + r13*2], r9w
lea ecx, [r14 + 0x80080]
mov rdx, qword [rbp - 0x29]
movabs rax, 0x77a9e74d150f2711
sub rax, 0x119da759
add rax, 0x20f8deb9
sub rax, 0x187048a3
xor r13d, r13d
movabs rdi, 0x1d81d28b0881528e
sub rdi, 0xdcaa10
add rdi, 0x5d1d740d
add rdi, qword [0x1400ee008]
mov r9d, 0x40ffe33e
sub r9d, 0xde737c5
xor r9d, 0xb31aab79
mov qword [rsp + 0x58], r13
xor r8d, r8d
ror rdi, 0x13
add rdi, rax
movabs rax, 0x7d19fe23555a1be9
add rax, 0x25e9a04c
add rax, 0x2e2d1ad2
not rdi
add rdi, rax
mov rax, qword [rbp - 0x31]
mov qword [rsp + 0x50], rax
not rdi
mov rax, qword [rbp - 0x61]
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x40], rax
mov eax, dword [rbp + 0x4f]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp - 0x69]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x6d]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 0x71]
mov dword [rsp + 0x20], eax
call rdi
mov rcx, qword [rbp - 0x29]
mov r14, rax
lea rax, [rbp - 0x21]
cmp rcx, rax
jne 0x14003b723
xor eax, eax
lea rdi, [rbp - 0x21]
lea ecx, [rax + 0x30]
rep stosb byte [rdi], al
jmp 0x14003b728
call fcn.140092c10
test r14, r14
je 0x14003b95e
mov rdx, rsi
mov rcx, rbx
call fcn.14003aec0
jmp 0x14003b8aa
cmp eax, 2
jne 0x14003b8aa
mov rcx, qword [rbx + 0x530]
mov rax, qword [0x1400ee080]
xor rcx, rdx
movabs rdx, 0xf70ed5282131ce68
add rdx, 0xb4300f3
add rdx, 0x2f62409
add rdx, 0x7fffffff
sub rdx, 0x250092e0
add rax, rdx
movabs rdx, 0x75c32bd333e2f9ef
xor rdx, 0x56ebe2a7
add rdx, 0x7fffffff
sub rdx, 0xd973466
ror rax, 0x1f
add rax, rdx
lea rdx, [rbp - 0x59]
ror rax, 0x27
not rax
ror rax, 0x28
call rax
cmp edi, 1
jne 0x14003b7ec
mov eax, dword [rbp - 0x51]
sub eax, dword [r15]
sub eax, dword [rbp - 0x59]
cdq
sub eax, edx
sar eax, 1
mov dword [rbp - 0x71], eax
mov eax, dword [rbp - 0x4d]
sub eax, dword [r15 + 4]
sub eax, dword [rbp - 0x55]
cdq
sub eax, edx
sar eax, 1
mov dword [rbp - 0x6d], eax
jmp 0x14003b87c
mov rcx, qword [rbx + 0x5a0]
mov rax, qword [r12]
mov rdi, qword [rax + rcx*8 - 0x10]
cmp rdi, qword [rbx + 0x688]
je 0x14003b84b
lea rdx, [rbp + 0xf]
mov rcx, rdi
call fcn.1400447e0
mov rcx, rdi
mov edx, dword [rax]
nop
add edx, 0xfce47ad
sub edx, 0xfce475d
mov dword [rbp - 0x71], edx
lea rdx, [rbp + 0x17]
call fcn.1400447e0
mov ecx, dword [rax + 4]
nop
add ecx, 0x471826f0
sub ecx, 0x471826c8
mov dword [rbp - 0x6d], ecx
jmp 0x14003b87c
mov dword [rbp - 0x71], 0x73420fb
xor dword [rbp - 0x71], 0x4b69cf3c
sub dword [rbp - 0x71], 0x4c5defb3
mov dword [rbp - 0x6d], 0x7e711377
xor dword [rbp - 0x6d], 0x4d6c8d8b
add dword [rbp - 0x6d], 0x147c9e83
xor dword [rbp - 0x6d], 0x479a3d57
mov edx, 0x2b750371
sub edx, 0xae05e2d
xor edx, 0x2094a0e4
mov rax, rbx
mov rcx, rsi
mov rdx, qword [rbx + rdx]
dec rdx
call fcn.14004e8e0
mov rdx, rsi
mov rcx, rbx
call fcn.14003bfe8
mov rax, qword [rsi]
lea rdx, [rbp - 0x71]
mov rcx, rsi
call qword [rax + 0x38]
mov rax, qword [rsi]
mov rdx, r15
mov rcx, rsi
call qword [rax + 0x40]
mov eax, dword [rbx + 0x518]
cmp eax, 1
jne 0x14003bbde
mov r8, r14
mov rdx, rsi
mov rcx, rbx
call fcn.14003bc8c
test al, al
jne 0x14003b971
mov rdx, qword [0x1400ee010]
movabs rcx, 0x52cf8ce079294eae
xor rcx, 0x5a68148c
sub rcx, 0x917fdfc
add rcx, 0x7fffffff
xor rcx, 0x704984a0
add rdx, rcx
movabs rax, 0xf3f16c2d3df2ac63
xor rax, 0x19182ea4
add rax, 0x1a2eb368
add rax, 0x7fffffff
add rax, 0x326c0e56
xor rdx, rax
mov rcx, r14
movabs rax, 0x46c57db4543c74ca
xor rax, 0x1c8eb84
xor rax, 0x59cc192
sub rdx, rax
not rdx
call rdx
mov rdx, rsi
mov rcx, rbx
call fcn.14003bd70
mov rsi, r13
jmp 0x14003bc22
mov rax, qword [0x1400ee0a0]
movabs rcx, 0x1aecc8b22c4ebcb2
xor rcx, 0x5aa3400e
add rcx, 0x7fffffff
xor rcx, 0x2c9353b
xor rax, rcx
xor edx, edx
movabs rcx, 0x7a612c417a6d7ad4
sub rcx, 0x6c8786dd
add rcx, 0x7fffffff
add rcx, 0x71659601
mov r8d, 0x19cb6adb
add r8d, 0x4d4357dc
sub r8d, 0x670ec1b8
add rax, rcx
movabs rcx, 0xad3a1f9d3fb124ea
add rcx, 0x23ba1666
add rcx, 0x4b4c4e20
rol rax, 0x1a
add rax, rcx
lea r9d, [rdx + 2]
movabs rcx, 0x5fa2688f1527434b
sub rcx, 0x234ff1b
add rcx, 0x1ac829bf
add rcx, 0x7fffffff
add rcx, 0x40119daf
xor rax, rcx
mov rcx, r14
not rax
rol rax, 0x3a
call rax
movabs rax, 0xf36add105cdc00
xor rax, 0x67bb63
add rax, 0x21665a3c
sub rax, 0x1216a663
cmp qword [rbx + 0x760], rax
je 0x14003bac4
mov eax, dword [r15]
lea rdx, [rbp - 0x49]
and qword [rbp - 0x49], 0
movabs rcx, 0x3ef3e2360bd4ce4f
add rcx, 0xf507f46
sub rcx, 0xfbb31af
mov dword [rbp - 0x41], eax
mov eax, dword [r15 + 4]
mov dword [rbp - 0x3d], eax
mov rax, qword [rbx + 0x770]
xor rax, rcx
movabs rcx, 0x471db16423c9cc
sub rcx, 0x1672ec9d
add rcx, 0x3020e2e5
add rcx, 0x7fffffff
xor rcx, 0x698e73a
rol rax, 0xd
xor rax, rcx
mov rcx, r14
not rax
ror rax, 0x12
call rax
mov rax, qword [0x1400ee0a8]
movabs rcx, 0x7c4610083926ed38
sub rcx, 0xea161ed
add rcx, 0x41c60005
xor rcx, 0x86ffd30
xor rax, rcx
movabs rcx, 0x7dc691b507bf95e7
xor rcx, 0x713a651
add rcx, 0xb2f5d5e
add rcx, 0x5651f304
add rax, rcx
movabs rcx, 0x24f3bdf171069520
sub rcx, 0x2c6a154b
add rcx, 0x58f8419d
not rax
sub rax, rcx
mov rcx, r14
ror rax, 1
call rax
mov rax, qword [0x1400ee0b0]
movabs rcx, 0xc2ecf381cde96f0
add rcx, 0x39ae8f49
xor rcx, 0x24cf6601
sub rcx, 0x67a1a57b
xor rax, rcx
mov edx, 0x544f5232
xor edx, 0x46872efc
xor edx, 0x1af60ba6
xor edx, 0x83e776d
movabs rcx, 0x1a3fd1f649a15f06
xor rcx, 0x558fac
add rcx, 0x44f613a7
sub rax, rcx
movabs rcx, 0xdcfe059a60f589bb
sub rcx, 0x8ad5103
xor rcx, 0x40f6ddbd
ror rax, 0x1e
add rax, rcx
movabs rcx, 0x27b8d1763b3c965d
xor rcx, 0x776dbf29
sub rcx, 0x274116be
sub rcx, 0x168923a8
not rax
add rax, rcx
mov rcx, r14
call rax
jmp 0x14003bc22
cmp eax, 2
jne 0x14003bc22
mov rdx, qword [rbx + 0x580]
test rdx, rdx
je 0x14003bc00
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x20]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
cmp byte [rbp + 0x77], r13b
je 0x14003bc22
mov rcx, qword [rbx + 0x688]
mov rdx, rsi
call fcn.1400529d0
or ecx, 0xffffffff
add dword [rbx + 0x6b4], ecx
jne 0x14003bc5f
mov qword [rbx + 0x6a0], r13
mov eax, ecx
lock xadd dword [rbx + 0x6b0], eax
add eax, ecx
cmp eax, ecx
je 0x14003bc66
mov rcx, qword [rbx + 0x6a8]
xor edx, edx
call fcn.14005d2c0
jmp 0x14003bc66
lock add dword [rbx + 0x6b0], ecx
lea r11, [rsp + 0xf0]
mov rax, rsi
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret