Function at 0x140092ec0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x118
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x80], xmm6
mov qword [rbp + 0x78], 0xfffffffffffffffe
mov byte [rbp + 0x75], r8b
mov rsi, rcx
mov edi, 0xffff1fe3
mov eax, dword [0x140526c64]
add eax, edi
cdqe
add rax, qword [0x140526c80]
xorps xmm6, xmm6
movups xmmword [rsp + 0x28], xmm6
mov dword [rsp + 0x48], 0x8cf64339
mov dword [rsp + 0x40], 0x80c4a91f
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x20], 0
xor ecx, ecx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [case.0x1401238cb.0]
mov qword [rbp + 0x48], rax
mov eax, dword [0x140526c54]
add eax, edi
cdqe
add rax, qword [0x140526c98]
lea rcx, [rbp - 0x30]
mov edx, 0x41c5f78
mov r8d, 0x9dc90ccb
call qword [case.0x1401238cb.0]
mov qword [rsi + 0x10], 0
movups xmmword [rsi + 0x20], xmm6
mov qword [rbp + 0x60], rsi
mov qword [rbp + 0x58], rsi
mov rcx, rbp
call fcn.14041ac74
cmp byte [rbp + 0x75], 0
je 0x140092f95
lea r15, [0x14045d8d8]
jmp 0x140092f9d
mov rax, qword [rbp + 0x48]
mov r15, qword [rax + 0x10]
mov esi, 0xffff1fe3
mov eax, dword [0x140526c58]
add eax, esi
cdqe
add rax, qword [0x140526c88]
mov rcx, r15
mov edx, 0xee7c83ef
mov r8d, 0x5866449
call qword [case.0x1401238cb.0]
mov rbx, rax
add esi, dword [0x140526c60]
inc rbx
movsxd rax, esi
add rax, qword [0x140526c90]
mov edx, 1
mov rcx, rbx
mov r8d, 0x6a367754
mov r9d, 0x49105764
call qword [case.0x1401238cb.0]
test rax, rax
je 0x140093283
mov r14, rax
mov rax, qword [rbp + 0x60]
add rax, 0x20
mov qword [rbp + 0x30], rax
mov eax, dword [0x1405260b0]
lea ecx, [rax + 0x2d49cab9]
lea rdx, [fcn.140092ec0]
add edx, edx
add edx, 0x49c0
xor ecx, edx
not ecx
and ecx, edx
add eax, 0x2d49cab8
cmp ecx, eax
nop word [rax + rax]
mov eax, 0x2d49cab9
add eax, dword [0x1405260b0]
lea rcx, [fcn.140092ec0]
add ecx, ecx
add ecx, 0x21e0
xor eax, ecx
not eax
test eax, ecx
jne 0x140093040
movabs rcx, 0xff8bf72f3e1e6baf
mov rax, qword [0x1405260b8]
add rax, rcx
cmp rbx, rax
je 0x140093089
mov rcx, r14
mov rdx, r15
mov r8, rbx
call fcn.140440940
mov rax, qword [rbp + 0x60]
mov qword [rax + 0x10], r14
mov qword [rbp], 0
mov r15d, 6
lea r12, [0x14045df0c]
xor esi, esi
mov r13, rbp
nop dword [rax + rax]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x76]
mov rdx, r12
mov r8, r15
mov r9, r13
call fcn.14041ad88
jmp 0x1400930e4
mov rcx, qword [0x140523118]
mov ecx, dword [rcx]
mov ecx, dword [0x1405a68fc]
cmp ecx, 0x41
jge 0x1400930d0
mov r14, qword [0x140523118]
movsxd rbx, dword [r14]
mov ecx, dword [0x1405a68f8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x1400930d0
mov ecx, dword [0x1405a68f8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x140093150
mov ecx, dword [0x1405a68fc]
cmp ecx, 0xf
jge 0x140093150
mov edi, dword [0x14045cc28]
test eax, eax
jle 0x14009315d
mov eax, eax
sub r15, rax
add r12, rax
inc rsi
mov rax, qword [0x1405260b8]
movabs rcx, 0xff8bf72f3e1e6baf
add rax, rcx
cmp r15, rax
jne 0x1400930b0
jmp 0x14009315d
mov ecx, dword [0x1405a68fc]
cmp ecx, 0x5b
jge 0x140093150
jmp 0x140093110
mov eax, esi
not eax
and eax, 1
mov rcx, rsi
and rcx, 0xfffffffffffffffe
or rcx, rax
mov rax, rsi
xor rax, 0xfffffffffffffffe
and rax, rsi
movabs r15, 0xff8bf72f3e1e6bb1
add r15, qword [0x1405260b8]
imul r15, rax
add r15, rcx
mov eax, dword [0x140526c60]
mov ecx, dword [0x1405260b0]
mov edx, ecx
xor edx, 0x2d4aaad5
and ecx, 0x2d4aaad5
lea ecx, [rdx + rcx*2]
sub eax, ecx
cdqe
add rax, qword [0x140526c90]
mov edx, 2
mov rcx, r15
mov r8d, 0x6a367754
mov r9d, 0x49105764
call qword [case.0x1401238cb.0]
test rax, rax
je 0x140093288
mov ecx, dword [0x140523104]
mov edx, dword [0x1405260b0]
add edx, ecx
add edx, 0x2d49cab9
mov dword [0x140523104], edx
mov qword [rbp + 0x38], rcx
mov dword [rbp + 0x54], edx
test ecx, edx
je 0x140093204
xor esi, esi
jmp 0x140093276
xor r9d, r9d
mov esi, 0
test edi, edi
jle 0x140093276
add rbx, r14
xor esi, esi
nop word cs:[rax + rax]
movsxd rdx, r9d
xor sil, byte [rbx + rdx]
mov ecx, dword [0x1405260b0]
lea r9d, [rcx + rdx]
add r9d, 0x2d49cab9
mov ecx, dword [0x1405a68f8]
nop
mov ecx, dword [0x1405a68f8]
mov edx, dword [0x1405260b0]
lea r8d, [rdx + rcx]
dec r8d
imul r8d, ecx
and r8d, 1
mov ecx, edx
xor ecx, 0x2d49cab8
and edx, 0x2d49cab8
lea ecx, [rcx + rdx*2]
cmp r8d, ecx
jne 0x140093240
cmp r9d, edi
jl 0x140093220
mov ecx, dword [0x1405a68fc]
cmp ecx, 0x3e
jge 0x1400932b0
jmp 0x14009328d
call fcn.140419804
call fcn.140419804
mov qword [rbp + 0x68], 0
mov edx, dword [0x1405a68f8]
lea ecx, [rdx - 1]
imul ecx, edx
test cl, 1
je 0x1400932c5
nop word cs:[rax + rax]
mov qword [rbp + 0x68], 0
mov ecx, dword [0x1405a68fc]
cmp ecx, 0x60
jge 0x1400932b0
jmp 0x14009328d
mov qword [rbp + 0x40], rax
mov r14, rax
test r15, r15
je 0x140093369
lea r13, [0x14045df0c]
lea rbx, [rbp + 0x68]
mov dil, 1
movabs r12, 0x7f8bf72f3e1e6baf
mov r14, qword [rbp + 0x40]
nop word cs:[rax + rax]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
mov r8d, 6
mov rcx, r14
mov rdx, r13
mov r9, rbx
call fcn.14041ad88
nop dword [rax]
mov ecx, dword [0x1405a68f8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x140093320
test dil, dil
je 0x140093320
test eax, eax
jle 0x140093369
mov eax, eax
add r13, rax
dec r15
add r14, 2
mov rax, qword [0x1405260b8]
mov rcx, rax
movabs rdx, 0xff8bf72f3e1e6baf
xor rcx, rdx
and rax, r12
lea rax, [rcx + rax*2]
cmp r15, rax
jne 0x140093300
mov word [r14], 0
mov rax, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x40]
mov qword [rax], rcx
mov qword [rbp], 0
mov r15d, 5
lea r12, [0x14045df12]
xor edi, edi
mov ebx, 0x2d49cab9
mov r13d, 0x2d49cab8
mov r14b, 1
jmp 0x1400933c4
mov eax, eax
sub r15, rax
add r12, rax
inc rdi
test r15, r15
je 0x140093462
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x76]
mov rdx, r12
mov r8, r15
mov r9, rbp
call fcn.14041ad88
nop
mov ecx, dword [0x1405a68fc]
cmp ecx, 0x52
jg 0x140093407
mov ecx, dword [0x1405260b0]
add ecx, ebx
mov edx, dword [0x1405a68f8]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x140093420
mov ecx, dword [0x1405a68fc]
cmp ecx, 0x48
jge 0x1400933e0
jmp 0x1400933eb
cmp eax, ecx
jl 0x140093462
nop word cs:[rax + rax]
mov ecx, dword [0x1405a68f8]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
mov ecx, dword [0x1405260b0]
add ecx, r13d
cmp edx, ecx
jne 0x14009345b
mov ecx, dword [0x1405a68fc]
cmp ecx, 0x41
jle 0x1400933b0
test r14b, r14b
je 0x140093430
jmp 0x14009344c
movabs rax, 0xcbc7d22e9f49b2b9
add rax, rdi
mov rcx, rax
xor rcx, 1
and eax, 1
lea rax, [rcx + rax*2]
movabs r14, 0x34382dd160b64d47
mov ecx, 0xffff1fe3
add ecx, dword [0x140526c60]
add r14, rax
movsxd rax, ecx
add rax, qword [0x140526c90]
mov edx, 2
mov rcx, r14
mov r8d, 0x6a367754
mov r9d, 0x49105764
call qword [case.0x1401238cb.0]
test rax, rax
je 0x1400935fd
mov r15, rax
mov qword [rbp + 0x68], 0
mov rbx, rax
test r14, r14
je 0x140093528
lea r12, [0x14045df12]
lea r13, [rbp + 0x68]
mov rbx, r15
nop word cs:[rax + rax]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
mov r8d, 5
mov rcx, rbx
mov rdx, r12
mov r9, r13
call fcn.14041ad88
test eax, eax
jle 0x140093528
mov eax, eax
add r12, rax
mov rax, r14
not rax
add r14, r14
add rbx, 2
add r14, rax
jne 0x1400934f0
mov word [rbx], 0
mov eax, dword [rbp + 0x54]
test dword [rbp + 0x38], eax
setne cl
movzx r8d, byte [0x14045cc20]
or cl, 0xfa
mov eax, dword [0x1405a68fc]
mov eax, ecx
xor al, 5
and cl, 5
add cl, cl
add cl, al
neg r8b
nop word cs:[rax + rax]
mov edx, dword [0x1405a68f8]
lea eax, [rdx - 1]
imul eax, edx
mov edx, dword [0x1405260b0]
mov r9d, edx
xor r9d, 0x2d49caba
and edx, 0x2d49caba
lea r9d, [r9 + rdx*2]
xor edx, edx
div r9d
test edx, edx
jne 0x140093560
add sil, r8b
dec sil
nop word cs:[rax + rax]
mov eax, dword [0x1405a68fc]
cmp eax, 0xc
jle 0x1400935d3
mov eax, dword [0x1405a68f8]
nop word cs:[rax + rax]
mov eax, dword [0x1405a68f8]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1400935c0
jmp 0x1400935a0
mov eax, 0x2d49cab8
add eax, dword [0x1405260b0]
lea rdx, [fcn.140092ec0]
add edx, edx
add edx, 0x1a20
mov r8d, edx
not r8d
and r8d, edx
cmp r8d, eax
jne 0x140093630
jmp 0x140093602
call fcn.140419804
mov eax, ecx
xor al, sil
and al, cl
movzx eax, al
add ax, word [0x1405a696a]
mov edx, dword [0x1405a68f8]
lea r8d, [rdx + 1]
imul r8d, edx
test r8b, 1
je 0x140093643
nop word [rax + rax]
mov eax, dword [0x1405a68f8]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x140093630
jmp 0x140093602
add eax, 0x605a
add eax, 0xffff9fa6
nop dword [rax]
mov ecx, dword [0x1405a68f8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
mov ecx, dword [0x1405a68fc]
cmp ecx, 0x3e
jge 0x14009365f
mov ecx, dword [0x1405a68fc]
cmp ecx, 0x18
jl 0x14009368d
nop word cs:[rax + rax]
mov ecx, dword [0x1405a68fc]
cmp ecx, 0x17
jg 0x140093680
jmp 0x140093650
mov ecx, 0x2d49cb18
mov edx, 0x2d49cab8
nop word [rax + rax]
mov r8d, dword [0x1405a68fc]
mov r9d, dword [0x1405260b0]
add r9d, ecx
cmp r8d, r9d
jge 0x1400936ca
mov word [0x1405a696a], ax
mov r8d, dword [0x1405a68fc]
cmp r8d, 0x4d
jle 0x1400936f5
mov word [0x1405a696a], ax
mov r8d, dword [0x1405a68f8]
lea r9d, [r8 - 1]
imul r9d, r8d
and r9d, 1
mov r8d, dword [0x1405260b0]
add r8d, edx
cmp r9d, r8d
jne 0x1400936a0
jmp 0x1400936b6
mov rcx, qword [rbp + 0x60]
mov qword [rcx + 0x28], r15
mov qword [rbp + 0x58], 0
cmp byte [rbp + 0x75], 0
je 0x1400937a8
mov byte [rbp + 0x76], 0x2e
mov word [rbp + 0x68], 0
mov qword [rbp], 0
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x68]
lea rdx, [rbp + 0x76]
mov r9, rbp
mov r8d, 1
call fcn.14041ad88
movzx eax, word [rbp + 0x68]
mov rcx, qword [rbp + 0x60]
mov word [rcx + 0x18], ax
mov byte [rbp + 0x76], 0x2c
mov word [rbp + 0x68], 0
mov qword [rbp], 0
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x68]
lea rdx, [rbp + 0x76]
mov r9, rbp
mov r8d, 1
call fcn.14041ad88
mov eax, dword [0x1405a68fc]
cmp eax, 0x52
nop word cs:[rax + rax]
movzx eax, word [0x1405a696a]
add ax, word [rbp + 0x68]
mov ecx, dword [0x1405a68fc]
cmp ecx, 0x49
jge 0x140093790
jmp 0x1400937be
mov rdx, qword [rbp + 0x48]
mov rax, qword [rdx + 0x58]
movzx eax, word [rax]
mov word [rcx + 0x18], ax
mov rax, qword [rdx + 0x60]
movzx eax, word [rax]
mov rcx, qword [rbp + 0x60]
mov word [rcx + 0x1a], ax
mov rsi, qword [rbp + 0x58]
test rsi, rsi
je 0x140093846
mov rcx, qword [rsi + 0x10]
mov eax, dword [0x140526c5c]
sub eax, dword [0x1405260b0]
add eax, 0xd2b5552b
cdqe
add rax, qword [0x140526c70]
call qword [case.0x1401238cb.0]
mov eax, 0xffff1fe3
add eax, dword [0x140526c5c]
mov rcx, qword [rsi + 0x20]
cdqe
add rax, qword [0x140526c70]
call qword [case.0x1401238cb.0]
mov rcx, qword [rsi + 0x28]
mov eax, dword [0x140526c5c]
mov edx, dword [0x1405260b0]
mov r8d, edx
xor r8d, 0x2d4aaad5
and edx, 0x2d4aaad5
lea edx, [r8 + rdx*2]
sub eax, edx
cdqe
add rax, qword [0x140526c70]
call qword [case.0x1401238cb.0]
movaps xmm6, xmmword [rbp + 0x80]
add rsp, 0x118
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret