Function at 0x180464990
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
movaps xmmword [rsp + 0xb0], xmm7
movaps xmmword [rsp + 0xa0], xmm6
mov qword [rsp + 0x30], r9
mov rbx, r8
mov r15, rdx
mov qword [rsp + 0x38], rcx
mov r12, qword [r15 + 0x20]
mov rdi, qword [r15 + 0x28]
mov eax, dword [0x1807a3a18]
sub eax, dword [0x1807a3a1c]
mov ecx, 0xd491d586
xor edx, edx
div ecx
or eax, 0x2d8ab15f
sub eax, 0xd85ea292
cmp eax, 0xbfd19182
ja 0x1804651a7
mov esi, dword [0x1807a3a20]
imul esi, dword [0x1807a3a24]
xor esi, 0xac66e7bc
and esi, 0xd388c091
or esi, 0xd2e35110
mov r14, qword [rbx + 8]
mov r13, qword [rbx + 0x10]
mov rcx, r12
mov rdx, rdi
mov r8, r14
mov r9, r13
call fcn.18045a720
mov rbp, rax
mov rax, r15
add rax, 0x10
cmp esi, 0x39f27933
jbe 0x1804651a7
jmp 0x180464a45
mov qword [rsp + 0x58], rax
cmp qword [rax], 0
jne 0x180464b27
mov eax, dword [0x1807a3a28]
or eax, dword [0x1807a3a2c]
mov ecx, 0xc6c37182
xor edx, edx
div ecx
mov ecx, 0xde55293c
xor edx, edx
div ecx
add eax, 0x50aa7f8c
cmp eax, 0x8bbf90c9
jae 0x1804651c7
jmp 0x180464a84
mov eax, dword [0x1807a3a30]
xor edx, edx
div dword [0x1807a3a34]
add eax, 0xfc469dac
xor eax, 0x87614143
mov ecx, 0x19ff664d
xor edx, edx
div ecx
mov esi, eax
mov rcx, r15
mov rdx, r12
mov r8, rdi
call fcn.1804652c0
mov rcx, rax
cmp esi, 0x598be6b0
je 0x180464a84
jmp 0x180464ac2
mov eax, dword [0x1807a3a38]
and eax, dword [0x1807a3a3c]
mov r8d, 0x3d7646d1
xor edx, edx
div r8d
xor eax, 0xdceda2a8
imul eax, eax, 0x3ba0fd23
cmp eax, 0xccf65d6c
je 0x1804651e2
jmp 0x180464af1
mov eax, dword [0x1807a3a40]
imul eax, dword [0x1807a3a44]
imul eax, eax, 0xc751ead1
xor eax, 0xa29c3777
and eax, 0x43386665
movabs rdx, 0x8000000000000001
cmp rcx, rdx
sete dl
cmp eax, 0xa00ed575
je 0x180464af1
jmp 0x180464b27
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], rbx
mov r14, qword [r15]
mov rax, r15
add rax, 8
mov ecx, dword [0x1807a3a48]
xor ecx, dword [0x1807a3a4c]
and ecx, 0xe80af04e
and ecx, 0x67576406
add ecx, 0xe5315581
cmp ecx, 0x9cb842fb
jae 0x1804651f3
mov ecx, dword [0x1807a3a50]
xor ecx, dword [0x1807a3a54]
xor ecx, 0x9026643c
xor ecx, 0x1d53d931
add ecx, 0x937ea436
mov r10, qword [rax]
mov rdi, rbp
shr rdi, 0x39
cmp ecx, 0xfaec556e
jae 0x1804651f3
jmp 0x180464b9b
mov qword [rsp + 0x60], r15
mov eax, dword [0x1807a3a58]
xor eax, dword [0x1807a3a5c]
or eax, 0x4c36c8b1
sub eax, 0xa6d10ec4
imul eax, eax, 0xc43505b2
cmp eax, 0x45582e80
jbe 0x180465204
mov eax, dword [0x1807a3a60]
mov ecx, dword [0x1807a3a64]
add eax, ecx
xor eax, 0x4fdd7e89
imul rax, rax, 0x427d2f45
shr rax, 0x3e
imul eax, eax, 0xc4dc5bd8
movd xmm0, edi
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm6, xmm0, 0
cmp eax, 0x797d5b8a
ja 0x180465204
xor r8d, r8d
xor r15d, r15d
jmp 0x180464c10
and rbp, r10
movups xmm7, xmmword [r14 + rbp]
movaps xmm0, xmm7
pcmpeqb xmm0, xmm6
pmovmskb ebx, xmm0
cmp bx, 0
je 0x180464d43
jmp 0x180464c2f
tzcnt eax, ebx
movzx eax, ax
mov rcx, rbp
add rcx, rax
and rcx, r10
xor eax, eax
sub rax, rcx
imul rax, rax, 0x38
mov r12, r14
add r12, rax
cmp r13, qword [r12 - 0x28]
jne 0x180464d5f
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x50], r10
mov eax, dword [0x1807a3a68]
imul eax, dword [0x1807a3a6c]
xor eax, 0x32f5669
imul eax, eax, 0x4b4f7623
imul eax, eax, 0x6688d0e6
cmp eax, 0xca204ecd
jae 0x180465211
mov eax, dword [0x1807a3a70]
xor edx, edx
div dword [0x1807a3a74]
mov esi, eax
xor esi, 0xd48e9ec5
or esi, 0x65d8a1a3
or esi, 0xa5739883
mov rdx, qword [r12 - 0x30]
mov rcx, qword [rsp + 0x20]
mov r8, r13
call fcn.1806a7e40
cmp esi, 0x4cd551bc
jb 0x180465211
jmp 0x180464cce
cmp eax, 0
sete cl
mov eax, dword [0x1807a3a78]
sub eax, dword [0x1807a3a7c]
add eax, 0xa737c95a
mov r8d, 0x40150ce
xor edx, edx
div r8d
imul eax, eax, 0x5c350028
cmp eax, 0xe3d93e7a
mov r10, qword [rsp + 0x50]
je 0x18046521e
jmp 0x180464d08
mov eax, dword [0x1807a3a80]
imul eax, dword [0x1807a3a84]
mov r8d, 0xdc7d6b69
xor edx, edx
div r8d
or eax, 0x84e956ff
sub eax, 0x76db1c35
cmp eax, 0x6b12e9be
ja 0x180464d08
test cl, 1
mov r8, qword [rsp + 0x40]
jne 0x180464f61
jmp 0x180464d5f
jmp 0x180464d43
cmp r15, 1
sete al
mov r15d, 1
test al, 1
mov r11, qword [rsp + 0x48]
jne 0x180464df8
jmp 0x180464dcf
mov ax, bx
add ax, 0xffff
and bx, ax
cmp bx, 0
sete al
mov ecx, dword [0x1807a3a88]
sub ecx, dword [0x1807a3a8c]
and ecx, 0x61eed521
add ecx, 0x8c9e8902
sub ecx, 0x489b9b36
cmp ecx, 0xc8f415cb
je 0x18046522b
jmp 0x180464d9c
mov ecx, dword [0x1807a3a90]
sub ecx, dword [0x1807a3a94]
sub ecx, 0x7e47e758
imul ecx, ecx, 0x9733d78e
imul ecx, ecx, 0xaee1a701
cmp ecx, 0xf2f89cd
jb 0x180464d9c
test al, 1
jne 0x180464d41
jmp 0x180464c2f
pmovmskb ecx, xmm7
cmp cx, 0
setne al
tzcnt ecx, ecx
movzx edx, cx
mov rcx, rbp
add rcx, rdx
and rcx, r10
test al, 1
cmovne r11, rcx
and al, 1
movzx r15d, al
jmp 0x180464df8
pcmpeqd xmm0, xmm0
pcmpeqb xmm7, xmm0
pmovmskb eax, xmm7
cmp ax, 0
jne 0x180464e76
mov eax, dword [0x1807a3a98]
add eax, dword [0x1807a3a9c]
sub eax, 0xab48034e
mov ecx, 0x85c8326d
xor edx, edx
div ecx
add eax, 0xae96fe93
cmp eax, 0xe1b13a7d
ja 0x180465238
mov eax, dword [0x1807a3aa0]
sub eax, dword [0x1807a3aa4]
sub eax, 0x5e61ae9a
imul ecx, eax, 0x6ab6a661
sub ecx, 0x69f93e4c
mov rax, r8
add rax, 0x10
cmp ecx, 0x7eae5490
jb 0x180465238
jmp 0x180464e66
mov qword [rsp + 0x48], r11
add rbp, rax
mov r8, rax
jmp 0x180464c10
cmp r15, 0
setne al
mov cl, byte [r14 + r11]
mov r9, qword [rsp + 0x60]
mov eax, dword [0x1807a3aa8]
sub eax, dword [0x1807a3aac]
and eax, 0xf4145fff
or eax, 0xa8c44f6
mov r8d, 0x662447ef
xor edx, edx
div r8d
cmp eax, 0xa374fc93
ja 0x180465245
mov eax, dword [0x1807a3ab0]
xor edx, edx
div dword [0x1807a3ab4]
xor eax, 0x2df707eb
sub eax, 0xe6982321
imul edx, eax, 0x45047717
cmp cl, 0xff
setg al
cmp edx, 0x8937766f
jbe 0x180465245
test al, 1
jne 0x180464eeb
jmp 0x1804650cf
mov eax, dword [0x1807a3ab8]
or eax, dword [0x1807a3abc]
imul eax, eax, 0x14197ebd
or eax, 0x5d5ce0ca
or eax, 0xc6b35d80
cmp eax, 0xbb4a68f2
je 0x180465252
jmp 0x180464f14
mov eax, dword [0x1807a3ac0]
mov ecx, dword [0x1807a3ac4]
sub eax, ecx
xor eax, 0xc8e4621c
imul ecx, eax, 0x7dd6872e
mov eax, 0x8bb079ab
imul rcx, rax
shr rcx, 0x3f
movaps xmm0, xmmword [r14]
pmovmskb eax, xmm0
cmp ecx, 0xaf40f565
ja 0x180464f14
jmp 0x180464f4c
tzcnt eax, eax
movzx r11d, ax
mov rax, r14
add rax, r11
mov cl, byte [rax]
jmp 0x1804650cf
mov eax, dword [0x1807a3ac8]
or eax, dword [0x1807a3acc]
and eax, 0x96f79d08
add eax, 0x560d7701
imul eax, eax, 0xcab332f7
cmp eax, 0x9b87f8a2
je 0x180465263
mov rsi, qword [rsp + 0x38]
mov r8, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
jmp 0x180464f99
mov eax, dword [0x1807a3ad0]
and eax, dword [0x1807a3ad4]
xor eax, 0x7ab0714e
sub eax, 0xc5557835
mov r9d, 0xc870efd3
xor edx, edx
div r9d
mov r9, r12
add r9, 0xffffffffffffffc8
add r9, 0x18
cmp eax, 0x520bf279
jae 0x180464f99
jmp 0x180464fce
mov eax, dword [0x1807a3ad8]
imul eax, dword [0x1807a3adc]
and eax, 0x79473b28
sub eax, 0x7058d2b9
imul eax, eax, 0xda639047
cmp eax, 0x7a9426e0
jb 0x180465274
mov eax, dword [0x1807a3ae0]
and eax, dword [0x1807a3ae4]
and eax, 0x4bb8f438
sub eax, 0x6a64fa05
add eax, 0x51deaca0
mov rdx, qword [r9]
mov qword [rsi], rdx
mov rdx, qword [r9 + 8]
mov qword [rsi + 8], rdx
mov rdx, qword [r9 + 0x10]
mov qword [rsi + 0x10], rdx
mov rdx, qword [r9 + 0x18]
mov qword [rsi + 0x18], rdx
cmp eax, 0x4949ac83
jb 0x180465274
jmp 0x18046503c
mov rdx, qword [rsp + 0x30]
mov rax, qword [rdx]
mov qword [r9], rax
mov rax, qword [rdx + 8]
mov qword [r9 + 8], rax
mov rax, qword [rdx + 0x10]
mov qword [r9 + 0x10], rax
mov rax, qword [rdx + 0x18]
mov qword [r9 + 0x18], rax
mov rdx, qword [r8]
cmp rdx, 0
je 0x180465180
mov r8d, 1
call fcn.1804cafa0
mov eax, dword [0x1807a3ae8]
sub eax, dword [0x1807a3aec]
xor eax, 0xd0af1c2
sub eax, 0x248a1ebd
or eax, 0xdb9a2e63
cmp eax, 0x4e51ae21
je 0x1804652a3
mov eax, dword [0x1807a3af0]
xor edx, edx
div dword [0x1807a3af4]
imul eax, eax, 0x70e31f4a
add eax, 0x2fbfc2e4
mov ecx, 0x25fa9c2
xor edx, edx
div ecx
cmp eax, 0xffe7e11e
ja 0x1804652a3
jmp 0x180465180
mov rdx, qword [rsp + 0x28]
mov rax, qword [rdx]
mov qword [rsp + 0x68], rax
mov rax, qword [rdx + 8]
mov qword [rsp + 0x70], rax
mov rax, qword [rdx + 0x10]
mov qword [rsp + 0x78], rax
mov rdx, qword [rsp + 0x30]
mov rax, qword [rdx]
mov qword [rsp + 0x80], rax
mov rax, qword [rdx + 8]
mov qword [rsp + 0x88], rax
mov rax, qword [rdx + 0x10]
mov qword [rsp + 0x90], rax
mov rax, qword [rdx + 0x18]
mov qword [rsp + 0x98], rax
and cl, 1
movzx eax, cl
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rdx]
sub rcx, rax
mov qword [rdx], rcx
mov rax, r11
add rax, 0xfffffffffffffff0
and rax, r10
mov byte [r14 + r11], dil
mov byte [r14 + rax + 0x10], dil
mov rax, qword [r9 + 0x18]
add rax, 1
mov qword [r9 + 0x18], rax
xor eax, eax
sub rax, r11
imul rax, rax, 0x38
add r14, rax
add r14, 0xffffffffffffffc8
lea rdx, [rsp + 0x68]
mov rcx, r14
mov r8d, 0x38
call fcn.1806a7400
mov rsi, qword [rsp + 0x38]
mov byte [rsi], 0x11
mov rax, rsi
movaps xmm6, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
fcmovne st(0), st(4)
push rcx
and esi, dword [rdx]
invalid
sub dword [rcx + rax*4 - 0x6783b8f], edx
retf
movabs al, byte [0x321c756422fffff8]
or eax, 0x97b7c23a
and ah, byte [rbp + rsi*2 + 0x1c]
xor cl, byte [0x117fe1426]
invalid
jrcxz 0x1804651de
mov bh, 0x78
xor eax, 0x26da8bfa
jnp 0x1804651fb
cli
mov ebx, edx
jnp 0x1804651fb
test eax, 0xfff961e9
jmp [rbp - 0x108603d5]
lodsd eax, dword [rsi]
sub edi, esp
jns 0x1804651f8
push 0xffffffffffffffb9
invalid
and cl, byte [rdi]
cmpsd dword [rsi], dword [rdi]
cmpsb byte [rsi], byte [rdi]
clc
cqo
xor ch, cl
outsb dx, byte [rsi]
cli
invalid
hlt
invalid
mov ah, 0xb2
ja 0x180465205
insb byte [rdi], dx
mov cs, word [rax - 0x31]
jmp 0x180464e34
adc ch, byte [rbp - 0x4c]
pop rdi
jno 0x1804651f9
imul esi, dword [rsi], 0xffffffe9
invalid
cld
invalid
sal dword [rbx - 0x6c], 1
sbb dword [rdx + 0x4b], 0x9e048510
stc
imul ebp, ecx, 0xfffffcaf
sti
enter 0x67bc, 0x26
movabs dword [0x14e99570e0312512], eax
std
invalid
invalid
sbb cl, r13b
push rbx
std
invalid
adc ah, byte [rdx + 0x7d]
jne 0x18046529c
cmpsb byte [rsi], byte [rdi]
out 0xab, al
jp 0x18046529f
jp 0x18046524f
jmp 0x18046509d