Function at 0x140037e50
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
push rbx
push rbp
push rsi
mov dword [rsp - 0xc], 0x324eac84
push rdi
push r12
push r13
mov dword [rsp - 0x44], 0x146ba532
push r14
sub rsp, 0x30
xor ebp, ebp
mov qword [rdx + 0x18], 0x43f730e0
mov rdi, rdi
xor qword [rdx + 0x18], 0xd4e639a
sub qword [rdx + 0x18], 0x173b821d
xor qword [rdx + 0x18], 0x412e0bb9
xchg r13, r13
sub qword [rdx + 0x18], 0x85aa78
xor qword [rdx + 0x18], 0x5bed2eca
sub qword [rdx + 0x18], 0x2e231ea5
lea rdi, [rcx + 0xd8]
mov dword [rsp - 0x20], 0x7dc86350
mov qword [rdx], rbp
mov qword [rdx + 8], rbp
mov r12, rdx
mov qword [rdx + 0x10], rbp
mov dword [rsp - 0x38], edi
mov r13, rcx
mov rsi, qword [rdi + 8]
cmp rsi, 4
mov dword [rsp - 0x38], 0x30a7ba49
jbe 0x140037eec
mov rdi, qword [rdi]
lea rcx, [rsi + 1]
mov eax, 0x22125161
mov dword [rsp - 0x24], 0x109b6d4e
sub eax, 0x1b9064b0
xor eax, 0x1ef11908
add eax, 0x1c48907
sub eax, 0x1a357ebe
mov dword [rsp - 0x28], 0x5b0fe806
mul rcx
pushf
movabs rcx, 0xffffffff6a8697ef
sub rcx, 0x5d8934a1
mov dword [rsp - 0x40], edx
xor rcx, 0x6cbd4927
xor rcx, 0x20da7144
sub rcx, 0x8a24cad
add rcx, 0x7fffffff
mov dword [rsp - 0x1c], ebx
xor rcx, 0x4807f180
popf
cmovo rax, rcx
mov dword [rsp - 0x40], edx
mov rcx, rax
call fcn.140072200
mov qword [rsp + 0x70], rax
mov rbx, rax
xchg r12, r12
mov r8, rbp
test rsi, rsi
je 0x140037fe3
mov rdx, rax
mov r8, r8
sub rdi, rax
nop word [rax + rax]
movzx ecx, r8b
mov dword [rsp - 0x18], ebp
lea rdx, [rdx + 2]
and cl, 3
mov eax, 0x7a560288
xchg rcx, rcx
sub eax, 0x5b942104
add eax, 0x3a931799
sub eax, 0x6743b86
xor eax, 0x3c1e3f2
mov dword [rsp - 0x24], 0x42a596d2
shl cl, 3
inc r8
sar eax, cl
movsx eax, al
mov rbx, rbx
xor ax, word [rdi + rdx - 2]
mov word [rdx - 2], ax
cmp r8, rsi
jb 0x140037f91
mov r9, r9
mov word [rbx + rsi*2], bp
mov r14, rbx
cmp word [rbx], bp
xchg rbp, rbp
je 0x140038349
mov qword [rsp + 0x88], r15
nop
movabs rbx, 0xffffffff1271fbdd
mov r15, r15
xor rbx, 0x3a358251
add rbx, 0x261afc1
sub rbx, 0x9806df5
xchg r9, r9
add rbx, 0x15e19435
add rbx, 0x7fffffff
add rbx, 0x48f8b073
mov rcx, rcx
nop dword [rax + rax]
mov edx, 0x7fbeed76
xor edx, 0x26f1e042
xor edx, 0x7700571d
mov rsp, rsp
sub edx, 0x14e8c4f2
xor edx, 0x738f614
add edx, 0x1811914
sub edx, 0x1fdf7c2d
xchg rsi, rsi
mov rcx, r14
call 0x140072ac0
mov r15, rax
mov dword [rsp - 0x2c], 0x24164901
test rax, rax
je 0x14003809a
mov rbp, rax
mov dword [rsp - 0x3c], ebx
sub rbp, r14
sar rbp, 1
jmp 0x1400380ab
mov rbp, rbx
inc rbp
cmp word [r14 + rbp*2], 0
xchg r15, r15
jne 0x14003809d
lea rdi, [rbp + 1]
mov eax, 0x1a1eff1b
add eax, 0x7a3bf19
xchg r9, r9
xor eax, 0x6cc48328
sub eax, 0x1554d96b
add eax, 0xcba820e
xchg r8, r8
sub eax, 0x2066ab1e
sub eax, 0x24053a9f
mul rdi
xchg rsp, rsp
cmovo rax, rbx
mov rcx, rax
call fcn.140072200
mov r9, rbp
xchg r8, r8
mov r8, r14
mov rdx, rdi
mov rcx, rax
mov rsi, rax
mov dword [rsp - 0x2c], 0x54a7cbd
call fcn.140072bb0
cmp byte [r13 + 0xf8], 0
je 0x1400381f1
mov r9, r9
xor ebp, ebp
nop word [rax + rax]
lea rdx, [rsp + 0x78]
mov dword [rsp - 0xc], edx
mov rcx, r13
call fcn.14004fd40
mov rcx, qword [rsp + 0x80]
mov rdx, rsi
mov rdx, rdx
mov rdi, rax
call fcn.1400317a0
cmp eax, dword [rdi]
jle 0x1400381f1
mov rcx, rcx
mov edx, 0x29eacd03
add edx, 0x2e7b4171
sub edx, 0x25ff2780
add edx, 0xc21867b
mov dword [rsp - 0xc], 0x104ca9ff
add edx, 0x1d631712
sub edx, 0x55bcb819
xor edx, 0x62ecc48
mov rcx, rsi
mov dword [rsp - 0x28], 0x7a023e25
call fcn.140072c80
test rax, rax
jne 0x1400381cc
mov rax, rbx
xchg r14, r14
nop dword [rax]
inc rax
cmp word [rsi + rax*2], bp
mov dword [rsp - 0x34], 0x48b7355d
jne 0x1400381ab
cmp rax, 1
jbe 0x1400381ee
dec rax
xchg r13, r13
lea rax, [rsi + rax*2]
mov word [rax], bp
sub rax, rsi
sar rax, 1
mov r11, r11
lea r15, [r14 + rax*2]
cmp byte [r13 + 0xf8], bpl
jne 0x140038126
mov r15, r15
jmp 0x1400381f1
mov r15, rbp
xor ebp, ebp
mov rcx, rbx
mov qword [rsp + 0x20], rbp
mov dword [rsp - 0x24], 0x45b58518
nop dword [rax + rax]
inc rcx
cmp word [rsi + rcx*2], bp
mov rsp, rsp
jne 0x140038208
mov qword [rsp + 0x28], rcx
lea rdx, [rsp + 0x20]
cmp rcx, 4
xchg rdi, rdi
jbe 0x14003826e
mov eax, 0xe59dd58
sub eax, 0xdafa43f
add eax, 0x7e4593bc
xchg r15, r15
sub eax, 0x7435276d
sub eax, 0xabaa566
mul rcx
mov dword [rsp - 0x20], esi
cmovo rax, rbx
mov rcx, rax
call fcn.140072200
xchg r10, r10
mov rdx, rax
mov qword [rsp + 0x20], rax
mov r8, rbp
mov dword [rsp - 0x34], 0x2ae17222
jmp 0x14003827a
mov r8, rbp
test rcx, rcx
mov dword [rsp - 0x40], edi
je 0x1400382e1
mov r9, rsi
sub r9, rdx
mov rsi, rsi
nop dword [rax + rax]
movzx ecx, r8b
lea rdx, [rdx + 2]
mov dword [rsp - 0xc], 0x2aff6693
and cl, 3
mov eax, 0x57037f9c
xor eax, 0x7ace3a80
mov dword [rsp - 0xc], esp
xor eax, 0x30200d12
add eax, 0x32d490d2
add eax, 0x5f8585
shl cl, 3
xchg rbx, rbx
inc r8
sar eax, cl
movsx eax, al
mov dword [rsp - 0x3c], ebp
xor ax, word [r9 + rdx - 2]
mov word [rdx - 2], ax
cmp r8, qword [rsp + 0x28]
xchg rbp, rbp
jb 0x14003828b
lea rdx, [rsp + 0x20]
mov rcx, r12
mov r12, r12
call fcn.140037980
cmp qword [rsp + 0x28], 4
jbe 0x140038306
xchg r10, r10
mov rcx, qword [rsp + 0x20]
call fcn.140072210
mov rcx, rsi
mov dword [rsp - 0x1c], 0x329a097
call fcn.140072210
test r15, r15
je 0x140038339
xchg rdx, rdx
cmp byte [r13 + 0xf8], bpl
je 0x140038339
cmp word [r15 + 2], bp
mov r8, r8
lea r14, [r15 + 2]
jne 0x140038044
mov rbx, qword [rsp + 0x70]
mov r15, qword [rsp + 0x88]
xchg rbx, rbx
mov rcx, rbx
call fcn.140072210
mov rax, r12
add rsp, 0x30
mov rsp, rsp
pop r14
pop r13
pop r12
pop rdi
mov dword [rsp - 0x44], ebp
pop rsi
pop rbp
pop rbx
ret