Function at 0x14004b190
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov rsi, rdx
mov rbp, rcx
mov eax, dword [0x1400e6b90]
xor eax, dword [0x1400e6b94]
xor eax, 0x6529890f
mov ecx, 0xe52df85f
xor edx, edx
div ecx
and eax, 0x2b20bb35
cmp eax, 0x45d056a3
je 0x14004ba60
jmp 0x14004b1d5
mov eax, dword [0x1400e6b98]
xor edx, edx
div dword [0x1400e6b9c]
and eax, 0xd41a16eb
add eax, 0xf60180ef
xor eax, 0x8d60ade1
mov rdi, qword [rbp + 0x18]
cmp rdi, 0xffffffffffffffff
sete cl
cmp eax, 0x3df8ff1a
jb 0x14004b1d5
test cl, 1
jne 0x14004b241
jmp 0x14004b20b
mov r8, rbp
add r8, 8
mov r11, qword [rbp + 8]
mov r14, r11
add r14, 1
mov rax, r14
shr rax, 3
imul rbx, rax, 7
cmp r11, 8
cmovb rbx, r11
mov rax, rbx
shr rax, 1
cmp rdi, rax
jb 0x14004b5ca
jmp 0x14004b250
mov ecx, 1
call fcn.14009f1a0
jmp 0x14004ba4c
mov rax, rdi
sub rax, rbx
cmova rbx, rdi
cmp rbx, 7
jb 0x14004b2c6
mov eax, dword [0x1400e6ba0]
and eax, dword [0x1400e6ba4]
add eax, 0xd143536c
imul eax, eax, 0xb0b86c9e
imul eax, eax, 0x8813cfc8
cmp eax, 0xa31a60af
jbe 0x14004ba6d
jmp 0x14004b28a
mov ecx, dword [0x1400e6ba8]
xor ecx, dword [0x1400e6bac]
and ecx, 0x949406f1
and ecx, 0xb081a9c
add ecx, 0x55e69184
movabs rax, 0x1ffffffffffffffe
cmp rbx, rax
seta al
cmp ecx, 0xf5e53d5
je 0x14004b28a
test al, 1
jne 0x14004b30c
jmp 0x14004b2db
mov r12d, 8
mov eax, 4
cmp rbx, 3
cmovb r12, rax
jmp 0x14004b31b
shl rbx, 3
add rbx, 8
mov ecx, 7
mov rax, rbx
xor edx, edx
div rcx
add rax, 0xffffffffffffffff
bsr rcx, rax
xor rcx, 0x3f
mov r12, 0xffffffffffffffff
shr r12, cl
add r12, 1
jmp 0x14004b31b
mov ecx, 1
call fcn.14009f1a0
jmp 0x14004ba4c
mov ecx, 0x30
mov rax, r12
mul rcx
mov r13, rax
seto al
jo 0x14004b355
mov rbx, r12
add rbx, 0x10
mov rax, r13
add rax, rbx
setb al
jb 0x14004b355
mov r15, r13
add r15, rbx
movabs rax, 0x7ffffffffffffff0
cmp r15, rax
jbe 0x14004b35e
mov cl, 1
call fcn.14009f1a0
jmp 0x14004b398
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x20], r11
mov al, byte [0x1400e8bf0]
mov rcx, r15
mov edx, 0x10
call fcn.1400639f0
mov rcx, rax
cmp rcx, 0
jne 0x14004b39d
mov cl, 1
mov edx, 0x10
mov r8, r15
call fcn.14009f1b0
jmp 0x14004b398
jmp 0x14004ba4c
mov qword [rsp + 0x38], rsi
mov rsi, r12
add rsi, 0xffffffffffffffff
mov rax, r12
shr rax, 3
imul r15, rax, 7
cmp r12, 9
cmovb r15, rsi
add rcx, r13
mov edx, 0xff
mov r8, rbx
mov rbx, rcx
call fcn.1400be7c0
mov rax, qword [rbp]
mov qword [rsp + 0x30], rax
cmp rdi, 0
mov r8, qword [rsp + 0x20]
je 0x14004b54a
mov qword [rsp + 0x40], rbx
mov rbx, qword [rsp + 0x30]
movaps xmm0, xmmword [rbx]
pmovmskb r12d, xmm0
xor r12w, 0xffff
mov rax, rbx
add rax, 0xffffffffffffffd0
mov qword [rsp + 0x68], rax
xor r13d, r13d
mov rdx, rdi
mov qword [rsp + 0x28], rbp
cmp r12w, 0
je 0x14004b41e
jmp 0x14004b444
jmp 0x14004b427
xor r12w, 0xffff
jmp 0x14004b444
mov rax, rbx
add rbx, 0x10
movaps xmm0, xmmword [rax + 0x10]
pmovmskb r12d, xmm0
add r13, 0x10
cmp r12w, 0xffff
je 0x14004b427
jmp 0x14004b420
tzcnt eax, r12d
mov ecx, r12d
dec ecx
and ecx, r12d
mov r12w, cx
mov rbp, r13
add rbp, rax
dec rdx
mov qword [rsp + 0x60], rdx
mov rax, rbp
neg rax
lea rax, [rax + rax*2]
shl rax, 4
mov rdx, qword [rsp + 0x68]
add rdx, rax
mov rcx, qword [rsp + 0x38]
call fcn.1400526d0
mov rcx, rax
and rcx, rsi
mov r10, qword [rsp + 0x40]
movups xmm0, xmmword [r10 + rcx]
pmovmskb edx, xmm0
cmp dx, 0
je 0x14004b49f
jmp 0x14004b4c7
xor r9d, r9d
xor r8d, r8d
jmp 0x14004b4a7
add r8, 0x10
lea rcx, [r9 + rcx + 0x10]
and rcx, rsi
movups xmm0, xmmword [r10 + rcx]
pmovmskb edx, xmm0
cmp dx, 0
mov r9, r8
je 0x14004b4a7
jmp 0x14004b4c7
tzcnt edx, edx
movzx edx, dx
add rcx, rdx
and rcx, rsi
cmp byte [r10 + rcx], 0xff
jle 0x14004b4ea
movaps xmm0, xmmword [r10]
pmovmskb ecx, xmm0
tzcnt ecx, ecx
movzx ecx, cx
shr rax, 0x39
mov rdx, rcx
add rdx, 0xfffffffffffffff0
and rdx, rsi
mov byte [r10 + rcx], al
mov byte [r10 + rdx + 0x10], al
xor rbp, 0xffffffffffffffff
imul rax, rbp, 0x30
mov rdx, qword [rsp + 0x30]
add rdx, rax
xor rcx, 0xffffffffffffffff
imul rax, rcx, 0x30
mov rcx, r10
add rcx, rax
mov r8d, 0x30
call fcn.1400be120
mov rdx, qword [rsp + 0x60]
cmp rdx, 0
mov rbp, qword [rsp + 0x28]
mov r8, qword [rsp + 0x20]
jne 0x14004b415
mov rbx, qword [rsp + 0x40]
jmp 0x14004b54a
sub r15, rdi
mov qword [rbp], rbx
mov rax, qword [rsp + 0x80]
mov qword [rax], rsi
mov qword [rbp + 0x10], r15
movabs rax, 0x8000000000000001
cmp r8, 0
je 0x14004ba4c
mov ecx, 0x30
mov rax, r14
mul rcx
mov rcx, rax
seto al
add r8, 0x11
mov rdx, rcx
add rdx, r8
movabs rax, 0x8000000000000001
cmp rdx, 0
je 0x14004ba4c
xor eax, eax
sub rax, rcx
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov r8d, 0x10
call fcn.140063a00
movabs rax, 0x8000000000000001
jmp 0x14004ba4c
mov r15, qword [rbp]
mov r8, r14
shr r8, 4
mov rax, r14
and rax, 0xf
cmp rax, 0
setne al
and al, 1
movzx eax, al
mov rcx, r8
add rcx, rax
cmp rcx, 0
je 0x14004b63f
add r8, rax
mov rdx, rcx
and rdx, 1
xor eax, eax
cmp r8, 1
je 0x14004b61c
movabs rax, 0x1ffffffffffffffe
and rcx, rax
xor eax, eax
xor r8d, r8d
jmp 0x14004b647
jmp 0x14004b61c
cmp rdx, 0
je 0x14004b63f
movaps xmm0, xmmword [r15 + rax]
xorps xmm1, xmm1
pcmpgtb xmm1, xmm0
movaps xmm0, xmmword [0x1400c5780]
por xmm1, xmm0
movdqa xmmword [r15 + rax], xmm1
cmp r14, 0x10
jb 0x14004b69e
jmp 0x14004b68f
mov r9, rax
or r9, 0x10
movaps xmm0, xmmword [r15 + rax]
xorps xmm1, xmm1
xorps xmm2, xmm2
pcmpgtb xmm2, xmm0
movaps xmm0, xmmword [0x1400c5780]
por xmm2, xmm0
movaps xmmword [r15 + rax], xmm2
add rax, 0x20
movaps xmm2, xmmword [r15 + r9]
pcmpgtb xmm1, xmm2
por xmm1, xmm0
movdqa xmmword [r15 + r9], xmm1
add r8, 2
cmp r8, rcx
je 0x14004b61a
jmp 0x14004b647
mov rax, r15
add rax, r14
movups xmm0, xmmword [r15]
movups xmmword [rax], xmm0
jmp 0x14004b6c2
mov rcx, r15
add rcx, 0x10
mov rdx, r15
mov r8, r14
mov r14, r11
call fcn.1400be120
mov r11, r14
xor eax, eax
cmp r11, 0xffffffffffffffff
je 0x14004ba3b
mov qword [rsp + 0x38], rsi
mov eax, dword [0x1400e6bb0]
sub eax, dword [0x1400e6bb4]
sub eax, 0x7a7718ed
xor eax, 0x12c3681e
or eax, 0x8ecd0893
cmp eax, 0xf0a12055
jae 0x14004ba7e
mov eax, dword [0x1400e6bb8]
add eax, dword [0x1400e6bbc]
mov ecx, 0x861de643
xor edx, edx
div ecx
imul eax, eax, 0x47390f9b
and eax, 0x8cd63249
mov rdx, r15
add rdx, 0xffffffffffffffd0
cmp eax, 0x6374a3da
jae 0x14004ba7e
xor esi, esi
xor r8d, r8d
jmp 0x14004b726
imul rax, rsi, 0xffffffffffffffd0
mov rcx, rax
add rcx, 0xffffffffffffffd0
mov r9, r15
add r9, rcx
mov rcx, r15
add rcx, rax
add r8, 1
mov rax, r15
add rax, rsi
cmp byte [r15 + rsi], 0x80
jne 0x14004b9d8
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], r9
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x20], r11
mov qword [rsp + 0x28], rbp
mov eax, dword [0x1400e6bc0]
sub eax, dword [0x1400e6bc4]
xor eax, 0x46c3a308
xor eax, 0x92380632
and eax, 0xaa032e77
cmp eax, 0xb00cd62
jb 0x14004ba8f
mov eax, dword [0x1400e6bc8]
imul eax, dword [0x1400e6bcc]
sub eax, 0x1bdfc8b8
imul eax, eax, 0xb9554006
xor eax, 0xe017c18a
mov rcx, rsi
xor rcx, 0xffffffffffffffff
imul rcx, rcx, 0x30
mov r14, r15
add r14, rcx
xor ecx, ecx
sub rcx, rsi
imul rcx, rcx, 0x30
mov r12, rdx
add r12, rcx
mov rbp, r14
add rbp, 0x10
mov r13, r14
add r13, 0x20
cmp eax, 0x99469375
ja 0x14004ba8f
mov qword [rsp + 0x58], rdx
jmp 0x14004b7f7
jmp 0x14004b7f5
jmp 0x14004b7f7
mov rcx, qword [rsp + 0x38]
mov rdx, r12
call fcn.1400526d0
mov rcx, rax
mov r11, qword [rsp + 0x20]
and rcx, r11
movups xmm0, xmmword [r15 + rcx]
pmovmskb r8d, xmm0
cmp r8w, 0
mov rdx, rcx
jne 0x14004b850
xor r10d, r10d
mov rdx, rcx
xor r9d, r9d
jmp 0x14004b82e
add r9, 0x10
lea rdx, [r10 + rdx + 0x10]
and rdx, r11
movups xmm0, xmmword [r15 + rdx]
pmovmskb r8d, xmm0
cmp r8w, 0
mov r10, r9
je 0x14004b82e
jmp 0x14004b850
tzcnt r8d, r8d
movzx r8d, r8w
add rdx, r8
and rdx, r11
cmp byte [r15 + rdx], 0xff
jle 0x14004b875
movaps xmm0, xmmword [r15]
pmovmskb edx, xmm0
tzcnt edx, edx
movzx edx, dx
mov r8, rsi
sub r8, rcx
mov r9, rdx
sub r9, rcx
xor r9, r8
and r9, r11
cmp r9, 0x10
jb 0x14004b92e
mov rcx, rdx
xor rcx, 0xffffffffffffffff
imul r8, rcx, 0x30
mov rcx, r15
add rcx, r8
mov r8b, byte [r15 + rdx]
shr rax, 0x39
mov r9, rdx
add r9, 0xfffffffffffffff0
and r9, r11
mov byte [r15 + rdx], al
mov byte [r15 + r9 + 0x10], al
cmp r8b, 0xff
je 0x14004b99e
imul rax, rdx, 0xffffffffffffffd0
mov rdx, r15
add rdx, rax
cmp qword [rsp + 0x78], rdx
setb al
cmp rcx, qword [rsp + 0x70]
setb dl
and al, dl
test al, 1
jne 0x14004b8e9
jmp 0x14004b8ed
xor eax, eax
jmp 0x14004b959
movdqu xmm0, xmmword [r14]
movdqu xmm1, xmmword [rcx]
movdqu xmmword [r14], xmm1
movdqu xmmword [rcx], xmm0
movdqu xmm0, xmmword [rbp]
movdqu xmm1, xmmword [rcx + 0x10]
movdqu xmmword [rbp], xmm1
movdqu xmmword [rcx + 0x10], xmm0
movdqu xmm0, xmmword [r13]
movdqu xmm1, xmmword [rcx + 0x20]
movdqu xmmword [r13], xmm1
movdqu xmmword [rcx + 0x20], xmm0
jmp 0x14004b7f5
shr rax, 0x39
mov rcx, rsi
add rcx, 0xfffffffffffffff0
and rcx, r11
mov rdx, qword [rsp + 0x48]
mov byte [rdx], al
mov byte [r15 + rcx + 0x10], al
mov rbp, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x50]
jmp 0x14004b9d8
mov dl, byte [r14 + rax]
mov r8b, byte [rcx + rax]
mov byte [r14 + rax], r8b
mov byte [rcx + rax], dl
mov dl, byte [r14 + rax + 1]
mov r8b, byte [rcx + rax + 1]
mov byte [r14 + rax + 1], r8b
mov byte [rcx + rax + 1], dl
mov dl, byte [r14 + rax + 2]
mov r8b, byte [rcx + rax + 2]
mov byte [r14 + rax + 2], r8b
mov byte [rcx + rax + 2], dl
add rax, 3
cmp rax, 0x30
je 0x14004b7f3
jmp 0x14004b959
mov rax, rsi
add rax, 0xfffffffffffffff0
and rax, r11
mov rdx, qword [rsp + 0x48]
mov byte [rdx], 0xff
mov byte [r15 + rax + 0x10], 0xff
mov rdx, r14
mov r8d, 0x30
call fcn.1400be120
mov r11, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x50]
mov eax, dword [0x1400e6bd0]
sub eax, dword [str.Pl_div]
and eax, 0xfca3c73a
xor eax, 0x49e52510
xor eax, 0x667e009f
cmp eax, 0x30df3044
jb 0x14004baa0
mov ecx, dword [0x1400e6bd8]
and ecx, dword [0x1400e6bdc]
sub ecx, 0x6081e5a8
add ecx, 0xf60afb3d
or ecx, 0x6d1f0d9c
cmp rsi, r11
sete al
cmp ecx, 0x4bddf926
jb 0x14004baa0
invalid
test al, 1
mov rsi, r8
jne 0x14004ba36
jmp 0x14004b726
mov rax, rbx
jmp 0x14004ba3b
sub rax, rdi
mov qword [rbp + 0x10], rax
movabs rax, 0x8000000000000001
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
fisttp dword [rdi]
retf
jle 0x14004ba1a
cmpsd dword [rsi], dword [rdi]
xchg byte [rax - 0x1b], ch
mov byte [rcx - 0x1661b4f2], cl
or bh, al
invalid
dec byte [rdi]
pop qword [rbx - 0x76e1c133]
invalid
invalid
jle 0x14004bac5
and dl, byte [rcx]
mov esi, 0xfffcf6e9
jmp rdx
loop 0x14004ba96
xchg edx, eax
xchg esp, eax
clc
sal byte [rdi], 1
add ch, cl
push rcx
invalid
add byte [rcx], dh
sal bh, cl
xor eax, 0x9b12e