Function at 0x1400090e0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xf8
mov rsi, rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0xe0], 0
call fcn.1400058a0
mov rcx, rax
mov edx, 0x41a77db9
call fcn.140004f30
mov qword [rsp + 0x60], rax
mov ecx, 0x142c0577
call fcn.140004b20
mov qword [rsp + 0x68], rax
movsxd rax, dword [rsi + 0x3c]
mov rcx, rsi
mov qword [rsp + 0xf0], rsi
add rax, rsi
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0
setne byte [rsp + 0x33]
mov dword [rsp + 0x5c], 0x714c2973
mov eax, 1
lea rcx, [0x14000cd30]
nop word cs:[rax + rax]
movsxd rdx, dword [rcx + rax*4 - 4]
xor dword [rsp + rdx*4 + 0x70], 0x1e27
cmp rax, 0x1d
je 0x1400091c5
movsxd rdx, dword [rcx + rax*4]
xor dword [rsp + rdx*4 + 0x70], 0x1e27
add rax, 2
jmp 0x1400091a0
mov ecx, 0x98e
mov dword [rsp + 0x3c], 0
lea r13, [0x14000cdb0]
mov r8d, 0x7b7
mov dword [rsp + 0x38], 0
jmp 0x140009a2e
cmp byte [rsp + 0x33], 0
mov eax, 0x79b1e8d4
mov ecx, 0xdfed2ad4
cmovne eax, ecx
mov ecx, dword [rsp + 0x7c]
nop word cs:[rax + rax]
nop dword [rax]
xor ecx, r8d
mov r9d, ebp
mov edi, r12d
mov rbx, r14
mov esi, r15d
cmp ecx, 0x420a
jg 0x140009270
cmp ecx, 0x2d80
jg 0x1400092d0
cmp ecx, 0x1add
jle 0x140009389
cmp ecx, 0x1d99
jg 0x1400094a7
cmp ecx, 0x1ade
je 0x140009708
cmp ecx, 0x1c08
jne 0x14000921f
mov ecx, dword [rsp + 0xdc]
xor ecx, r8d
mov eax, 0x9b25d163
jmp 0x140009213
cmp ecx, 0x5c3a
jg 0x140009340
cmp ecx, 0x489a
jle 0x1400093f0
cmp ecx, 0x5067
jg 0x1400094d3
cmp ecx, 0x489b
je 0x1400091ec
cmp ecx, 0x4b40
jne 0x14000921f
mov ecx, dword [rsp + 0xe4]
mov edx, 0x4fbf
xor ecx, edx
mov ebp, r9d
mov dword [rsp + 0x2c], eax
mov r12d, edi
mov r14, rbx
mov r15d, esi
jmp 0x14000921f
cmp ecx, 0x3028
jle 0x14000942d
cmp ecx, 0x3148
jg 0x140009576
cmp ecx, 0x3029
je 0x1400097f8
cmp ecx, 0x30a8
jne 0x14000921f
mov word [rsp + 0x50], 0x74
mov dword [rsp + 0x4c], 0x7865742e
mov rcx, r14
lea rdx, [rsp + 0x4c]
call fcn.140002da0
mov r8d, 0x7b7
test eax, eax
mov eax, 0xcf246dc
mov ecx, 0x84a1bbde
cmove eax, ecx
mov ecx, dword [rsp + 0x90]
jmp 0x140009210
cmp ecx, 0x72db
jle 0x14000946a
cmp ecx, 0x7986
jg 0x1400095ae
cmp ecx, 0x72dc
je 0x140009689
cmp ecx, 0x735d
jne 0x14000921f
mov ecx, dword [rsp + 0x98]
xor ecx, r8d
mov edi, 1
mov eax, 0x184d34fd
jmp 0x1400099a6
cmp ecx, 0x91a
jg 0x1400095da
cmp ecx, 0x348
je 0x1400095f7
cmp ecx, 0x363
jne 0x14000921f
mov edx, dword [r14 + 8]
mov rax, qword [rsp + 0x68]
mov ecx, dword [r14 + 0xc]
add rcx, rax
mov rax, qword [rsp + 0x60]
mov r8d, 0x40
lea r9, [rsp + 0x34]
call rax
mov r8d, 0x7b7
test eax, eax
mov eax, 0xa68a0399
mov ecx, 0xbaf07977
cmove eax, ecx
mov ecx, dword [rsp + 0x94]
jmp 0x140009210
cmp ecx, 0x420b
je 0x140009992
cmp ecx, 0x42aa
je 0x1400098a6
cmp ecx, 0x45df
jne 0x14000921f
mov ecx, dword [rsp + 0xa4]
xor ecx, r8d
xor edi, edi
mov eax, 0x247ffad0
mov r9d, ebp
jmp 0x140009219
cmp ecx, 0x2d81
je 0x1400098fa
cmp ecx, 0x2fb4
je 0x14000986b
cmp ecx, 0x2ff7
jne 0x14000921f
mov dword [rsp + 0x58], r12d
mov ecx, dword [rsp + 0xc8]
xor ecx, r8d
mov eax, 0x2aa376c9
jmp 0x140009213
cmp ecx, 0x5c3b
je 0x1400098ba
cmp ecx, 0x5f44
je 0x14000980c
cmp ecx, 0x6e3f
jne 0x14000921f
mov ecx, dword [rsp + 0xa0]
xor ecx, r8d
mov edi, 1
mov eax, 0x247ffad0
jmp 0x1400099a6
cmp ecx, 0x1d9a
je 0x140009965
cmp ecx, 0x1dcd
jne 0x14000921f
mov ecx, dword [rsp + 0xc0]
xor ecx, r8d
mov eax, 0x455d35d7
jmp 0x140009213
cmp ecx, 0x5068
je 0x140009825
cmp ecx, 0x52f5
jne 0x14000921f
mov rax, qword [rsp + 0x40]
mov rcx, rax
movabs rdi, 0xffffffff043326ae
and rcx, rdi
or rax, rdi
add rax, rcx
add rax, 1
mov rcx, rax
xor rcx, 0xffffffffffffffe7
mov rdx, rax
or rdx, 0x18
and rax, 0xffffffffffffffe7
add rdx, rcx
add rax, rdx
add rax, 0x19
mov rcx, rax
mov rdx, qword [rsp + 0x40]
movzx edx, word [rdx + 0x14]
mov ebx, eax
sub rdx, rax
and rax, rdi
mov edi, 0xfbccd951
or rcx, rdi
and ebx, 0xfbccd951
add rdx, rcx
add rdx, rax
lea rbx, [rdx + rbx*2]
mov dword [rsp + 0x34], 0
mov ecx, dword [rsp + 0x84]
xor ecx, r8d
mov eax, 0x2bc7aa69
xor esi, esi
mov r9d, ebp
mov edi, r12d
jmp 0x14000921f
cmp ecx, 0x3149
je 0x1400099ae
cmp ecx, 0x34c1
jne 0x14000921f
mov eax, dword [rsp + 0x58]
cmp eax, 2
mov eax, 0xc172c34a
mov ecx, 0x139ef725
cmove eax, ecx
mov ecx, dword [rsp + 0xcc]
jmp 0x140009210
cmp ecx, 0x7987
je 0x14000990e
cmp ecx, 0x7b6d
jne 0x14000921f
mov ecx, dword [rsp + 0xa8]
xor ecx, r8d
mov eax, 0x184d34fd
jmp 0x140009213
cmp ecx, 0x98e
je 0x140009a00
cmp ecx, 0x91b
jne 0x14000921f
jmp 0x140009a6f
cmp byte [rsp + 0x38], 0
jne 0x140009641
mov eax, 2
nop word cs:[rax + rax]
nop dword [rax]
movsxd rcx, dword [r13 + rax*4 - 8]
xor dword [rsp + rcx*4 + 0x70], 0x52f6
movsxd rcx, dword [r13 + rax*4 - 4]
xor dword [rsp + rcx*4 + 0x70], 0x52f6
movsxd rcx, dword [r13 + rax*4]
xor dword [rsp + rcx*4 + 0x70], 0x52f6
add rax, 3
cmp rax, 0x1d
jne 0x140009610
mov al, 1
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x2c]
cmp eax, 0x139ef724
jle 0x1400096d0
cmp eax, 0x2bc7aa68
jle 0x1400097d4
cmp eax, 0x455d35d6
jle 0x140009889
cmp eax, 0x78ca3f64
jg 0x140009984
cmp eax, 0x455d35d7
je 0x140009451
cmp eax, 0x6733c173
jne 0x1400099e0
lea eax, [r15 - 0x7fd1]
lea ecx, [r15 + r15]
add ecx, 0xffff005e
or eax, 0xfffffffe
sub ecx, eax
mov eax, 0x7fd0
sub eax, r15d
or eax, 1
lea esi, [rcx + rax]
add esi, 0x7fd1
mov ecx, dword [rsp + 0xc4]
xor ecx, r8d
mov eax, 0x2bc7aa69
mov r9d, ebp
mov edi, r12d
mov rbx, r14
jmp 0x14000921f
cmp eax, 0xdfed2ad3
jg 0x14000983e
cmp eax, 0xb18fe499
jg 0x1400098dd
cmp eax, 0xa68a0398
jle 0x1400099ca
cmp eax, 0xa68a0399
je 0x140009708
cmp eax, 0xb073e241
je 0x14000948e
jmp 0x1400099e0
mov r8d, dword [r14 + 8]
mov eax, dword [r14 + 0xc]
mov rcx, qword [rsp + 0xf0]
lea rdx, [rax + rcx]
mov rsi, qword [rsp + 0x68]
lea rbx, [rax - 1]
and rbx, rsi
add rbx, rax
neg rax
mov rcx, rsi
or rcx, rax
add rcx, rbx
xor rax, rsi
sub rcx, rax
call fcn.140003130
mov r8d, dword [rsp + 0x34]
mov edx, dword [r14 + 8]
mov eax, dword [r14 + 0xc]
mov ecx, esi
and ecx, 0x5efb27fa
mov rbx, rsi
xor rbx, 0x5efb27fa
mov rdi, rsi
or rdi, 0x5efb27fa
add rcx, rsi
add rcx, rbx
sub rcx, rdi
lea rsi, [rcx - 0x5efb27fa]
mov ebx, esi
not ebx
and ebx, eax
mov rdi, rsi
xor rdi, rax
or rsi, rax
add rcx, rdi
add rcx, 0xffffffffa104d806
add rdi, rdi
add rcx, rbx
add rcx, rsi
sub rcx, rdi
add rcx, 0x5efb27fa
mov rax, qword [rsp + 0x60]
lea r9, [rsp + 0x34]
call rax
test eax, eax
mov eax, 0xf95ccc3c
mov ecx, 0xb073e241
cmove eax, ecx
mov ecx, dword [rsp + 0x9c]
mov r8d, 0x7b7
jmp 0x140009210
cmp eax, 0x242fa33b
jg 0x140009922
cmp eax, 0x139ef725
je 0x14000980c
cmp eax, 0x184d34fd
je 0x140009825
cmp eax, 0x22f38912
jne 0x1400099e0
mov ecx, dword [rsp + 0xd8]
xor ecx, r8d
mov eax, 0x30423571
jmp 0x140009213
mov ecx, dword [rsp + 0xd0]
xor ecx, r8d
xor edi, edi
mov eax, 0x22f38912
mov r9d, ebp
jmp 0x140009219
mov dword [rsp + 0x54], r12d
mov ecx, dword [rsp + 0xac]
xor ecx, r8d
mov eax, 0xe0c45049
jmp 0x140009213
cmp eax, 0xf95ccc3b
jg 0x140009948
cmp eax, 0xdfed2ad4
je 0x1400094eb
cmp eax, 0xe0c45049
je 0x14000986b
cmp eax, 0xe752a3c6
je 0x1400094bf
jmp 0x1400099e0
cmp dword [rsp + 0x54], 0
mov eax, 0x31fd6fcc
mov ecx, 0xb18fe49a
cmove eax, ecx
mov ecx, dword [rsp + 0xb0]
jmp 0x140009210
cmp eax, 0x2bc7aa69
je 0x1400098ba
cmp eax, 0x30423571
je 0x14000925f
cmp eax, 0x31fd6fcc
jne 0x1400099e0
mov ecx, dword [rsp + 0xbc]
xor ecx, r8d
mov eax, 0xe752a3c6
jmp 0x140009213
mov rax, qword [rsp + 0x40]
cmp r15w, word [rax + 6]
mov eax, 0x78ca3f65
mov ecx, 0x242fa33c
cmovb eax, ecx
mov ecx, dword [rsp + 0x88]
jmp 0x140009210
cmp eax, 0xb18fe49a
je 0x14000990e
cmp eax, 0xbaf07977
je 0x140009370
cmp eax, 0xc172c34a
jne 0x1400099e0
mov ecx, dword [rsp + 0xd4]
xor ecx, r8d
mov eax, 0x22f38912
jmp 0x140009213
mov ecx, dword [rsp + 0xb4]
xor ecx, r8d
mov eax, 0xcf246dc
jmp 0x140009213
cmp eax, 0x242fa33c
je 0x140009300
cmp eax, 0x247ffad0
je 0x1400095c6
cmp eax, 0x2aa376c9
je 0x14000958e
jmp 0x1400099e0
cmp eax, 0xf95ccc3c
je 0x140009414
cmp eax, 0x395e76
je 0x1400091ec
cmp eax, 0xcf246dc
jne 0x1400099e0
mov ecx, dword [rsp + 0xb8]
xor ecx, r8d
mov eax, 0xe752a3c6
mov r9d, 1
mov edi, 1
jmp 0x140009219
cmp eax, 0x78ca3f65
je 0x1400099ae
cmp eax, 0x79b1e8d4
jne 0x1400099e0
mov ecx, dword [rsp + 0x80]
xor ecx, r8d
mov edi, 1
mov eax, 0x30423571
xor r9d, r9d
jmp 0x140009219
mov ecx, dword [rsp + 0x8c]
xor ecx, r8d
mov edi, 2
mov eax, 0x455d35d7
mov r9d, ebp
jmp 0x140009219
cmp eax, 0x84a1bbde
je 0x1400093ad
cmp eax, 0x9b25d163
je 0x140009a6f
mov r9d, ebp
mov eax, dword [rsp + 0x2c]
mov edi, r12d
mov rbx, r14
mov esi, r15d
jmp 0x1400092ac
mov edx, dword [rsp + 0x5c]
mov ecx, 0x8eed3503
add edx, ecx
mov dword [rsp + 0x2c], edx
cmp byte [rsp + 0x3c], 0
lea rdx, [0x14000ccc0]
je 0x140009a40
mov ecx, dword [rsp + 0x70]
mov edx, 0x1d6f
xor ecx, edx
mov dl, 1
mov dword [rsp + 0x3c], edx
jmp 0x14000921f
mov ecx, 1
nop word cs:[rax + rax]
nop
movsxd rbp, dword [rdx + rcx*4 - 4]
xor byte [rsp + rbp*4 + 0x70], 0x26
movsxd rbp, dword [rdx + rcx*4]
xor byte [rsp + rbp*4 + 0x70], 0x26
add rcx, 2
cmp rcx, 0x1d
jne 0x140009a50
jmp 0x140009a1d
mov eax, ebp
add rsp, 0xf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret