Function at 0x140015940
Capabilities:
Encode data using xor

Disassembly:
push rbp
lea rbp, [rsp - 0x5d0]
sub rsp, 0x6d0
mov rax, qword [0x1400a4d00]
mov r15, r15
lea rcx, [rsp + 0x50]
xor rax, qword [0x1400a4ab0]
mov edx, 0x5b012ef
add edx, 0x500ff06f
mov dword [rsp - 0x14], 0x71cb04b9
sub edx, 0x3fbb3a19
xor edx, 0x697e9edc
xor edx, 0x7f7a569d
call rax
mov rsp, rsp
test eax, eax
je 0x1400160de
mov qword [rsp + 0x6e8], rbx
mov ecx, 0x48f3699f
mov dword [rsp - 0x3c], 0x67ec4543
xor ecx, 0x2b47672a
sub ecx, 0xe2bdc1e
xor ecx, 0x6029ac97
mov rdi, rdi
xor ecx, 0x35a19e14
mov qword [rsp + 0x6f0], rsi
mov qword [rsp + 0x6f8], rdi
mov qword [rsp + 0x6c8], r12
mov dword [rsp - 0x38], 0x494a18b8
mov qword [rsp + 0x6c0], r15
mov dword [rsp + 0x20], 0x4eb30e2f
sub dword [rsp + 0x20], 0x366ff97f
mov dword [rsp - 0x40], ebp
xor dword [rsp + 0x20], 0x35d12ea2
add dword [rsp + 0x20], 0x193c63d1
sub dword [rsp + 0x20], 0x32a03d91
mov r11, r11
xor dword [rsp + 0x20], 0x4ac42a0f
add dword [rsp + 0x20], 0x1e36c47c
mov dword [rsp + 0x24], 0xe4f575b
add dword [rsp + 0x24], 0x31ef6ec8
mov dword [rsp - 0x28], 0x4ad8e052
sub dword [rsp + 0x24], 0x219b9f19
add dword [rsp + 0x24], 0x226aa292
add dword [rsp + 0x24], 0x3c787953
mov r13, r13
sub dword [rsp + 0x24], 0x72183072
add dword [rsp + 0x24], 0x6fb92966
mov word [rsp + 0x28], 0x2b40
add word [rsp + 0x28], 0x4d6d
mov dword [rsp - 0x20], edi
sub word [rsp + 0x28], 0x11a8
sub word [rsp + 0x28], 0x4ef4
xor word [rsp + 0x28], 0x77f8
add word [rsp + 0x28], 0xdd7
mov dword [rsp - 0x2c], ebp
sub word [rsp + 0x28], 0x7ad3
mov qword [rsp + 0x38], 0x1ca58f19
add qword [rsp + 0x38], 0x459fe511
sub qword [rsp + 0x38], 0x39538148
xchg r15, r15
sub qword [rsp + 0x38], 0x26b72b8b
sub qword [rsp + 0x38], 0x23ac74d
call fcn.140073cf0
mov rsi, rsi
xor r15d, r15d
mov qword [rsp + 0x30], rax
mov edx, r15d
movsx ecx, byte [rsp + rdx + 0x20]
xchg rbp, rbp
mov word [rax + rdx*2], cx
inc rdx
mov rdi, qword [rsp + 0x38]
mov dword [rsp - 0x30], 0x6438a9bb
cmp rdx, rdi
jb 0x140015aef
cmp rdi, 4
mov r8, r8
lea rcx, [rdi + 1]
lea rsi, [rsp + 0x30]
pushf
mov rbp, rbp
mov eax, 0x28ed3d07
xor eax, 0x17f338d6
add eax, 0xf3a23be
xor eax, 0x6de03571
mov r14, r14
add eax, 0x401d7a16
sub eax, 0x63d59712
popf
mov rbx, rbx
cmova rsi, qword [rsp + 0x30]
nop
movabs r12, 0xffffffff38fb632f
xor r12, 0x78b61d8
xchg rcx, rcx
add r12, 0x2828e6d0
sub r12, 0x49a59fc7
add r12, 0x515b7eca
mov dword [rsp - 0x3c], 0x98a68d8
sub r12, 0x5b537b42
add r12, 0x7fffffff
xor r12, 0x6c04b278
mov r15, r15
mul rcx
cmovo rax, r12
mov rcx, rax
call fcn.140073cf0
mov dword [rsp - 0x2c], 0x70d528b1
mov rbx, rax
mov r9, r15
test rdi, rdi
je 0x140015c43
mov dword [rsp - 0x2c], 0x700d4536
mov r8, rax
sub rsi, rax
nop word [rax + rax]
mov dword [rsp - 0x28], ecx
movzx ecx, r9b
lea r8, [r8 + 2]
and cl, 3
mov dword [rsp - 0x44], ecx
mov edx, 0x3ee47e5
xor edx, 0x5766c44e
sub edx, 0x1d519aa6
mov r13, r13
xor edx, 0x58120444
sub edx, 0x678aa042
add edx, 0x69526562
xchg rcx, rcx
sub edx, 0x589953dc
shl cl, 3
inc r9
sar edx, cl
mov dword [rsp - 0x30], 0x33eacbc2
movsx eax, dl
xor ax, word [rsi + r8 - 2]
mov word [r8 - 2], ax
mov dword [rsp - 0x44], esi
cmp r9, rdi
jb 0x140015bde
mov r8, rbx
xchg r10, r10
mov word [rbx + rdi*2], r15w
mov edx, 0x6ff68fb2
sub edx, 0x2a9cce52
mov rsi, rsi
add edx, 0x15f31943
xor edx, 0x52122606
sub edx, 0x95efba1
mov dword [rsp - 0x14], ebx
lea rcx, [rsp + 0x50]
call fcn.1400744a0
mov rcx, rbx
call fcn.140073d00
mov dword [rsp - 0x2c], esp
cmp rdi, 4
jbe 0x140015c9b
mov rcx, qword [rsp + 0x30]
call fcn.140073d00
mov r10, r10
mov qword [rsp + 0x20], r15
lea rax, [rsp + 0x50]
mov rcx, r12
nop word [rax + rax]
mov dword [rsp - 0x30], ebx
inc rcx
cmp word [rax + rcx*2], r15w
jne 0x140015cb5
mov qword [rsp + 0x28], rcx
mov dword [rsp - 0xc], 0x5cbd0586
lea r8, [rsp + 0x20]
cmp rcx, 4
jbe 0x140015d2b
xchg r8, r8
mov eax, 0x630b40e
add eax, 0x7893996f
sub eax, 0x76839eec
xchg rcx, rcx
xor eax, 0x769153ae
xor eax, 0x7f158715
xor eax, 0x687e66a4
mov dword [rsp - 0x40], esi
xor eax, 0x69ba1c8c
mul rcx
cmovo rax, r12
mov rcx, rax
xchg r14, r14
call fcn.140073cf0
mov rcx, qword [rsp + 0x28]
mov r8, rax
mov dword [rsp - 0x14], 0xca045d
mov qword [rsp + 0x20], rax
mov r9, r15
test rcx, rcx
je 0x140015d9c
mov dword [rsp - 0x44], 0x2e55cc3
lea r10, [rsp + 0x50]
sub r10, r8
nop dword [rax + rax]
movzx ecx, r9b
xchg rbp, rbp
lea r8, [r8 + 2]
and cl, 3
mov edx, 0x2a58214f
mov r14, r14
xor edx, 0x67ebcd8c
xor edx, 0xcf96007
sub edx, 0x2fbc4688
xor edx, 0x9dd18b9
mov rcx, rcx
shl cl, 3
inc r9
sar edx, cl
xchg rcx, rcx
movsx eax, dl
xor ax, word [r10 + r8 - 2]
mov word [r8 - 2], ax
cmp r9, qword [rsp + 0x28]
mov r8, r8
jb 0x140015d48
mov dword [rbp + 0x5e0], 0x5422c7ff
xor dword [rbp + 0x5e0], 0x46e146a0
add dword [rbp + 0x5e0], 0x534d0bf0
mov dword [rsp - 0x18], edi
xor dword [rbp + 0x5e0], 0x4d0426b6
add dword [rbp + 0x5e0], 0x530ec4b6
mov rcx, r15
mov eax, dword [rbp + 0x5e0]
xchg r10, r10
mov dword [rbp + 0x5e0], eax
mov qword [rsp + 0x38], 0x34cad766
add qword [rsp + 0x38], 0x39673e22
xor qword [rsp + 0x38], 0x5193b57f
mov dword [rsp - 0x2c], ebx
sub qword [rsp + 0x38], 0x215fb56f
sub qword [rsp + 0x38], 0x1e41eb84
nop
mov dword [rsp - 0x38], esi
movsx eax, byte [rbp + rcx + 0x5e0]
mov word [rsp + rcx*2 + 0x30], ax
inc rcx
cmp rcx, qword [rsp + 0x38]
mov r14, r14
jb 0x140015e1a
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x40]
xchg rsi, rsi
call fcn.14006a200
mov rdi, rax
mov rsi, qword [rax + 8]
mov dword [rsp - 0x30], 0x51e732d5
cmp rsi, 4
jbe 0x140015e63
mov rdi, qword [rax]
lea rcx, [rsi + 1]
xchg r10, r10
mov eax, 0x26631b10
sub eax, 0x16e64549
xor eax, 0xc50ee43
mov dword [rsp - 0x18], 0x35b1c94b
add eax, 0x42d1a3b8
sub eax, 0x3a0b69c5
xor eax, 0x2653c75d
xor eax, 0x2da1b228
xchg r13, r13
mul rcx
cmovo rax, r12
mov rcx, rax
mov r9, r9
call fcn.140073cf0
mov r12, qword [rsp + 0x6c8]
mov rbx, rax
mov dword [rsp - 0x24], esp
mov r9, r15
test rsi, rsi
je 0x140015f31
mov r8, rax
mov r12, r12
sub rdi, rax
nop dword [rax]
movzx ecx, r9b
mov dword [rsp - 0x20], edi
lea r8, [r8 + 2]
and cl, 3
mov edx, 0x60fd4764
mov dword [rsp - 0x44], 0x7d7b6b5e
sub edx, 0x272444ed
xor edx, 0x2130172a
add edx, 0x53567b5f
sub edx, 0x3a50b9ef
mov dword [rsp - 0x2c], 0x9a72b3e
xor edx, 0x29bd8848
shl cl, 3
inc r9
sar edx, cl
mov rdi, rdi
movsx eax, dl
xor ax, word [rdi + r8 - 2]
mov word [r8 - 2], ax
xchg r14, r14
cmp r9, rsi
jb 0x140015ece
mov word [rbx + rsi*2], r15w
lea rdx, [rbp + 0x160]
xchg r10, r10
mov rax, qword [0x1400a4c90]
mov rcx, rbx
xor rax, qword [0x1400a4ab0]
call rax
xchg rsp, rsp
mov rcx, rbx
mov rdi, rax
call fcn.140073d00
cmp qword [rsp + 0x48], 4
mov r14, r14
mov r15, qword [rsp + 0x6c0]
mov rsi, qword [rsp + 0x6f0]
mov rbx, qword [rsp + 0x6e8]
jbe 0x140015f92
mov dword [rsp - 0x3c], ebp
mov rcx, qword [rsp + 0x40]
call fcn.140073d00
cmp qword [rsp + 0x38], 4
mov r13, r13
jbe 0x140015faf
mov rcx, qword [rsp + 0x30]
call fcn.140073d00
mov dword [rsp - 0x24], 0x59733686
cmp qword [rsp + 0x28], 4
jbe 0x140015fc9
mov rcx, qword [rsp + 0x20]
call fcn.140073d00
mov dword [rsp - 0x44], 0x14b165c8
cmp rdi, 0xffffffffffffffff
je 0x1400160d2
nop dword [rax]
mov dword [rsp - 0x20], edx
test byte [rbp + 0x160], 0x10
jne 0x140016093
lea r8, [rsp + 0x50]
mov dword [rsp - 0x38], 0x34935a2b
mov edx, 0x4c673c17
xor edx, 0x4841bc9f
xor edx, 0x44b6e3d6
sub edx, 0x8f438
mov dword [rsp - 0x14], 0x648aebb9
sub edx, 0x9d26c1a
sub edx, 0x36b50208
lea rcx, [rbp + 0x3b0]
xchg rbx, rbx
call fcn.1400745b0
lea r8, [rbp + 0x18c]
mov edx, 0x34ec345b
mov dword [rsp - 0x1c], ebx
add edx, 0x30184d51
sub edx, 0x23c0dd09
xor edx, 0x577f2de6
mov r13, r13
add edx, 0x30f9413c
sub edx, 0x2538cf11
sub edx, 0x21fcfa6c
lea rcx, [rbp + 0x3b0]
mov dword [rsp - 0x38], 0x5591d7dd
call fcn.1400744a0
mov rax, qword [0x1400a4c20]
lea rcx, [rbp + 0x3b0]
xor rax, qword [0x1400a4ab0]
xchg r11, r11
call rax
mov rax, qword [0x1400a4ca0]
lea rdx, [rbp + 0x160]
mov rsp, rsp
xor rax, qword [0x1400a4ab0]
mov rcx, rdi
call rax
test eax, eax
mov dword [rsp - 0x2c], esp
jne 0x140015fda
mov rax, qword [0x1400a4cb0]
mov rcx, rdi
xchg r14, r14
xor rax, qword [0x1400a4ab0]
call rax
mov rdi, qword [rsp + 0x6f8]
mov dword [rsp - 0x40], esi
add rsp, 0x6d0
pop rbp
ret