Function at 0x14009f8ae
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 0x14009f92f
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 0x14009fa68
cmp eax, 0x6af489b8
jle 0x14009faca
cmp eax, 0x77b2009b
jg 0x14009fb84
cmp eax, 0x6af489b9
je 0x14009fcf8
cmp eax, 0x6fb1eea3
je 0x14009fd59
cmp eax, 0x6ff39071
jne 0x14009f9fd
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 0x14009f9fd
cmp eax, 0x2b7cb90d
jle 0x14009fb27
cmp eax, 0x431144a9
jg 0x14009fbd6
cmp eax, 0x2b7cb90e
je 0x14009fdb0
cmp eax, 0x303dc6fd
je 0x1400a00d9
cmp eax, 0x40a872dd
jne 0x14009f9fd
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 0x14009f9fd
cmp eax, 0x56259860
jg 0x14009fc70
cmp eax, 0x4a68ab65
je 0x14009fdd2
cmp eax, 0x520aa150
je 0x14009fdf5
cmp eax, 0x55455782
jne 0x14009f9fd
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 0x14009f9fd
cmp eax, 0x17ecc181
jle 0x14009fcae
cmp eax, 0x17ecc182
je 0x14009fe26
cmp eax, 0x26959245
je 0x14009fe7f
cmp eax, 0x2745755d
jne 0x14009f9fd
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 0x14009f9fd
cmp eax, 0x77b2009c
je 0x14009feeb
cmp eax, 0x77b8ca1c
je 0x14009ff69
cmp eax, 0x7d360d45
jne 0x14009f9fd
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 0x14009f9fd
cmp eax, 0x431144aa
je 0x14009ffc7
cmp eax, 0x46794484
je 0x1400a000f
cmp eax, 0x490510ec
jne 0x14009f9fd
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 0x14009fc4d
xor ecx, ecx
movsxd rdx, dword [rcx + r11]
xor dword [rsp + rdx*4 + 0x40], 0x7cbfe930
add rcx, 4
cmp rcx, 0x18
jne 0x14009fc37
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 0x14009f9fd
cmp eax, 0x56259861
je 0x1400a0043
cmp eax, 0x5fb8fe27
jne 0x1400a00cc
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 0x14009f9fd
cmp eax, 0x33c4088
je 0x1400a006e
cmp eax, 0x549b891
jne 0x14009f9fd
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 0x14009f9fd
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 0x14009fd36
xor ecx, ecx
movsxd rdx, dword [rcx + r15]
xor dword [rsp + rdx*4 + 0x40], 0x316dbcb9
add rcx, 4
cmp rcx, 0x20
jne 0x14009fd20
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 0x14009f9fd
mov rax, qword [rsp + 0x118]
mov rax, qword [rsp + 0x110]
cmp byte [rsp + 0xc0], 0
jne 0x14009fd8b
xor eax, eax
movsxd rcx, dword [rax + r12]
xor dword [rsp + rcx*4 + 0x40], 0x775b11f8
add rax, 4
cmp rax, 0x2c
jne 0x14009fd75
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 0x14009f9fd
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 0x14009f9fd
mov eax, dword [rsp + 0x98]
mov ecx, 0x2da32bce
xor eax, ecx
mov rcx, qword [rsp + 0xf8]
mov qword [rsp + 0x138], rcx
jmp 0x14009f9fd
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 0x14009f9fd
mov rdx, qword [rsp + 0x38]
mov rcx, rsi
lea r8, [rsp + 0x108]
call fcn.1400aa7dc
cmp byte [rsp + 0xc8], 0
jne 0x14009fe5d
xor ecx, ecx
movsxd rdx, dword [rcx + rbp]
xor dword [rsp + rdx*4 + 0x40], 0x3d971519
add rcx, 4
cmp rcx, 8
jne 0x14009fe47
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 0x14009ff48
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 0x14009fec9
xor ecx, ecx
movsxd rdx, dword [rcx + rdi]
xor dword [rsp + rdx*4 + 0x40], 0x5c59b6c3
add rcx, 4
cmp rcx, 0x10
jne 0x14009feb3
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 0x14009ff48
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 0x14009ff2b
xor ecx, ecx
movsxd rdx, dword [rcx + r14]
xor dword [rsp + rdx*4 + 0x40], 0x28a16966
add rcx, 4
cmp rcx, 0x18
jne 0x14009ff15
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 0x14009f9fd
mov rcx, qword [rsp + 0x100]
imul rcx, rsi
seto al
mov qword [rsp + 0x140], rcx
cmp byte [rsp + 0xa0], 0
jne 0x14009ffa2
xor ecx, ecx
movsxd rdx, dword [rcx + r13]
xor dword [rsp + rdx*4 + 0x40], 0x771e161b
add rcx, 4
cmp rcx, 8
jne 0x14009ff8c
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 0x14009f9fd
cmp byte [rsp + 0xd0], 0
jne 0x14009ffe9
xor eax, eax
movsxd rcx, dword [rax + r10]
xor dword [rsp + rcx*4 + 0x40], 0xe97711d
add rax, 4
cmp rax, 0x10
jne 0x14009ffd3
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 0x14009f9fd
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 0x14009f9fd
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 0x14009f9fd
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 0x1400a00a1
xor edx, edx
movsxd rsi, dword [rdx + r8]
xor dword [rsp + rsi*4 + 0x40], 0x7a21c57f
add rdx, 4
cmp rdx, 0x58
jne 0x1400a008b
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 0x14009f9fd
cmp eax, 0x5818fbf3
jne 0x14009f9fd
jmp 0x1400a0120
cmp byte [rsp + 0xb8], 0
jne 0x1400a00fb
xor eax, eax
movsxd rcx, dword [rax + r9]
xor dword [rsp + rcx*4 + 0x40], 0x634c96ff
add rax, 4
cmp rax, 0x1c
jne 0x1400a00e5
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 0x14009f9fd
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