Function at 0x180495610
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x20
mov eax, dword [0x1807a8d98]
add eax, dword [0x1807a8d9c]
add eax, 0x24860331
and eax, 0xbf3e35a9
xor eax, 0xf431c6c5
cmp eax, 0x260b72da
jb 0x180495cc2
jmp 0x180495647
mov eax, dword [0x1807a8da0]
add eax, dword [0x1807a8da4]
mov r8d, 0x78ce2b62
xor edx, edx
div r8d
xor eax, 0x7c7b40fc
and eax, 0xd0facc29
mov rsi, qword [rcx]
mov rdx, rsi
add rdx, 8
cmp eax, 0x176dca0b
je 0x180495647
jmp 0x18049567b
mov rdi, qword [rdx]
cmp rdi, 0
sete al
test al, 1
jne 0x180495752
jmp 0x18049568f
mov eax, dword [0x1807a8da8]
add eax, dword [0x1807a8dac]
xor eax, 0x1ab8205c
mov ecx, 0xb0dab324
xor edx, edx
div ecx
add eax, 0xf8979885
cmp eax, 0x4aaeb04c
jbe 0x180495ccf
mov eax, dword [0x1807a8db0]
and eax, dword [0x1807a8db4]
and eax, 0x173a62f
mov ecx, 0x5b50994
xor edx, edx
div ecx
imul ebx, eax, 0xb7afb1dc
mov rcx, rdi
call fcn.18063b3a0
mov cl, al
cmp ebx, 0x5d66a342
je 0x180495ccf
jmp 0x1804956f1
mov eax, dword [0x1807a8db8]
imul eax, dword [0x1807a8dbc]
or eax, 0x6775c423
or eax, 0xc4af1680
sub eax, 0xa357336e
cmp eax, 0xe487e2ff
ja 0x180495ce8
mov eax, dword [0x1807a8dc0]
xor edx, edx
div dword [0x1807a8dc4]
sub eax, 0x47dc74d0
imul eax, eax, 0x9cbb7dc6
sub eax, 0x28c8314e
cmp eax, 0x2c2ce595
jae 0x180495ce8
test cl, 1
jne 0x180495748
jmp 0x180495752
mov rcx, rdi
call fcn.18063bbc0
jmp 0x180495752
mov rdi, rsi
add rdi, 0x18
mov r15, qword [rsi + 0x18]
mov r12, r15
add r12, 0x90
mov rcx, qword [r15 + 0x90]
mov rbx, r15
add rbx, 0xa0
mov eax, dword [0x1807a8dc8]
imul eax, dword [0x1807a8dcc]
xor eax, 0x9fe8c4e9
mov r8d, 0xeeb3ccb7
xor edx, edx
div r8d
mov r8d, 0x3957084
xor edx, edx
div r8d
cmp eax, 0x58043032
je 0x180495cf9
mov eax, dword [0x1807a8dd0]
add eax, dword [0x1807a8dd4]
sub eax, 0x4ebf925a
add eax, 0xba66560f
sub eax, 0x56fa37a6
cmp eax, 0xac6058b8
ja 0x180495cf9
jmp 0x1804957d3
mov r14, rcx
mov r13, r14
shr r13, 0x20
mov rcx, rbx
call fcn.180645b90
cmp eax, r14d
je 0x1804959f0
mov eax, r14d
add eax, 1
cmp r13d, r14d
sete cl
test cl, 1
jne 0x180495812
jmp 0x180495801
cmp eax, r13d
sete cl
test cl, 1
jne 0x180495895
jmp 0x18049587e
mov eax, eax
mov ecx, dword [0x1807a8dd8]
and ecx, dword [0x1807a8ddc]
add ecx, 0x37ac00b1
or ecx, 0x1cbc1707
add ecx, 0xcf0a3a1b
cmp ecx, 0x2df0f47a
ja 0x180495d0a
mov edx, dword [0x1807a8de0]
imul edx, dword [0x1807a8de4]
and edx, 0xf7b39e0d
and edx, 0xf2211e6d
add edx, 0xdba7ee0
movabs r8, 0x100000001
mov rcx, rax
imul rcx, r8
cmp edx, 0xbd35d2e9
jbe 0x180495d0a
jmp 0x18049587c
jmp 0x1804958e6
mov eax, eax
movabs rdx, 0xffffffff00000000
mov rcx, r14
and rcx, rdx
or rcx, rax
jmp 0x1804958e6
ud2
mov rax, r14
lock cmpxchg qword [r12], rcx
mov rcx, rax
sete al
test al, 1
jne 0x1804958fe
jmp 0x1804957d3
movabs rax, 0xffffffff
and r14, rax
and r14, qword [r15 + 0x98]
cmp r14, qword [r15 + 0x88]
setb al
test al, 1
jne 0x18049597a
jmp 0x180495922
mov eax, dword [0x1807a8df8]
sub eax, dword [0x1807a8dfc]
add eax, 0x7fbc8eb
imul eax, eax, 0x7fe23ef9
or eax, 0x6ec8eb46
cmp eax, 0xb4dbe54c
jbe 0x180495d2c
jmp 0x18049594b
mov eax, dword [0x1807a8e00]
xor edx, edx
div dword [0x1807a8e04]
mov ecx, 0xe64a1bd7
xor edx, edx
div ecx
imul eax, eax, 0xfd8b6f8b
add eax, 0xcc01ec10
ud2
add r15, 0x80
mov rax, qword [r15]
mov rcx, qword [rax + r14*8]
mov eax, dword [0x1807a8e08]
sub eax, dword [0x1807a8e0c]
xor eax, 0x235c7474
mov r8d, 0xeba4a515
xor edx, edx
div r8d
xor eax, 0xf01c2790
cmp eax, 0x3b190e0d
jbe 0x180495d3f
jmp 0x1804959b6
mov eax, dword [0x1807a8e10]
add eax, dword [0x1807a8e14]
or eax, 0xd84c8deb
add eax, 0x96c358f4
imul edx, eax, 0x9b62ff13
cmp rcx, 0
sete al
cmp edx, 0xeaab2671
ja 0x1804959b6
test al, 1
jne 0x1804959f2
jmp 0x1804959e7
call fcn.180425c50
ud2
jmp 0x1804959f2
mov eax, dword [0x1807a8e18]
add eax, dword [0x1807a8e1c]
imul eax, eax, 0x53d0133f
imul eax, eax, 0xa4eadf42
sub eax, 0xab4056ef
cmp eax, 0xa22624d9
jae 0x180495d50
mov eax, dword [0x1807a8e20]
or eax, dword [0x1807a8e24]
sub eax, 0x9dd3a0b7
imul eax, eax, 0x6b2262a0
and eax, 0x58852810
cmp eax, 0x50976a96
je 0x180495d50
jmp 0x180495a43
mov eax, dword [0x1807a8e28]
and eax, dword [0x1807a8e2c]
sub eax, 0x29a3f69a
mov ecx, 0x93ce39b
xor edx, edx
div ecx
mov ecx, 0xcd220235
xor edx, edx
div ecx
cmp eax, 0x2b729360
je 0x180495d61
jmp 0x180495a73
mov eax, dword [0x1807a8e30]
xor edx, edx
div dword [0x1807a8e34]
or eax, 0x77f2409e
or eax, 0x8c0b5b76
xor eax, 0x96e10405
mov rcx, qword [rdi]
lock dec qword [rcx]
sete cl
cmp eax, 0x349280e
je 0x180495a73
jmp 0x180495aa3
test cl, 1
jne 0x180495aaa
jmp 0x180495ab4
mov rcx, rdi
call fcn.1804bff50
jmp 0x180495ab4
mov r8, rsi
add r8, 0x28
mov rax, rsi
add rax, 0x50
mov ecx, dword [0x1807a8e38]
add ecx, dword [0x1807a8e3c]
or ecx, 0xf4025b9c
and ecx, 0xa266e74a
xor ecx, 0x735d0735
cmp ecx, 0x909a9c34
je 0x180495d78
jmp 0x180495aee
mov edx, dword [0x1807a8e40]
and edx, dword [0x1807a8e44]
add edx, 0x4ac7eb65
xor edx, 0xaa3772bf
or edx, 0xb5cb82fc
cmp dword [rax], 0x3b9aca00
sete cl
cmp edx, 0xf405b278
jbe 0x180495aee
test cl, 1
jne 0x180495c4d
jmp 0x180495b28
mov eax, dword [0x1807a8e48]
xor eax, dword [0x1807a8e4c]
imul eax, eax, 0xe87204fb
or eax, 0xc7a8ad1d
mov ecx, 0x18da9d89
xor edx, edx
div ecx
cmp eax, 0x8470f362
ja 0x180495d89
jmp 0x180495b55
mov eax, dword [0x1807a8e50]
xor edx, edx
div dword [0x1807a8e54]
or eax, 0x8c69f863
imul eax, eax, 0x19523947
mov ecx, 0x882426d1
xor edx, edx
div ecx
mov rcx, rsi
add rcx, 0x30
cmp eax, 0xf3d42df8
ja 0x180495b55
jmp 0x180495b87
mov eax, dword [0x1807a8e58]
add eax, dword [0x1807a8e5c]
and eax, 0x1d0e4488
and eax, 0xf2c0b649
add eax, 0x9b4b5de4
cmp eax, 0x78519d48
jb 0x180495d9a
mov eax, dword [0x1807a8e60]
add eax, dword [0x1807a8e64]
and eax, 0x118d03ed
and eax, 0x18b33d04
or eax, 0xbf53a501
mov r9, qword [rcx]
cmp eax, 0x4a68ea5
jbe 0x180495d9a
jmp 0x180495bd8
cmp r9, 0
je 0x180495c4d
mov eax, dword [0x1807a8e68]
or eax, dword [0x1807a8e6c]
mov ecx, 0x1a2fc164
xor edx, edx
div ecx
mov ecx, 0xbe9e5bfd
xor edx, edx
div ecx
and eax, 0x4254acc8
cmp eax, 0xf357b849
je 0x180495da7
jmp 0x180495c0e
mov eax, dword [0x1807a8e70]
add eax, dword [0x1807a8e74]
mov ecx, 0x9f9fee8
xor edx, edx
div ecx
and eax, 0x3a7694d0
xor eax, 0x1a439f4d
mov rcx, qword [r8]
mov rdx, r9
shl rdx, 3
cmp eax, 0xcc0c9ea4
jae 0x180495c0e
jmp 0x180495c40
mov r8d, 8
call fcn.1804cafa0
jmp 0x180495c4d
mov eax, dword [0x1807a8e78]
and eax, dword [0x1807a8e7c]
add eax, 0x5aaaf4
add eax, 0x80ec5a4
imul eax, eax, 0x47ae1c94
cmp eax, 0x8298569b
jbe 0x180495db8
jmp 0x180495c76
mov edi, dword [0x1807a8e80]
imul edi, dword [0x1807a8e84]
or edi, 0x4fae6d9e
and edi, 0xef86b011
out 0x11, eax
mov al, 0x86
out dx, eax
xor edi, 0xb69b45f1
mov rcx, rsi
mov edx, 0x100
mov r8d, 0x80
call fcn.1804cafa0
cmp edi, 0xf205df4c
ja 0x180495c76
jmp 0x180495cb2
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
invalid
rol dword [0x14f5d7733], 0x7b
jae 0x180495cb4
adc al, 0xcf
jnp 0x180495d3d
jmp 0x180495645
jbe 0x180495cc6
invalid
jp 0x180495c8a
invalid
div byte [rbp - 0x75]
or eax, edi
mov edx, 0x2c3cdf32
adc ebp, ecx
invalid
jl 0x180495cb0
retf
test al, 0x56
invalid
mov ah, 0x5b
sbb dword [rbx], edx
jmp 0x18049583e
mov ebp, 0x474cb5f7
add eax, dword [rax + rcx*2 - 0xf]
invalid
invalid
invalid
cli
xchg ebx, eax
cmpsd dword [rsi], dword [rdi]
wait
cmc
nop
xchg edi, eax
mov dl, 0x29
or byte [rax - 0x34617], al
call [rcx + riz*8 - 0x52]
pop rsp
loope 0x180495d12
push rbp
cwde
invalid
jl 0x180495da4
push rbp
movabs al, byte [0x6cfd44dfda3a9be4]
jmp 0x180495aec
dec esp
or dword [rsi], edi
cmpsb byte [rsi], byte [rdi]
mov esi, dword [rbx]
outsb dx, byte fs:[rsi]
sbb al, 0x37
shr ecx, cl
mov ecx, 0xd6fffffd
sbb byte [rbx + 0x5c], bl
std
mov word [rdi + rdi*4], gs
jmp 0x180495bad
invalid
invalid
invalid
int 0xc3
sbb byte [rbx - 0x7f], cl
invalid