Function at 0x180464140
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0x70]
movaps xmmword [rbp - 0x10], xmm7
movaps xmmword [rbp - 0x20], xmm6
mov qword [rbp - 0x40], r9
mov rsi, r8
mov rdi, rdx
mov eax, dword [0x1807a3958]
xor edx, edx
div dword [0x1807a395c]
sub eax, 0x95c3740e
imul eax, eax, 0x7681dc72
and eax, 0xb99993ae
cmp eax, 0xe880a55f
ja 0x1804648ba
jmp 0x180464192
mov eax, dword [0x1807a3960]
mov edx, dword [0x1807a3964]
or eax, edx
imul edx, eax, 0xa63a10f
and edx, 0x6cd442e7
xor edx, 0x2384aa50
mov eax, 0x30
call fcn.180698e80
sub rsp, rax
mov r15, rsp
mov r13, qword [rdi + 0x20]
mov rax, rdi
add rax, 0x28
cmp edx, 0x1b812ade
ja 0x180464192
mov qword [rbp - 0x48], rcx
jmp 0x1804641db
mov rbx, qword [rax]
mov r8, qword [rsi + 8]
mov r9, qword [rsi + 0x10]
sub rsp, 0x20
mov rcx, r13
mov rdx, rbx
mov qword [rbp - 0x30], r8
mov qword [rbp - 0x28], r9
call fcn.18045a720
add rsp, 0x20
mov r12, rax
mov rax, rdi
add rax, 0x10
mov qword [rbp - 0x70], rax
cmp qword [rdi + 0x10], 0
sete cl
mov eax, dword [0x1807a3968]
sub eax, dword [0x1807a396c]
sub eax, 0x378d600e
imul eax, eax, 0xd71beb6c
and eax, 0xb03e329c
cmp eax, 0xf7fc5dc4
jae 0x1804648cb
mov eax, dword [0x1807a3970]
sub eax, dword [0x1807a3974]
imul eax, eax, 0x8df049df
mov r8d, 0x3af501c3
xor edx, edx
div r8d
or eax, 0x1be31e62
cmp eax, 0x2b1fd8d8
ja 0x1804648cb
test cl, 1
jne 0x180464272
jmp 0x180464298
sub rsp, 0x20
mov rcx, rdi
mov rdx, r13
mov r8, rbx
call fcn.180467140
add rsp, 0x20
movabs rcx, 0x8000000000000001
cmp rax, rcx
sete al
mov r11, qword [rdi]
mov r10, qword [rdi + 8]
mov r9, r12
shr r9, 0x39
movd xmm0, r9d
mov eax, dword [0x1807a3978]
sub eax, dword [0x1807a397c]
add eax, 0x2622d9eb
and eax, 0x1d54ee52
or eax, 0x8cb9c83a
cmp eax, 0x333f4fb6
je 0x1804648d8
mov qword [rbp - 0x38], rsi
jmp 0x1804642d7
mov eax, dword [0x1807a3980]
mov ecx, dword [0x1807a3984]
imul eax, ecx
or eax, 0xad28db3e
imul eax, eax, 0x68094e7f
add eax, 0x41073a7
movaps xmm1, xmm0
punpcklbw xmm1, xmm1
pshuflw xmm1, xmm1, 0
pshufd xmm6, xmm1, 0
cmp eax, 0x17414a8c
je 0x1804642d7
xor r13d, r13d
xor esi, esi
jmp 0x180464315
mov eax, dword [0x1807a3988]
sub eax, dword [0x1807a398c]
or eax, 0xba5b583f
imul eax, eax, 0x2faa1b5c
or eax, 0xfbce1e7b
cmp eax, 0x177e9a11
jb 0x1804648e5
mov ecx, dword [0x1807a3990]
mov eax, dword [0x1807a3994]
or ecx, eax
add ecx, 0xd5561475
xor ecx, 0x6b7ced54
add ecx, 0x1b9e4d5
mov rbx, r12
and rbx, r10
movups xmm7, xmmword [r11 + rbx]
movaps xmm0, xmm7
pcmpeqb xmm0, xmm6
pmovmskb r14d, xmm0
cmp r14w, 0
sete al
cmp ecx, 0xf9b4a171
jae 0x1804648e5
test al, 1
jne 0x18046441e
jmp 0x180464391
jmp 0x180464393
tzcnt eax, r14d
movzx eax, ax
mov rcx, rbx
add rcx, rax
and rcx, r10
xor eax, eax
sub rax, rcx
imul rax, rax, 0x30
mov r12, r11
add r12, rax
mov rax, qword [rbp - 0x28]
cmp rax, qword [r12 - 0x20]
jne 0x180464488
mov qword [rbp - 0x50], r13
mov qword [rbp - 0x58], rsi
mov qword [rbp - 0x68], r11
mov r13, r10
mov rsi, r15
mov r15, rdi
mov rdi, r9
mov rdx, qword [r12 - 0x28]
sub rsp, 0x20
mov rcx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x28]
call fcn.1806a7e40
add rsp, 0x20
cmp eax, 0
sete al
test al, 1
mov r9, rdi
mov rdi, r15
mov r15, rsi
mov r10, r13
mov r11, qword [rbp - 0x68]
mov rsi, qword [rbp - 0x58]
mov r13, qword [rbp - 0x50]
jne 0x1804646f0
jmp 0x180464488
jmp 0x18046441e
cmp rsi, 1
sete al
mov ecx, dword [0x1807a3998]
sub ecx, dword [0x1807a399c]
or ecx, 0xfcb9a19b
sub ecx, 0x28f41772
sub ecx, 0x276939ba
cmp ecx, 0x9d1f7666
mov r8, qword [rbp - 0x60]
je 0x1804648f2
mov ecx, dword [0x1807a39a0]
xor ecx, dword [0x1807a39a4]
or ecx, 0xa1b025f9
and ecx, 0x586c3e4b
xor ecx, 0xc64ec9a2
cmp ecx, 0xd671d788
ja 0x1804648f2
mov esi, 1
test al, 1
jne 0x1804644e0
jmp 0x1804644a9
mov ax, r14w
add ax, 0xffff
and r14w, ax
cmp r14w, 0
sete al
test al, 1
jne 0x18046441c
jmp 0x180464393
xorps xmm0, xmm0
pcmpgtb xmm0, xmm7
psllw xmm0, 7
pmovmskb eax, xmm0
cmp ax, 0
setne cl
tzcnt edx, eax
movzx edx, dx
mov r8, rbx
add r8, rdx
and r8, r10
cmp ax, 0
cmovne r8, r8
and cl, 1
movzx esi, cl
jmp 0x1804644e0
mov eax, dword [str.:_n]
xor eax, dword [0x1807a39ac]
add eax, 0xc3acaf10
imul eax, eax, 0xc1f76710
sub eax, 0x9c72af40
cmp eax, 0x72e1a7a8
je 0x180464903
mov eax, dword [str._5_]
mov ecx, dword [0x1807a39b4]
sub eax, ecx
imul rcx, rax, 0x1b450f
shr rcx, 0x33
or ecx, 0xd40dad84
pcmpeqd xmm0, xmm0
movaps xmm1, xmm7
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
cmp ax, 0
sete al
cmp ecx, 0xe0b7e56e
jae 0x180464903
test al, 1
jne 0x180464551
jmp 0x180464609
mov eax, dword [str.PsZt_]
xor edx, edx
div dword [0x1807a39bc]
and eax, 0x45eae1fe
add eax, 0x2d87e59d
and eax, 0x9efec587
cmp eax, 0x2c6f95cc
jae 0x180464914
mov eax, dword [0x1807a39c0]
and eax, dword [0x1807a39c4]
add eax, 0x9157eeef
sub eax, 0xd5e35e6
and eax, 0x2d7bf7a3
mov rcx, r13
add rcx, 0x10
cmp eax, 0xf3f679ad
je 0x180464914
jmp 0x1804645a8
mov eax, dword [str.4_QO]
xor edx, edx
div dword [0x1807a39cc]
xor eax, 0x5767d657
or eax, 0xc47fb554
xor eax, 0x26c1edc5
cmp eax, 0x526068e7
je 0x180464921
jmp 0x1804645d2
mov eax, dword [0x1807a39d0]
add eax, dword [0x1807a39d4]
or eax, 0xe79d07b3
imul eax, eax, 0x2550bb4a
and eax, 0x67a8e9fe
mov r12, rbx
add r12, rcx
cmp eax, 0x4c0253a8
ja 0x1804645d2
mov qword [rbp - 0x60], r8
jmp 0x180464601
mov r13, rcx
jmp 0x180464315
mov eax, dword [0x1807a39d8]
or eax, dword [0x1807a39dc]
mov ecx, 0x8d310a5f
xor edx, edx
div ecx
add eax, 0x94b37ad
or eax, 0x1e87f5a6
cmp eax, 0x6a030376
ja 0x180464932
mov eax, dword [0x1807a39e0]
and eax, dword [0x1807a39e4]
sub eax, 0xb53ac584
xor eax, 0xa9aaa9f5
or eax, 0xb9953d02
cmp rsi, 0
setne cl
cmp eax, 0x11dd2381
jb 0x180464932
mov rbx, qword [rbp - 0x48]
jmp 0x180464666
mov al, byte [r11 + r8]
cmp al, 0xff
setg cl
mov rdx, qword [rbp - 0x38]
test cl, 1
jne 0x18046467d
jmp 0x180464806
mov eax, dword [0x1807a39e8]
sub eax, dword [0x1807a39ec]
imul eax, eax, 0xa2e1445d
xor eax, 0xe8ada6e3
and eax, 0x945b74d2
cmp eax, 0x9b13bc78
ja 0x18046493f
mov eax, dword [0x1807a39f0]
mov ecx, dword [0x1807a39f4]
xor eax, ecx
add eax, 0xd21b7f4
shr eax, 2
imul rcx, rax, 0x1351bd73
shr rcx, 0x3a
movaps xmm0, xmmword [r11]
pmovmskb eax, xmm0
cmp ecx, 0x794d273d
ja 0x18046493f
jmp 0x1804646db
tzcnt eax, eax
movzx r8d, ax
mov rax, r11
add rax, r8
mov al, byte [rax]
jmp 0x180464806
mov rax, qword [r12 - 0x18]
mov rbx, qword [rbp - 0x48]
mov qword [rbx], rax
mov rax, qword [r12 - 0x10]
mov qword [rbx + 8], rax
mov rax, qword [r12 - 8]
mov qword [rbx + 0x10], rax
mov rcx, qword [rbp - 0x40]
mov rax, qword [rcx]
mov qword [r12 - 0x18], rax
mov rax, qword [rcx + 8]
mov qword [r12 - 0x10], rax
mov rax, qword [rcx + 0x10]
mov qword [r12 - 8], rax
mov rax, qword [rbp - 0x38]
mov rsi, qword [rax]
mov r14, qword [rbp - 0x30]
mov eax, dword [0x1807a39f8]
add eax, dword [0x1807a39fc]
add eax, 0x18ed4f91
or eax, 0x11cd6a9d
or eax, 0xb3e02882
cmp eax, 0xc2b88ee6
ja 0x180464950
mov eax, dword [0x1807a3a00]
xor eax, dword [0x1807a3a04]
add eax, 0x4be0ddbe
imul ecx, eax, 0xde85614b
and ecx, 0x24e69f96
cmp rsi, 0
sete al
cmp ecx, 0xf386f722
je 0x180464950
test al, 1
jne 0x18046489e
jmp 0x180464797
mov eax, dword [0x1807a3a08]
or eax, dword [0x1807a3a0c]
and eax, 0xa9cd9c35
add eax, 0x3099b279
add eax, 0x9eef05d2
cmp eax, 0x7fa09907
je 0x180464961
jmp 0x1804647bf
mov edi, dword [0x1807a3a10]
imul edi, dword [0x1807a3a14]
or edi, 0x2a3048a5
add edi, 0x79dc3a06
or edi, 0xfcff8cee
sub rsp, 0x20
mov rcx, r14
mov rdx, rsi
mov r8d, 1
call fcn.1804cafa0
add rsp, 0x20
cmp edi, 0xa393a954
jbe 0x1804647bf
jmp 0x180464801
jmp 0x18046489e
mov rcx, qword [rdx]
mov qword [r15], rcx
mov rcx, qword [rdx + 8]
mov qword [r15 + 8], rcx
mov rcx, qword [rdx + 0x10]
mov qword [r15 + 0x10], rcx
mov rdx, qword [rbp - 0x40]
mov rcx, qword [rdx]
mov qword [r15 + 0x18], rcx
mov rcx, qword [rdx + 8]
mov qword [r15 + 0x20], rcx
mov rcx, qword [rdx + 0x10]
mov qword [r15 + 0x28], rcx
and al, 1
movzx eax, al
mov rdx, qword [rbp - 0x70]
mov rcx, qword [rdx]
sub rcx, rax
mov qword [rdx], rcx
mov rax, r8
add rax, 0xfffffffffffffff0
and rax, r10
mov byte [r11 + r8], r9b
mov byte [r11 + rax + 0x10], r9b
mov rax, qword [rdi + 0x18]
add rax, 1
mov qword [rdi + 0x18], rax
xor eax, eax
sub rax, r8
imul rax, rax, 0x30
add r11, rax
add r11, 0xffffffffffffffd0
sub rsp, 0x20
mov rcx, r11
mov rdx, r15
mov r8d, 0x30
call fcn.1806a7400
add rsp, 0x20
movabs rax, 0x8000000000000000
mov qword [rbx], rax
mov rax, rbx
movaps xmm6, xmmword [rbp - 0x20]
movaps xmm7, xmmword [rbp - 0x10]
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
xchg byte [rax + rsi], bl
in al, dx
test byte cs:[rcx + 0x461ee7b4], cl
push rcx
jmp 0x180464190
imul ecx, dword [rdx + 0x24cf65b1], 0xffffffc9
mov ch, cl
stc
invalid
or eax, 0x70764019
cmc
adc eax, dword [rax - 0x61317]
jmp [rcx]
sub dword [rbx - 0x79a9823e], edx
invalid
xchg ebp, eax
invalid
xor bl, byte [rax + 0x2f55e636]
push 0x43
sbb al, al
mov al, 0xcc
jmp 0x180464507
and bh, byte [rdx + 0x5917156c]
mov cl, 0x76
jmp 0x180464579
out 0x6c, al
ret 0x40e1
push rsi
cwde
invalid
invalid
mov byte [rdi - 0x1b], ch
scasb al, byte [rdi]
clc
cmp eax, dword [0x11ea9d968]
mov eax, 0xfffdfce9
call [rdi + rcx*8 + 0x25]
invalid
pop rsp
iretd