Function at 0x14003e284
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, 0xf0
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 0x14003e2eb
cmp rsi, qword [rcx + 0x6a0]
je 0x14003e487
mov rcx, qword [rcx + 0x6a8]
xor r8d, r8d
xor edx, edx
call fcn.140095600
mov qword [rbx + 0x6a0], rsi
mov dword [rbx + 0x6b4], 0xe738a96
xor dword [rbx + 0x6b4], 0x29ec3853
sub dword [rbx + 0x6b4], 0x27430c2e
sub dword [rbx + 0x6b4], 0x5ca696
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.14003d2a0
mov edx, dword [rbp + 0x6f]
mov rcx, rsi
call fcn.14003d0a0
mov rdx, r14
mov rcx, rsi
call fcn.14003ce20
mov eax, dword [rbx + 0x518]
xor r13d, r13d
mov qword [rbp - 0x71], r13
mov r14d, r13d
movabs rdx, 0x338a17a74e71831f
xor rdx, 0x26037315
sub rdx, 0x481d5c46
add rdx, 0xb98ad4d
cmp eax, 1
jne 0x14003e684
cmp edi, eax
jne 0x14003e492
mov rax, qword [0x1404d0038]
movabs r13, 0x1f15ded16fc53e84
sub r13, 0x2d7e7aea
xor r13, 0x2b92d9b
add r13, 0x7fffffff
add r13, 0x26062d33
add rax, r13
movabs r14, 0xd44a91c07470f399
sub r14, 0xb854ba1
sub r14, 0x1938f6b6
sub r14, 0x16d77870
rol rax, 0xb
movabs r12, 0x64e79ec500a73d31
xor r12, 0xfe5dec8
add r12, 0x59de20b3
xor r12, 0x121ca200
add rax, r14
movabs rdi, 0x3638e3e52f49c36a
sub rdi, 0x25ed9343
add rdi, 0x6e6109cb
add rdi, 0x6727bc52
not rax
xor ecx, ecx
add rax, r12
xor rax, rdi
call rax
sub eax, dword [r15]
mov ecx, 0x5f36b83a
sub ecx, 0x162542b4
sub ecx, 0x399b2291
sub ecx, 0xf7652f4
cdq
sub eax, edx
sar eax, 1
mov dword [rbp - 0x71], eax
mov rax, qword [0x1404d0038]
add rax, r13
rol rax, 0xb
add rax, r14
not rax
add rax, r12
xor rax, rdi
call rax
sub eax, dword [r15 + 4]
cdq
sub eax, edx
sar eax, 1
xor r13d, r13d
jmp 0x14003e4b1
inc dword [rcx + 0x6b4]
jmp 0x14003e31a
test edi, edi
jne 0x14003e4b4
mov eax, 0x1fae5693
sub eax, 0x1cdd5a15
xor eax, 0x7560ff4
add eax, 0x7a790c76
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 0x14003e4f2
call fcn.1400382c0
mov rcx, rax
test rax, rax
je 0x14003e4f2
mov rax, qword [rax]
call qword [rax + 0xb8]
mov qword [rbp - 0x61], rax
mov rax, qword [rbx + 0x538]
xorps xmm0, xmm0
mov r13, qword [rbx + 0x578]
movabs rcx, 0x338a17a754f09c92
xor rcx, 0x3c7da6ed
add rcx, 0x5c809aa
xor rcx, 0x45bb0538
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.140016fc0
xor r9d, r9d
mov edx, 0x679bc86d
xor edx, 0x5a7b63
sub edx, 0x1c93b5d0
sub edx, 0x47868024
test r13, r13
je 0x14003e5be
mov rdi, rax
sub r12, rax
mov r8, r13
mov r10d, 0x55f9e414
add r10d, 0x1814f78
xor r10d, 0x577b3373
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 0x14003e59e
mov word [rax + r13*2], r9w
lea ecx, [r14 + 0x80080]
mov rax, qword [rbp - 0x31]
xor r13d, r13d
mov rdi, qword [0x1404d0028]
mov r9d, 0x7907b947
sub r9d, 0x2cce369f
sub r9d, 0x2c767388
add r9d, 0x603ef0e0
mov rdx, qword [rbp - 0x29]
xor r8d, r8d
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x50], rax
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]
ror rdi, 0x33
not rdi
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 0x71]
ror rdi, 0xd
not rdi
mov dword [rsp + 0x20], eax
ror rdi, 0x2c
call rdi
mov rcx, qword [rbp - 0x29]
mov r14, rax
lea rax, [rbp - 0x21]
cmp rcx, rax
jne 0x14003e666
xor eax, eax
lea rdi, [rbp - 0x21]
lea ecx, [rax + 0x30]
rep stosb byte [rdi], al
jmp 0x14003e66b
call fcn.1400bb460
test r14, r14
je 0x14003e87b
mov rdx, rsi
mov rcx, rbx
call fcn.14003de40
jmp 0x14003e804
cmp eax, 2
jne 0x14003e804
mov rcx, qword [rbx + 0x530]
mov rax, qword [0x1404d00a0]
xor rcx, rdx
movabs rdx, 0x19269fb35fa28a7a
sub rdx, 0x32de0df1
add rdx, 0xcd56675
sub rdx, 0x19aa5f2a
xor rax, rdx
movabs rdx, 0x56822c927b6a4cec
sub rdx, 0x1cb9043e
xor rdx, 0x74cce910
add rdx, 0x7fffffff
add rdx, 0x1451089
not rax
ror rax, 0x1c
sub rax, rdx
movabs rdx, 0x20c05b6d2f34fd3a
add rdx, 0x3d111487
add rdx, 0x7fffffff
add rdx, 0x13b603de
ror rax, 0x3b
xor rax, rdx
lea rdx, [rbp - 0x59]
not rax
call rax
cmp edi, 1
jne 0x14003e750
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 0x14003e7d0
mov rcx, qword [rbx + 0x5a0]
mov rax, qword [r12]
mov rdi, qword [rax + rcx*8 - 0x10]
cmp rdi, qword [rbx + 0x688]
je 0x14003e79f
lea rdx, [rbp + 0xf]
mov rcx, rdi
call fcn.14004e820
mov rcx, rdi
mov edx, dword [rax]
neg edx
add edx, 0xffffffb0
neg edx
mov dword [rbp - 0x71], edx
lea rdx, [rbp + 0x17]
call fcn.14004e820
mov ecx, dword [rax + 4]
sub ecx, 0xffffffd8
mov dword [rbp - 0x6d], ecx
jmp 0x14003e7d0
mov dword [rbp - 0x71], 0x6146ba0d
add dword [rbp - 0x71], 0x4337be0
add dword [rbp - 0x71], 0x135005a6
sub dword [rbp - 0x71], 0x78ca3b7f
mov dword [rbp - 0x6d], 0x2a16c4c4
sub dword [rbp - 0x6d], 0x1468ba6e
sub dword [rbp - 0x6d], 0x15ae0a2e
mov edx, 0x18a620d9
xor edx, 0x728e4a50
add edx, 0x53250a4
xor edx, 0x6f5abe8d
mov rax, rbx
mov rcx, rsi
mov rdx, qword [rdx + rbx]
dec rdx
call fcn.140044760
mov rdx, rsi
mov rcx, rbx
call fcn.14003eea4
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 0x14003ea8d
mov r8, r14
mov rdx, rsi
mov rcx, rbx
call fcn.14003eb3c
test al, al
jne 0x14003e88e
mov rax, qword [0x1404d0030]
movabs rcx, 0x3dcf56a05e8aa281
sub rcx, 0x2e8f7a2c
add rcx, 0x7fffffff
add rcx, 0x15903e72
ror rax, 7
not rax
sub rax, rcx
mov rcx, r14
ror rax, 0x22
call rax
mov rdx, rsi
mov rcx, rbx
call fcn.14003ec20
mov rsi, r13
jmp 0x14003ead1
mov rax, qword [0x1404d00c0]
movabs rcx, 0x2beea5bc3d99fd17
add rcx, 0x21289b50
xor rcx, 0x24b0a80c
xor rax, rcx
xor edx, edx
not rax
movabs rcx, 0x1ecab0ee40d8db6f
add rcx, 0x80d63dc
xor rcx, 0x1f01668a
sub rcx, 0x16b97c55
sub rax, rcx
mov r8d, 0x10915ae6
add r8d, 0x333ee5ce
xor r8d, 0x6f47aad1
xor r8d, 0x2c97ea9a
ror rax, 0x35
movabs rcx, 0x47c0886c7a4b90ae
sub rcx, 0xba9bf2a
sub rcx, 0x55ae8e63
add rcx, 0x7fffffff
xor rcx, 0x16b404bb
xor rax, rcx
lea r9d, [rdx + 2]
not rax
mov rcx, r14
call rax
movabs rax, 0x338a17a74ea5fecf
sub rax, 0x3f8695d8
sub rax, 0xf4559
add rax, 0x1cde1d73
cmp qword [rbx + 0x760], rax
je 0x14003e9bb
mov eax, dword [r15]
lea rdx, [rbp - 0x49]
and qword [rbp - 0x49], 0
movabs rcx, 0xac5bdbd27004eea8
sub rcx, 0x2ecba765
xor rcx, 0x5a4ef12b
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, 0x41ad96705cb29079
xor rcx, 0x1787bb3
sub rcx, 0x451f6448
ror rax, 0x20
not rax
rol rax, 0x3d
sub rax, rcx
mov rcx, r14
ror rax, 0xd
call rax
mov rax, qword [0x1404d00c8]
movabs rcx, 0x50af61d243b4300e
add rcx, 0xea10ed5
xor rcx, 0x14066c02
add rcx, 0x2b36266a
xor rax, rcx
movabs rcx, 0x2d2b70a40e8a7a1e
add rcx, 0xeee85af
xor rcx, 0x5d1251cd
add rcx, 0x7fffffff
xor rcx, 0x1da23b88
add rax, rcx
mov rcx, r14
ror rax, 0x2c
not rax
call rax
mov rax, qword [0x1404d00d0]
movabs rcx, 0x97c9cdb70598e4cb
xor rcx, 0x3e0341d8
add rcx, 0x3ed519ee
add rcx, 0x2247a11f
rol rax, 0x28
mov edx, 0x68641a53
xor edx, 0x27eb07e2
add edx, 0x583309c
xor edx, 0x55124e48
xor rax, rcx
movabs rcx, 0xae6846073a0677ab
add rcx, 0x11eab126
xor rcx, 0x19d86f32
sub rcx, 0x161e1d93
rol rax, 0xe
add rax, rcx
mov rcx, r14
call rax
jmp 0x14003ead1
cmp eax, 2
jne 0x14003ead1
mov rdx, qword [rbx + 0x580]
test rdx, rdx
je 0x14003eaaf
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 0x14003ead1
mov rcx, qword [rbx + 0x688]
mov rdx, rsi
call fcn.1400552d0
or ecx, 0xffffffff
add dword [rbx + 0x6b4], ecx
jne 0x14003eb0e
mov qword [rbx + 0x6a0], r13
mov eax, ecx
lock xadd dword [rbx + 0x6b0], eax
add eax, ecx
cmp eax, ecx
je 0x14003eb15
mov rcx, qword [rbx + 0x6a8]
xor edx, edx
call fcn.1400955a0
jmp 0x14003eb15
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