Function at 0x14009f020
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x148
mov rsi, r8
xorps xmm0, xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
lea rax, [rsp + 0x38]
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x110]
lea rax, [rsp + 0x108]
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x118]
movzx eax, cl
mov dword [rsp + 0x30], eax
movzx eax, dl
mov dword [rsp + 0x34], eax
xor eax, eax
lea rcx, [0x1400ff4a0]
movsxd rdx, dword [rax + rcx]
xor dword [rsp + rdx*4 + 0x40], 0x78c104ba
add rax, 4
cmp rax, 0x5c
jne 0x14009f0a1
mov eax, 0x33c4088
xor ecx, ecx
mov qword [rsp + 0xe8], rcx
lea r8, [0x1400ff440]
lea rbp, [0x1400ff7a8]
lea rbx, [0x1400fd4e0]
lea r9, [0x1400fd8d0]
lea r10, [0x1400ff798]
lea r11, [0x1400fd8f0]
lea r15, [0x1400ffc20]
lea r12, [0x1400fd8a0]
lea r14, [0x1400ff780]
lea r13, [0x1400fd918]
mov ecx, 0
mov qword [rsp + 0xe0], rcx
mov ecx, 0
mov qword [rsp + 0xd8], rcx
mov ecx, 0
mov qword [rsp + 0xd0], rcx
xor ecx, ecx
mov qword [rsp + 0xc8], rcx
xor ecx, ecx
mov qword [rsp + 0xc0], rcx
xor ecx, ecx
mov qword [rsp + 0xb8], rcx
xor ecx, ecx
mov qword [rsp + 0xb0], rcx
xor ecx, ecx
mov qword [rsp + 0xa8], rcx
xor ecx, ecx
mov qword [rsp + 0xa0], rcx
cmp eax, 0x4a68ab64
jle 0x14009f1da
cmp eax, 0x6af489b8
jle 0x14009f23c
cmp eax, 0x77b2009b
jg 0x14009f2f6
cmp eax, 0x6af489b9
je 0x14009f46a
cmp eax, 0x6fb1eea3
je 0x14009f4cb
cmp eax, 0x6ff39071
jne 0x14009f16f
call fcn.140022aef
lea r11, [0x1400fd8f0]
lea r10, [0x1400ff798]
lea r9, [0x1400fd8d0]
lea r8, [0x1400ff440]
mov eax, dword [rsp + 0x80]
mov ecx, 0x4cdd3db7
xor eax, ecx
jmp 0x14009f16f
cmp eax, 0x2b7cb90d
jle 0x14009f299
cmp eax, 0x431144a9
jg 0x14009f348
cmp eax, 0x2b7cb90e
je 0x14009f522
cmp eax, 0x303dc6fd
je 0x14009f84b
cmp eax, 0x40a872dd
jne 0x14009f16f
cmp dword [rsp + 0x2c], 0
mov eax, 0x2da32bce
mov ecx, 0x3fd37b58
cmove eax, ecx
xor eax, dword [rsp + 0x78]
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0xf8], rcx
jmp 0x14009f16f
cmp eax, 0x56259860
jg 0x14009f3e2
cmp eax, 0x4a68ab65
je 0x14009f544
cmp eax, 0x520aa150
je 0x14009f567
cmp eax, 0x55455782
jne 0x14009f16f
call fcn.140022aef
lea r11, [0x1400fd8f0]
lea r10, [0x1400ff798]
lea r9, [0x1400fd8d0]
lea r8, [0x1400ff440]
mov eax, dword [rsp + 0x60]
mov ecx, 0x257a485
xor eax, ecx
jmp 0x14009f16f
cmp eax, 0x17ecc181
jle 0x14009f420
cmp eax, 0x17ecc182
je 0x14009f598
cmp eax, 0x26959245
je 0x14009f5f1
cmp eax, 0x2745755d
jne 0x14009f16f
call fcn.140011264
lea r11, [0x1400fd8f0]
lea r10, [0x1400ff798]
lea r9, [0x1400fd8d0]
lea r8, [0x1400ff440]
mov eax, dword [rsp + 0x68]
mov ecx, 0x77948e39
xor eax, ecx
jmp 0x14009f16f
cmp eax, 0x77b2009c
je 0x14009f65d
cmp eax, 0x77b8ca1c
je 0x14009f6db
cmp eax, 0x7d360d45
jne 0x14009f16f
call fcn.140022aef
lea r11, [0x1400fd8f0]
lea r10, [0x1400ff798]
lea r9, [0x1400fd8d0]
lea r8, [0x1400ff440]
mov eax, dword [rsp + 0x50]
mov ecx, 0x443f7de0
xor eax, ecx
jmp 0x14009f16f
cmp eax, 0x431144aa
je 0x14009f739
cmp eax, 0x46794484
je 0x14009f781
cmp eax, 0x490510ec
jne 0x14009f16f
lea rax, [rsp + 0x100]
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x128]
movsxd rax, dword [rsp + 0x34]
lea rax, [rbx + rax*8]
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x130]
mov rax, qword [rax]
cmp byte [rsp + 0xb0], 0
jne 0x14009f3bf
xor ecx, ecx
movsxd rdx, dword [rcx + r11]
xor dword [rsp + rdx*4 + 0x40], 0x7cbfe930
add rcx, 4
cmp rcx, 0x18
jne 0x14009f3a9
test rax, rax
mov eax, 0x3062d487
mov ecx, 0x7904d6b3
cmove eax, ecx
xor eax, dword [rsp + 0x7c]
mov cl, 1
mov qword [rsp + 0xb0], rcx
jmp 0x14009f16f
cmp eax, 0x56259861
je 0x14009f7b5
cmp eax, 0x5fb8fe27
jne 0x14009f83e
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0xf0], rax
mov eax, dword [rsp + 0x6c]
mov ecx, 0x479d9ebd
xor eax, ecx
mov dword [rsp + 0x2c], 0
jmp 0x14009f16f
cmp eax, 0x33c4088
je 0x14009f7e0
cmp eax, 0x549b891
jne 0x14009f16f
call fcn.140011264
lea r11, [0x1400fd8f0]
lea r10, [0x1400ff798]
lea r9, [0x1400fd8d0]
lea r8, [0x1400ff440]
mov eax, dword [rsp + 0x90]
mov ecx, 0x172a974b
xor eax, ecx
jmp 0x14009f16f
movsxd rax, dword [rsp + 0x30]
lea rax, [rbx + rax*8]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x120]
mov rax, qword [rax]
cmp byte [rsp + 0xe0], 0
jne 0x14009f4a8
xor ecx, ecx
movsxd rdx, dword [rcx + r15]
xor dword [rsp + rdx*4 + 0x40], 0x316dbcb9
add rcx, 4
cmp rcx, 0x20
jne 0x14009f492
test rax, rax
mov eax, 0x7552c159
mov ecx, 0x7fd6cc80
cmove eax, ecx
xor eax, dword [rsp + 0x4c]
mov cl, 1
mov qword [rsp + 0xe0], rcx
jmp 0x14009f16f
mov rax, qword [rsp + 0x118]
mov rax, qword [rsp + 0x110]
cmp byte [rsp + 0xc0], 0
jne 0x14009f4fd
xor eax, eax
movsxd rcx, dword [rax + r12]
xor dword [rsp + rcx*4 + 0x40], 0x775b11f8
add rax, 4
cmp rax, 0x2c
jne 0x14009f4e7
cmp dword [rsp + 0x2c], 2
mov eax, 0x32dd0738
mov ecx, 0x4248b318
cmovl eax, ecx
xor eax, dword [rsp + 0x70]
mov cl, 1
mov qword [rsp + 0xc0], rcx
jmp 0x14009f16f
mov eax, dword [rsp + 0x48]
mov ecx, 0x6d512f66
xor eax, ecx
mov dword [rsp + 0x2c], 2
xor ecx, ecx
mov qword [rsp + 0xf0], rcx
jmp 0x14009f16f
mov eax, dword [rsp + 0x98]
mov ecx, 0x2da32bce
xor eax, ecx
mov rcx, qword [rsp + 0xf8]
mov qword [rsp + 0x138], rcx
jmp 0x14009f16f
call fcn.140011264
lea r11, [0x1400fd8f0]
lea r10, [0x1400ff798]
lea r9, [0x1400fd8d0]
lea r8, [0x1400ff440]
mov eax, dword [rsp + 0x58]
mov ecx, 0x583d50b0
xor eax, ecx
jmp 0x14009f16f
mov rdx, qword [rsp + 0x38]
mov rcx, rsi
lea r8, [rsp + 0x108]
call fcn.1400aa7dc
cmp byte [rsp + 0xc8], 0
jne 0x14009f5cf
xor ecx, ecx
movsxd rdx, dword [rcx + rbp]
xor dword [rsp + rdx*4 + 0x40], 0x3d971519
add rcx, 4
cmp rcx, 8
jne 0x14009f5b9
test al, al
mov eax, 0x4a039b20
mov ecx, 0x32fe105a
cmovne eax, ecx
xor eax, dword [rsp + 0x64]
mov cl, 1
mov qword [rsp + 0xc8], rcx
jmp 0x14009f6ba
movsxd rax, dword [rsp + 0x30]
mov rcx, qword [rbx + rax*8]
mov rax, qword [rsp + 0x130]
mov rdx, qword [rax]
lea r8, [rsp + 0x100]
call fcn.1400aa7dc
cmp byte [rsp + 0xa8], 0
lea rdi, [0x1400fd908]
jne 0x14009f63b
xor ecx, ecx
movsxd rdx, dword [rcx + rdi]
xor dword [rsp + rdx*4 + 0x40], 0x5c59b6c3
add rcx, 4
cmp rcx, 0x10
jne 0x14009f625
test al, al
mov eax, 0x1df065ee
mov ecx, 0x2c31eb76
cmovne eax, ecx
xor eax, dword [rsp + 0x84]
mov cl, 1
mov qword [rsp + 0xa8], rcx
jmp 0x14009f6ba
movsxd rax, dword [rsp + 0x34]
mov rcx, qword [rbx + rax*8]
mov rax, qword [rsp + 0x120]
mov rdx, qword [rax]
lea r8, [rsp + 0x38]
call fcn.1400aa7dc
cmp byte [rsp + 0xd8], 0
jne 0x14009f69d
xor ecx, ecx
movsxd rdx, dword [rcx + r14]
xor dword [rsp + rdx*4 + 0x40], 0x28a16966
add rcx, 4
cmp rcx, 0x18
jne 0x14009f687
test al, al
mov eax, 0x709c39d6
mov ecx, 0x6187dc2c
cmovne eax, ecx
xor eax, dword [rsp + 0x54]
mov cl, 1
mov qword [rsp + 0xd8], rcx
lea r8, [0x1400ff440]
lea r9, [0x1400fd8d0]
lea r10, [0x1400ff798]
lea r11, [0x1400fd8f0]
jmp 0x14009f16f
mov rcx, qword [rsp + 0x100]
imul rcx, rsi
seto al
mov qword [rsp + 0x140], rcx
cmp byte [rsp + 0xa0], 0
jne 0x14009f714
xor ecx, ecx
movsxd rdx, dword [rcx + r13]
xor dword [rsp + rdx*4 + 0x40], 0x771e161b
add rcx, 4
cmp rcx, 8
jne 0x14009f6fe
test al, al
mov eax, 0x60348150
mov ecx, 0x3358a1a0
cmovne eax, ecx
xor eax, dword [rsp + 0x8c]
mov cl, 1
mov qword [rsp + 0xa0], rcx
jmp 0x14009f16f
cmp byte [rsp + 0xd0], 0
jne 0x14009f75b
xor eax, eax
movsxd rcx, dword [rax + r10]
xor dword [rsp + rcx*4 + 0x40], 0xe97711d
add rax, 4
cmp rax, 0x10
jne 0x14009f745
cmp qword [rsp + 0x38], 0
mov eax, 0xcc0d598
mov ecx, 0x4e694398
cmove eax, ecx
xor eax, dword [rsp + 0x5c]
mov cl, 1
mov qword [rsp + 0xd0], rcx
jmp 0x14009f16f
call fcn.140011264
lea r11, [0x1400fd8f0]
lea r10, [0x1400ff798]
lea r9, [0x1400fd8d0]
lea r8, [0x1400ff440]
mov eax, dword [rsp + 0x88]
mov ecx, 0x41a9d32d
xor eax, ecx
jmp 0x14009f16f
mov rax, qword [rsp + 0x128]
mov eax, dword [rsp + 0x94]
mov ecx, 0xb67a44f
xor eax, ecx
mov rcx, qword [rsp + 0x140]
mov qword [rsp + 0xf8], rcx
jmp 0x14009f16f
mov rdi, rbx
mov rbx, rbp
mov rbp, rsi
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x34]
cmp byte [rsp + 0xe8], 0
jne 0x14009f813
xor edx, edx
movsxd rsi, dword [rdx + r8]
xor dword [rsp + rsi*4 + 0x40], 0x7a21c57f
add rdx, 4
cmp rdx, 0x58
jne 0x14009f7fd
cmp eax, ecx
mov eax, 0x53bdbdb4
mov ecx, 0x12358d03
cmovl eax, ecx
xor eax, dword [rsp + 0x40]
mov cl, 1
mov qword [rsp + 0xe8], rcx
mov rsi, rbp
mov rbp, rbx
mov rbx, rdi
jmp 0x14009f16f
cmp eax, 0x5818fbf3
jne 0x14009f16f
jmp 0x14009f892
cmp byte [rsp + 0xb8], 0
jne 0x14009f86d
xor eax, eax
movsxd rcx, dword [rax + r9]
xor dword [rsp + rcx*4 + 0x40], 0x634c96ff
add rax, 4
cmp rax, 0x1c
jne 0x14009f857
cmp dword [rsp + 0x2c], 2
mov eax, 0x2da32bce
mov ecx, 0x3cbec0d1
cmove eax, ecx
xor eax, dword [rsp + 0x74]
mov cl, 1
mov qword [rsp + 0xb8], rcx
jmp 0x14009f16f
mov rax, qword [rsp + 0x138]
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret