Function at 0x140357290
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe8
movaps xmmword [rsp + 0xd0], xmm6
mov qword [rsp + 0x50], rcx
mov rax, qword [0x14054b938]
xor rax, rsp
mov qword [rsp + 0xc8], rax
test rdx, rdx
je 0x1403572e9
mov rbp, r9
mov r13, r8
mov r15, rdx
test r8, r8
sete al
cmp r9, 8
setb cl
or cl, al
mov byte [rsp + 0x42], cl
je 0x1403572f3
xor ebp, ebp
jmp 0x14035730d
mov ebp, 0xffffffff
jmp 0x140357abb
mov rcx, r13
xor edx, edx
mov r8, rbp
call fcn.14040d340
movzx ecx, byte [0x140540a10]
add cl, 0x9d
shr rbp, cl
mov rdx, qword [rsp + 0x160]
mov edi, dword [rsp + 0x158]
lea rax, [0x14044cd0c]
movsxd r12, dword [0x14044cd0c]
add r12, rax
mov eax, dword [0x14055eeac]
cmp eax, 0x2e
jge 0x140357350
mov r14d, dword [0x14044cd04]
mov al, 1
test al, al
jne 0x140357369
nop word cs:[rax + rax]
mov eax, dword [0x14044cd04]
mov eax, dword [0x14055eea8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x140357350
jmp 0x140357338
mov eax, 0xae3110ba
add eax, dword [0x140540a08]
mov dword [r15], eax
test rdx, rdx
je 0x140357383
mov qword [rdx], 0
mov ecx, 1
xor edx, edx
mov r8d, 0xe570a597
mov r9d, 0x2d2425d4
call fcn.140358830
test rax, rax
je 0x1403574ed
mov qword [rsp + 0x70], rax
test edi, edi
sete al
movzx ecx, byte [0x14055bd28]
xor al, cl
mov esi, 0x48
mov eax, edi
cmovne eax, esi
test edi, edi
cmovne esi, eax
mov qword [rsp + 0xc0], 0
test cl, cl
cmove esi, eax
mov edi, dword [0x14055c6c0]
movzx r8d, byte [rsp + 0x42]
mov ebx, r8d
xor bl, 1
movzx r9d, byte [rsp + 0x150]
mov eax, r9d
xor al, 1
mov ecx, r8d
xor cl, r9b
mov edx, ebx
xor dl, al
and r8b, r9b
or r8b, dl
xor r8b, 1
or r8b, cl
xor ecx, ecx
mov qword [rsp + 0x48], rcx
cmp r8b, 1
jne 0x14035747c
mov ecx, ebx
and cl, r9b
jne 0x14035747c
and al, byte [rsp + 0x42]
jne 0x14035747c
mov eax, dword [0x140540a08]
lea ecx, [rax + 0x5cc20cde]
mov edx, ecx
xor edx, 0x516f03dc
and ecx, 0x516f03dc
lea ecx, [rdx + rcx*2]
lea edx, [rax - 0x51ceef45]
lea r9d, [rax + 0x3c7740ed]
lea r8d, [rax - 0x1edfe1a2]
add eax, 0x5937bd9f
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r8d
xor r8d, r8d
call fcn.140358f00
mov rcx, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x1403574dc
mov eax, esi
xor eax, esi
not eax
and eax, edi
xor eax, esi
and edi, esi
add edi, edi
mov ecx, eax
xor ecx, edi
and edi, eax
lea esi, [rcx + rdi*2]
mov eax, 0xae3110ba
add eax, dword [0x140540a08]
mov dword [rsp + 0x8c], eax
mov rdx, qword [rsp + 0xc0]
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x50]
mov r8d, esi
xor r9d, r9d
mov rax, qword [rsp + 0x70]
call qword [case.0x140303ece.0]
test eax, eax
je 0x1403574f7
mov dword [r15], 0
mov ebp, 0xfffffffc
jmp 0x140357abb
mov ebp, 0xfffffffe
jmp 0x140357abb
cmp qword [rsp + 0x48], 0
setne r9b
sete al
movzx r8d, byte [rsp + 0x42]
mov ecx, r8d
xor cl, al
mov edx, ebx
and dl, r9b
or dl, cl
xor dl, 1
and bl, al
and r9b, r8b
or r9b, bl
or r9b, dl
mov byte [rsp + 0x43], r9b
mov eax, dword [0x14055eea8]
mov eax, 0xae3110bb
lea rcx, [fcn.140357290]
add ecx, ecx
add ecx, 0x1c60
nop word cs:[rax + rax]
mov edx, dword [0x140540a08]
add edx, eax
test edx, ecx
jne 0x140357550
mov dword [rsp + 0x5c], esi
mov edx, dword [0x14055ee80]
mov eax, dword [0x14055eea8]
mov eax, 0xb43423fc
mov ecx, 0xb43423fc
mov r9d, edx
sub ecx, edx
mov edx, ecx
not edx
lea ecx, [rdx + rcx*2]
sub eax, ecx
nop word cs:[rax + rax]
mov ecx, dword [0x14055eea8]
mov edx, ecx
not edx
imul edx, ecx
test dl, 1
jne 0x140357590
lea rcx, [fcn.140357290]
add ecx, ecx
add ecx, 0x25e0
mov edx, r9d
not edx
mov r8d, eax
not r8d
and r8d, edx
xor r9d, eax
or r9d, r8d
not r9d
mov dword [rsp + 0x44], r9d
mov dl, 1
nop
mov r8d, dword [0x140540a08]
mov r9d, r8d
xor r9d, 0xae3110bb
mov r10d, r8d
and r10d, 0x2e3110bb
lea r9d, [r9 + r10*2]
and r9d, ecx
add r8d, 0xae3110ba
cmp r9d, r8d
jne 0x140357657
mov dword [0x14055ee80], eax
mov r8d, dword [0x14055eeac]
mov r9d, dword [0x140540a08]
mov r10d, r9d
not r10d
mov r11d, r9d
and r11d, 0x51ceef32
mov esi, r10d
and esi, 0xae3110cd
or esi, r11d
xor r9d, 0x2e3110cd
and r10d, 0x51ceef32
or r10d, r9d
not r10d
add r10d, r10d
mov r9d, esi
xor r9d, r10d
and r10d, esi
lea r9d, [r9 + r10*2]
cmp r8d, r9d
jl 0x140357667
mov dword [0x14055ee80], eax
test dl, dl
je 0x1403575d0
jmp 0x1403575fe
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x78], r15
xor esi, esi
mov ebx, 0
cmp dword [rsp + 0x44], 0
jne 0x1403576ba
xor eax, eax
mov ebx, 0
test r14d, r14d
jle 0x1403576ba
xor ebx, ebx
nop word cs:[rax + rax]
cdqe
xor bl, byte [r12 + rax]
mov ecx, dword [0x140540a08]
neg ecx
add eax, ecx
add eax, 0x51ceef47
cmp eax, r14d
jl 0x1403576a0
movabs rax, 0x9afcff46876528b1
movabs rcx, 0x807ddb6579c3fce6
mov ebp, 1
add rax, rcx
mov qword [rsp + 0x80], rax
xorps xmm6, xmm6
mov edi, 0xae3110bc
xor r14d, r14d
xor r12d, r12d
mov r15, qword [rsp + 0x50]
movzx r13d, byte [rsp + 0x150]
jmp 0x140357757
mov r12, qword [rsp + 0xc0]
mov ebp, r13d
mov r15, qword [rsp + 0x50]
movzx r13d, byte [rsp + 0x150]
inc r14d
mov rdx, qword [rsp + 0xc0]
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
mov rcx, r15
mov r8d, dword [rsp + 0x5c]
xor r9d, r9d
mov rax, qword [rsp + 0x70]
call qword [case.0x140303ece.0]
test eax, eax
jne 0x140357a63
test r13b, r13b
je 0x1403577f0
cmp byte [rsp + 0x42], 0
jne 0x140357719
mov eax, r14d
cmp qword [rsp + 0x68], rax
jbe 0x1403578c9
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x60]
mov qword [rdx + rax*8], rcx
mov rdx, qword [rsp + 0x160]
test rdx, rdx
je 0x140357719
mov rax, qword [rdx]
movabs rcx, 0x9afcff46876528b1
sub rax, rcx
movabs rcx, 0x807ddb6579c3fce6
sub rax, rcx
movabs r8, 0xb7446583db374bb4
sub rax, r8
add rax, qword [rsp + 0x80]
mov rcx, rax
xor rcx, 8
and eax, 8
lea rax, [rcx + rax*2]
mov rcx, rax
xor rcx, r8
and rax, r8
lea rax, [rcx + rax*2]
mov qword [rdx], rax
jmp 0x140357719
cmp byte [rsp + 0x43], 0
je 0x140357800
mov r13d, ebp
jmp 0x140357890
mov r15d, r14d
mov r13d, 2
cmp qword [rsp + 0x68], r15
jbe 0x140357890
movaps xmmword [rsp + 0xb0], xmm6
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0x90], xmm6
mov eax, dword [0x140540a08]
mov ecx, 0xae3110ba
add eax, ecx
mov dword [rsp + 0x8c], eax
mov rcx, qword [rsp + 0xc0]
lea rax, [rsp + 0x8c]
mov qword [rsp + 0x20], rax
xor edx, edx
lea r8, [rsp + 0x90]
mov r9d, 0x30
mov rax, qword [rsp + 0x48]
call qword [case.0x140303ece.0]
mov ecx, eax
mov r8d, dword [rsp + 0x8c]
mov al, 1
test al, al
mov r11d, dword [rsp + 0x44]
mov r13d, 0xae311105
jne 0x1403578e0
jmp 0x140357933
test r12, r12
je 0x140357700
mov dword [rsp + 0x30], 0xf9cb7f28
mov dword [rsp + 0x28], 0x64c30e3c
mov dword [rsp + 0x20], 0x7cf7af21
mov ecx, 1
mov rdx, r12
xor r8d, r8d
xor r9d, r9d
call fcn.140359500
jmp 0x140357700
mov ebp, 2
jmp 0x140357719
movzx r10d, byte [0x14044cd08]
cmp r11d, 1
mov r9d, 0
sbb r9d, r9d
mov eax, dword [0x14055eeac]
mov edx, dword [0x140540a08]
add edx, r13d
cmp eax, edx
jge 0x140357933
nop dword [rax + rax]
test sil, sil
jne 0x140357926
mov eax, dword [0x14055eea8]
lea edx, [rax + 1]
imul edx, eax
test dl, 1
je 0x14035793c
mov eax, dword [0x14055eeac]
cmp eax, 0x44
jge 0x140357910
jmp 0x140357915
movzx eax, byte [0x14044cd08]
jmp 0x1403578e0
sub r10b, bl
nop
test sil, sil
jne 0x140357983
movzx r11d, byte [0x140540a18]
mov edx, dword [0x14055eea8]
mov eax, edx
xor eax, 0x9b1ef93a
mov r13d, edx
and r13d, 0x1b1ef93a
lea eax, [rax + r13*2]
add eax, 0x64e106c5
imul eax, edx
mov r13d, dword [0x140540a08]
add r13d, edi
xor edx, edx
div r13d
test edx, edx
je 0x14035799d
mov eax, dword [0x14055eea8]
mov edx, dword [0x140540a08]
add edx, eax
inc edx
imul edx, eax
test dl, 1
jne 0x140357940
jmp 0x140357945
mov eax, r10d
not al
add r11b, 0xdc
mov edx, eax
xor dl, r9b
not r9b
mov r13d, r9d
and r13b, r11b
or r11b, r9b
not r11b
or r11b, r13b
and r9b, r10b
or dl, r9b
not dl
or dl, r9b
and r11b, al
or r11b, dl
not r11b
movzx eax, byte [0x140540a18]
add al, 0xdd
cmp r11b, al
setne al
or al, byte [0x14055bd28]
and al, 1
mov byte [0x14055bd28], al
test ecx, ecx
jne 0x1403577f7
xor eax, eax
sub eax, dword [0x140540a08]
mov ecx, eax
xor ecx, 0x51ceef46
and eax, 0x51ceef46
lea eax, [rcx + rax*2]
neg eax
cmp r8d, eax
je 0x1403577f7
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x60]
mov qword [rcx + r15*8], rax
mov rax, qword [rsp + 0x160]
test rax, rax
je 0x140357a3b
add qword [rax], 8
mov dword [rsp + 0x8c], 0
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0xb0], xmm6
jmp 0x1403577f7
test r12, r12
sete al
mov edx, eax
and dl, r13b
xor al, r13b
mov ecx, edx
and cl, al
xor al, dl
test cl, al
jne 0x140357aaa
xor cl, al
jne 0x140357aaa
mov dword [rsp + 0x30], 0xf9cb7f28
mov dword [rsp + 0x28], 0x64c30e3c
mov dword [rsp + 0x20], 0x7cf7af21
mov ecx, 1
mov rdx, r12
xor r8d, r8d
xor r9d, r9d
call fcn.140359500
mov rax, qword [rsp + 0x78]
mov dword [rax], r14d
test r14d, r14d
je 0x1403574e3
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
call fcn.1403e4d80
mov eax, ebp
movaps xmm6, xmmword [rsp + 0xd0]
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret