Function at 0x1400358f0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0xc8
mov rdi, r9
mov rsi, r8
mov rbx, rdx
mov r14, rcx
mov r15, qword [rsp + 0x120]
mov rax, qword [0x140117040]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov eax, 0x29fd5046
xor eax, 0x29fd513d
mov dword [rsp + 0x40], eax
jmp 0x140035f8e
call fcn.14007339e
xor ecx, ecx
shr ecx, 0x10
xor edx, edx
shl edx, 0x10
or ecx, edx
mov rdx, qword [rsp + 0xb8]
mov qword [rsp + 0x48], rdx
mov rdx, qword [rsp + 0x70]
xor r8d, r8d
shl r8, 0x1d
xor r9d, r9d
shr r9, 0x23
or r8, r9
cmp rdx, r8
setne dl
and dl, 1
mov byte [rsp + 0x47], dl
mov edx, 0x6774356b
add edx, 0x988bcc03
mov dword [rsp + 0x40], edx
cmp eax, ecx
jne 0x140035fee
jmp 0x140035939
cmp ecx, 0x178
jl 0x140035ab5
jmp 0x140035d30
jmp 0x140036006
cmp ecx, 0x173
jl 0x140035cae
jmp 0x140035ea1
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x58], rax
jmp 0x140035fac
mov eax, 0xd55ec9bc
xor eax, 0xd55ec8c4
mov dword [rsp + 0x40], eax
jmp 0x140035d18
call fcn.1400734cf
xor ecx, ecx
shl ecx, 6
xor edx, edx
shr edx, 0x1a
or ecx, edx
cmp eax, ecx
je 0x140035a18
jmp 0x140035af4
cmp eax, 3
je 0x140035c81
jmp 0x140035dae
lea rax, [rsp + 0xae]
add rax, 2
mov qword [rsp + 0x88], rax
mov eax, 0x1750
shl eax, 0x1c
mov ecx, 0x1750
shr ecx, 4
or eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x140035a05
cmp eax, 0
je 0x140035f56
jmp 0x140035dae
jmp 0x14003611b
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x78]
mov rdx, rcx
sub rdx, rax
cmovb rax, rcx
add rax, qword [rsp + 0x50]
mov ecx, 0x34795181
xor ecx, 0x347950f1
mov dword [rsp + 0x40], ecx
mov qword [rsp + 0x80], rax
jmp 0x140035ac9
cmp ecx, 0x16f
je 0x140036025
jmp 0x140036120
call fcn.1400731d5
mov ecx, 0xae56b4af
xor ecx, 0xae56b4af
cmp eax, ecx
jne 0x140035a6f
jmp 0x140035c0c
mov eax, 0x66def582
add eax, 0x99210bf6
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x60], rsi
jmp 0x140035e1a
mov eax, dword [rsp + 0x40]
jmp 0x140035fa7
call fcn.14007350b
xor ecx, ecx
shl ecx, 0x19
xor edx, edx
shr edx, 7
or ecx, edx
lea rdx, [rsp + 0xae]
add rdx, 2
mov qword [rsp + 0x88], rdx
mov edx, 0x9f4b21b8
xor edx, 0x9f4b20cd
mov dword [rsp + 0x40], edx
cmp eax, ecx
jne 0x140035d1d
jmp 0x140035af4
jmp 0x140035d18
call fcn.1400732ed
mov ecx, 0x1d84ac5e
sub ecx, 0x1d84ac5e
cmp eax, ecx
jne 0x140035f12
jmp 0x140035e42
cmp ecx, 0x171
jl 0x140035dae
jmp 0x140036102
cmp ecx, 0x177
jl 0x1400359f0
jmp 0x140035993
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x70]
xor ecx, ecx
shl rcx, 0x3f
xor edx, edx
shr rdx, 1
or rcx, rdx
cmp rax, rcx
setne al
and al, 1
mov byte [rsp + 0x47], al
mov eax, 0xb8000005
shl eax, 6
mov ecx, 0xb8000005
shr ecx, 0x1a
or eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x140035e38
call fcn.1400733d2
mov ecx, 0x16d5cdf3
xor ecx, 0x16d5cdf3
mov edx, 0x479d1786
xor edx, 0x479d16fe
mov dword [rsp + 0x40], edx
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x60], rsi
cmp eax, ecx
jne 0x140035bda
jmp 0x140035e3d
call fcn.14007322a
xor ecx, ecx
shl ecx, 0xe
xor edx, edx
shr edx, 0x12
or ecx, edx
mov rdx, qword [rsp + 0x90]
mov r8, qword [rsp + 0x78]
mov r9, r8
sub r9, rdx
cmovb rdx, r8
add rdx, qword [rsp + 0x50]
mov r8d, 0x62582ad4
sub r8d, 0x62582964
mov dword [rsp + 0x40], r8d
mov qword [rsp + 0x80], rdx
cmp eax, ecx
jne 0x140035c0c
jmp 0x140036060
mov qword [rsp + 0xa0], rdi
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x98], rax
mov eax, 0x5e8000
shl eax, 0x12
mov ecx, 0x5e8000
shr ecx, 0xe
or eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x140035d18
cmp ecx, 0x170
jl 0x140035aa4
jmp 0x140035b71
call fcn.14007318b
xor edx, edx
shl edx, 0x1a
xor ecx, ecx
shr ecx, 6
or edx, ecx
mov ecx, dword [rsp + 0x40]
cmp eax, edx
jne 0x1400359a4
jmp 0x140035cbf
cmp ecx, 0x175
jl 0x140035c81
jmp 0x140035e02
jmp 0x140035f8e
jmp 0x140035d18
cmp ecx, 0x17a
jl 0x140035f56
jmp 0x1400360de
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x88]
mov r8, qword [rsp + 0x50]
lea r10, [rsp + 0xb8]
lea r11, [rsp + 0xae]
lea r12, [rsp + 0xb0]
mov rcx, r14
mov rdx, rbx
mov r9, rdi
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], r12
call fcn.14002de30
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x80], rcx
jmp 0x140036017
cmp ecx, 0x179
jl 0x140035b82
jmp 0x140035d1f
mov rax, qword [rsp + 0x80]
mov ecx, 0xcf7c9070
xor ecx, 0xcf7c9101
mov dword [rsp + 0x40], ecx
mov qword [rsp + 0x58], rax
jmp 0x140035d18
call fcn.14005886c
mov ecx, 0x48611cf6
sub ecx, 0x48611cf6
cmp eax, ecx
je 0x140035ace
jmp 0x140035bda
call fcn.140073364
xor ecx, ecx
shr ecx, 2
xor edx, edx
shl edx, 0x1e
or ecx, edx
cmp eax, ecx
jne 0x140035b93
jmp 0x140035939
jmp 0x140035d18
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x98]
movabs rdx, 0x30c0439154ebe2d
movabs r8, 0x3bfafa243fa1b171
add rdx, r8
add rax, rdx
sub rax, rcx
movabs rcx, 0x14f8f366cc3c0e32
movabs rdx, 0x2bfe0d3b98cc61ac
xor rcx, rdx
sub rax, rcx
mov qword [rsp + 0x90], rax
mov eax, 0x2fdbd7b0
add eax, 0xd02429c7
mov dword [rsp + 0x40], eax
jmp 0x140035f12
cmp ecx, 0x174
jl 0x140035e1f
jmp 0x140035d07
mov eax, 0x5c4
shr eax, 2
mov ecx, 0x5c4
shl ecx, 0x1e
or eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x140035d18
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
cmp rcx, qword [0x140117040]
jne 0x14003614e
jmp 0x14003613d
call fcn.140073332
mov ecx, 0x6ce09188
xor ecx, 0x6ce09188
mov rdx, qword [rsp + 0xa0]
sub rdx, qword [rsp + 0x98]
mov qword [rsp + 0x90], rdx
mov edx, 0x50e83cf2
add edx, 0xaf17c485
mov dword [rsp + 0x40], edx
cmp eax, ecx
jne 0x140035e42
jmp 0x140035b32
mov rax, qword [rsp + 0xb0]
cmp rax, qword [rsp + 0x88]
sete al
and al, 1
neg al
movsx rax, al
add rax, qword [rsp + 0x78]
mov qword [rsp + 0x70], rax
mov eax, 0x69db5f2b
sub eax, 0x69db5db8
mov dword [rsp + 0x40], eax
jmp 0x140035d18
call fcn.14007315c
xor ecx, ecx
shl ecx, 0xf
xor edx, edx
shr edx, 0x11
or ecx, edx
cmp eax, ecx
jne 0x140035aeb
jmp 0x140035cbf
call fcn.14007329c
xor edx, edx
mov rcx, qword [rsp + 0x48]
sub rcx, rdi
setne r8b
mov cl, byte [rsp + 0x47]
and cl, r8b
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x48]
mov r10, qword [rsp + 0x70]
mov qword [rsp + 0x68], r10
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x58], r8
cmp eax, edx
jne 0x1400359ba
jmp 0x140036065
jmp 0x140035d18
mov eax, 0x2d0eb1bb
sub eax, 0x2d0eb04c
mov dword [rsp + 0x40], eax
jmp 0x140035d18
cmp ecx, 0x176
jl 0x1400359a9
jmp 0x140035d9d
cmp eax, 3
jl 0x140035a44
jmp 0x140035a0a
test r15, r15
setne al
mov rcx, rsi
sub rcx, rdi
setne cl
mov dl, al
xor dl, cl
xor dl, 1
or al, cl
and al, dl
mov qword [rsp + 0x58], rsi
movzx eax, al
lea rcx, case.0x14003605e.0
mov rax, qword [rcx + rax*8]
mov ecx, dword [0x1401145e8]
rol ecx, 0xa
sub rax, rcx
jmp rax
jmp 0x140035d18
test cl, 1
jne 0x1400359dd
jmp 0x140035eb2
call fcn.14007347b
mov ecx, eax
xor edx, edx
shr edx, 0xc
xor eax, eax
shl eax, 0x14
or edx, eax
mov r8, qword [rsp + 0x58]
movabs rax, 0xf878e2c960f6940f
movabs r9, 0x56df6cb39f98ba09
xor rax, r9
add r8, rax
sub r8, rsi
movabs rax, 0xa3bba127bf0c113
movabs r9, 0xa46bd468837d6cf3
add rax, r9
sub r8, rax
mov rax, r8
sub rax, 0x7fffffff
mov eax, 0x7fffffff
cmovl rax, r8
cmp ecx, edx
jne 0x140035ecd
jmp 0x140036073
cmp ecx, 0x17b
jl 0x140035b37
jmp 0x140035ff3
call fcn.1400583f3
xor ecx, ecx
shl ecx, 3
xor edx, edx
shr edx, 0x1d
or ecx, edx
cmp eax, ecx
jne 0x140035a6a
jmp 0x140036073
call fcn.14007325b
mov ecx, 0x643da3b2
xor ecx, 0x643da3b2
cmp eax, ecx
jne 0x1400359ba
jmp 0x140035fac
add rsp, 0xc8
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
call fcn.1400865d0
int3
add byte [rax], al
add byte [rdi - 0x6a], al
or byte [rax + 1], al
add byte [rax], al
add byte [rdi - 0x61], ch
or byte [rax + 1], al
add byte [rax], al
add byte [rax], al
movabs al, byte [0x9a37000000014008]
or byte [rax + 1], al
add byte [rax], al
add byte [rdx - 0x60], al
or byte [rax + 1], al
add byte [rax], al
add byte [rcx - 0x62], bl
or byte [rax + 1], al
add byte [rax], al
add byte [rsi - 0x68], dl
or byte [rax + 1], al
add byte [rax], al
add byte [rsi + 0x140089e], dl
add byte [rax], al
add bl, bl
invalid
or bl, byte [rbp + 0x14008]
add byte [rax], al
jl 0x140105d25
or byte [rax + 1], al
add byte [rax], al
add byte [rsi + 0x140089f], bl
add byte [rax], al
add byte [rbx], al
cwde
or byte [rax + 1], al
add byte [rax], al
add byte [rcx - 0x64], bh
or byte [rax + 1], al
add byte [rax], al
add byte [rsi - 0x69], ah
or byte [rax + 1], al
add byte [rax], al
add byte [rdi + rbx*4], cl
or byte [rax + 1], al
add byte [rax], al
add byte [rsi + rbx*4 + 0x14008], ah
add byte [rax], al
mov ecx, 0x1400896
add byte [rax], al
add byte [rax - 0x69], bl
or byte [rax + 1], al
add byte [rax], al
add byte [rbx + 0x1400896], ch
add byte [rax], al
add byte [rbp - 0x66], bh
or byte [rax + 1], al
add byte [rax], al
add byte [rcx + 0x140089d], bh
add byte [rax], al
add byte [rcx + 0x1400899], ch
add byte [rax], al
add byte [rsi], cl
pushfq
or byte [rax + 1], al
add byte [rax], al
add byte [rdi + 0x140089e], dh
add byte [rax], al
add dh, bh
invalid
invalid