Function at 0x180410140
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x40
mov rsi, rcx
mov eax, dword [0x18079a968]
imul eax, dword [0x18079a96c]
and eax, 0xcfe33372
add eax, 0xce83a6cd
or eax, 0xa4862612
cmp eax, 0x4aad3bed
jbe 0x1804105b3
mov eax, dword [0x18079a970]
imul eax, dword [0x18079a974]
sub eax, 0xb64f6321
and eax, 0x9b8e9de0
mov ecx, 0x1a02c767
xor edx, edx
div ecx
mov edi, eax
mov rcx, rsi
call fcn.18063b2b0
mov rcx, rax
cmp edi, 0xdb69ec80
ja 0x1804105b3
jmp 0x1804101ac
mov rax, rcx
and rax, 8
cmp rax, 0
jne 0x1804101f5
mov rcx, qword [rsi + 0x28]
call fcn.18063f660
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rdx
mov rcx, rsi
add rcx, 0x30
call fcn.180351160
movabs rax, 0x8000000000000001
mov qword [rsi + 0x30], rax
lea rcx, [rsp + 0x30]
call fcn.18063f700
jmp 0x1804102c0
mov eax, dword [0x18079a978]
and eax, dword [0x18079a97c]
and eax, 0x6bbaa9f2
add eax, 0xf7eeedac
sub eax, 0x8ba9bcb5
cmp eax, 0x7f9fa217
jb 0x1804105c8
jmp 0x18041021d
mov eax, dword [0x18079a980]
imul eax, dword [0x18079a984]
mov r8d, 0x603189d5
xor edx, edx
div r8d
xor eax, 0x1db49645
imul eax, eax, 0x2deaa48d
mov r8, rcx
and r8, 0x10
cmp eax, 0x3c6beda0
je 0x18041021d
jmp 0x180410250
mov eax, dword [0x18079a988]
xor edx, edx
div dword [0x18079a98c]
and eax, 0xbb882a2d
imul eax, eax, 0xf6f5d8a8
or eax, 0xdbb5fc21
cmp eax, 0xa4588862
jbe 0x1804105d5
jmp 0x18041027b
mov eax, dword [0x18079a990]
xor edx, edx
div dword [0x18079a994]
xor eax, 0xdfcd8d25
and eax, 0x5c876781
sub eax, 0x2ff83af6
cmp r8, 0
sete cl
cmp eax, 0xb12622b0
ja 0x18041027b
jmp 0x1804102a8
test cl, 1
jne 0x1804102c0
jmp 0x1804102af
mov rcx, rsi
add rcx, 0x3e8
call fcn.180640280
jmp 0x1804102c0
mov eax, dword [0x18079a998]
or eax, dword [0x18079a99c]
imul eax, eax, 0x210a8a6
add eax, 0xf5751fb6
add eax, 0xf7e921bf
cmp eax, 0xf391322f
ja 0x1804105e6
mov eax, dword [0x18079a9a0]
add eax, dword [0x18079a9a4]
or eax, 0x2c7b6bda
or eax, 0x68c89876
mov ecx, 0xcd33cdd
xor edx, edx
div ecx
mov ebx, eax
mov qword [rsp + 0x28], rsi
mov rdi, rsi
add rdi, 0x20
lea rdx, [rsp + 0x28]
mov rcx, rdi
call fcn.180643630
mov edx, 2
mov ecx, 1
cmp rax, 0
cmove rdx, rcx
cmp ebx, 0xa54aa92c
jae 0x1804105e6
jmp 0x180410341
mov rcx, rsi
call fcn.18063b2e0
test al, 1
jne 0x1804103a6
mov eax, dword [0x18079a9a8]
xor edx, edx
div dword [0x18079a9ac]
or eax, 0x519948e6
or eax, 0x96d00627
imul eax, eax, 0x7b2b5aa9
cmp eax, 0x2d06804d
jae 0x180410609
jmp 0x180410378
mov eax, dword [0x18079a9b0]
and eax, dword [0x18079a9b4]
mov ecx, 0xc269d54c
xor edx, edx
div ecx
xor eax, 0x7d6b030e
or eax, 0x84d4a517
cmp eax, 0x5f9e1290
je 0x180410378
add rsp, 0x40
pop rbx
pop rdi
pop rsi
ret
mov eax, dword [0x18079a9b8]
xor eax, dword [0x18079a9bc]
or eax, 0x70cd10a9
sub eax, 0x1a783146
imul eax, eax, 0xdfd7f16
cmp eax, 0x57a47def
jb 0x18041061a
mov eax, dword [0x18079a9c0]
imul eax, dword [0x18079a9c4]
and eax, 0x69e35cb9
sub eax, 0x8d0eb2d5
xor eax, 0xf3b098a4
cmp eax, 0x1a5f720e
jbe 0x18041061a
jmp 0x1804103f6
mov eax, dword [0x18079a9c8]
xor edx, edx
div dword [0x18079a9cc]
xor eax, 0x920236b7
imul eax, eax, 0x8f0bdb64
mov ecx, 0x1165b48
xor edx, edx
div ecx
cmp eax, 0x84bd96dc
jae 0x18041062b
jmp 0x180410425
mov eax, dword [0x18079a9d0]
or eax, dword [0x18079a9d4]
mov ecx, 0xa5075d24
xor edx, edx
div ecx
mov ecx, 0x28e92602
xor edx, edx
div ecx
imul ecx, eax, 0x79cb96f
mov rax, qword [rdi]
cmp ecx, 0x94ba54e8
jae 0x180410425
jmp 0x180410456
lock dec qword [rax]
sete al
test al, 1
je 0x1804104c2
mov eax, dword [0x18079a9d8]
xor eax, dword [0x18079a9dc]
xor eax, 0xa1780eb4
imul eax, eax, 0xbe169117
mov ecx, 0x89d33239
xor edx, edx
div ecx
cmp eax, 0xebaaae3b
jae 0x180410638
mov ebx, dword [0x18079a9e0]
and ebx, dword [0x18079a9e4]
add ebx, 0x34a768dc
or ebx, 0xc1954196
or ebx, 0xb725c4e6
mov rcx, rdi
call fcn.1804b80b0
cmp ebx, 0x8883f7e6
jb 0x180410638
jmp 0x1804104c0
jmp 0x1804104c2
mov rcx, rsi
add rcx, 0x30
call fcn.1803fe7d0
mov rax, rsi
add rax, 0x3f8
mov rax, qword [rax]
cmp rax, 0
je 0x18041054d
mov ecx, dword [0x18079a9e8]
xor ecx, dword [0x18079a9ec]
or ecx, 0xb9c9295e
sub ecx, 0x2c27d0d5
sub ecx, 0x37bbffe9
cmp ecx, 0xb75ae79a
jae 0x18041064d
jmp 0x18041050c
mov r8d, dword [0x18079a9f0]
imul r8d, dword [0x18079a9f4]
add r8d, 0xef353f54
add r8d, 0x52f83d40
xor r8d, 0xe83bc42b
mov rcx, qword [rsi + 0x400]
mov rdx, rax
add rdx, 0x18
cmp r8d, 0xa46eeaa0
jbe 0x18041050c
jmp 0x180410549
call qword [rdx]
jmp 0x18041054d
mov rcx, rsi
mov edx, 0x480
mov r8d, 0x80
call fcn.1804cafa0
mov eax, dword [0x18079a9f8]
and eax, dword [0x18079a9fc]
imul eax, eax, 0x90138100
add eax, 0x79c5341a
and eax, 0xc454763c
cmp eax, 0x3ca34e19
jb 0x18041065a
jbe 0x1804105cf
invalid
mov eax, dword [0x18079aa00]
add eax, dword [str.x_y_o]
imul eax, eax, 0x1531e134
and eax, 0x9095b9d1
or eax, 0x702850c7
cmp eax, 0x9aa0b7bf
jae 0x18041065a
jmp 0x18041034d
invalid
out 0xae, eax
invalid
adc ebp, ecx
cld
invalid
int3
movsb byte [rdi], byte [rsi]
test ecx, edx
push 0xffffffffffffffb1
jl 0x180410579
push rbx
mov qword [rsp + 0x28], rsi
mov rcx, rsi
add rcx, 0x20
lea rdx, [rsp + 0x28]
call fcn.180643630
jmp 0x1804102e7
cmp ecx, ebx
frstor dword [rcx - 0x60723aeb]
xchg byte [rsi], dl
mov cl, 0xa6
jmp 0x180410376
xor byte [rbx + 0x57], dl
cmp edx, dword [rax - 0x6e138330]
xor ch, byte [rdx - 0x17]
movabs byte [0xfefaa25367fffffd], al
or byte [r11], r9b
jmp 0x180410423
std
invalid
push rbx
movabs byte [0xfdebe90b084dfefa], al
invalid
insb byte [rdi], dx
push rdi
rcl byte [rdx - 0x6e]
retf
jo 0x180410628
sbb ecx, dword [rdi + rdi*8 - 0x16104383]
mov al, 0xfe
invalid
outsd dx, dword [rsi]
mov dword [rsp + rdx*8 - 2], edi
xchg esp, eax
movsb byte [rdi], byte [rsi]
invalid