Function at 0x1804173c0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
mov rbp, rsp
mov rsi, rcx
mov eax, dword [0x18079b500]
or eax, dword [0x18079b504]
imul eax, eax, 0xe85bab43
or eax, 0xdcf0637e
add eax, 0x8ce4c86f
cmp eax, 0xe10577af
jae 0x180417888
mov ecx, dword [0x18079b508]
mov eax, dword [0x18079b50c]
or ecx, eax
or ecx, 0x44eb17fa
add ecx, 0xe8136e1d
mov eax, 0x10
call fcn.180698e80
sub rsp, rax
mov rdi, rsp
mov eax, 0x10
call fcn.180698e80
sub rsp, rax
mov rbx, rsp
cmp ecx, 0xde6d3328
jae 0x180417888
jmp 0x18041743f
sub rsp, 0x20
mov rcx, rsi
call fcn.18063b300
add rsp, 0x20
mov cl, al
mov eax, dword [0x18079b510]
or eax, dword [0x18079b514]
and eax, 0x1c92d662
mov r8d, 0x10c97dfa
xor edx, edx
div r8d
sub eax, 0xd5bb20f0
cmp eax, 0x4c47cb1f
jae 0x180417899
mov eax, dword [0x18079b518]
sub eax, dword [0x18079b51c]
mov r8d, 0x24ccf2f7
xor edx, edx
div r8d
add eax, 0x47fd2670
mov r8d, 0xee3afae1
xor edx, edx
div r8d
cmp eax, 0x5d29b506
ja 0x180417899
test cl, 1
jne 0x180417769
jmp 0x1804174ba
sub rsp, 0x20
mov rcx, rsi
call fcn.18063b3a0
add rsp, 0x20
test al, 1
jne 0x1804174d3
jmp 0x180417827
mov eax, dword [0x18079b520]
imul eax, dword [0x18079b524]
add eax, 0x4a60d257
sub eax, 0xb76f5452
mov ecx, 0x5d61a115
xor edx, edx
div ecx
cmp eax, 0xd697f41d
jae 0x1804178aa
jmp 0x180417500
mov ecx, dword [0x18079b528]
add ecx, dword [0x18079b52c]
xor ecx, 0xe9d35fa
sub ecx, 0x1f034301
add ecx, 0xd3b1450c
mov rdi, rsi
add rdi, 0x20
mov rax, qword [rsi + 0x20]
cmp ecx, 0xa2a40b04
je 0x180417500
jmp 0x180417533
mov ecx, dword [0x18079b530]
imul ecx, dword [0x18079b534]
xor ecx, 0x636399fe
or ecx, 0xdda4ea3f
xor ecx, 0xc2389c71
cmp ecx, 0x38a8add7
jae 0x1804178bb
mov ecx, dword [0x18079b538]
or ecx, dword [0x18079b53c]
xor ecx, 0xfb93ece1
or ecx, 0x8980942
imul edx, ecx, 0x25296c75
lock dec qword [rax]
sete cl
cmp edx, 0x6cb76e5c
jb 0x1804178bb
jmp 0x180417591
test cl, 1
jne 0x18041759b
jmp 0x180417661
mov eax, dword [0x18079b540]
xor edx, edx
div dword [0x18079b544]
add eax, 0x474d50ba
xor eax, 0xcbae7e3d
imul eax, eax, 0xa69a7e8c
cmp eax, 0x9d738ef3
jbe 0x1804178d0
mov eax, dword [0x18079b548]
mov ecx, dword [0x18079b54c]
xor eax, ecx
imul rax, rax, 0x17c71771
shr rax, 0x3c
imul eax, eax, 0x15a891bf
imul rax, rax, 0x250957d1
shr rax, 0x3a
cmp eax, 0xbbb3bcc3
je 0x1804178d0
jmp 0x1804175fb
mov eax, dword [0x18079b550]
sub eax, dword [0x18079b554]
xor eax, 0xe7e6b8d2
or eax, 0x85e12347
mov ecx, 0xb98f63de
xor edx, edx
div ecx
cmp eax, 0x74a0dd8f
jae 0x1804178dd
jmp 0x180417627
mov ebx, dword [0x18079b558]
or ebx, dword [0x18079b55c]
and ebx, 0x4618f219
add ebx, 0xb459cb25
or ebx, 0x9e5726b4
sub rsp, 0x20
mov rcx, rdi
call fcn.1804be730
add rsp, 0x20
cmp ebx, 0xeded9727
ja 0x180417627
jmp 0x18041765f
jmp 0x180417661
mov eax, dword [0x18079b560]
xor edx, edx
div dword [0x18079b564]
or eax, 0x36e17e91
xor eax, 0xf08e1280
or eax, 0xafda0688
cmp eax, 0xca3d8857
jb 0x1804178fe
jmp 0x18041768b
mov eax, dword [0x18079b568]
add eax, dword [0x18079b56c]
imul eax, eax, 0x11725988
imul eax, eax, 0x1a3c411f
and eax, 0xf6eb33fe
mov rcx, rsi
add rcx, 0x30
cmp eax, 0x6771d653
jb 0x18041768b
jmp 0x1804176b8
sub rsp, 0x20
call fcn.1803fe7d0
add rsp, 0x20
mov rax, qword [rsi + 0x3f8]
cmp rax, 0
sete cl
test cl, 1
jne 0x180417749
jmp 0x1804176da
mov ecx, dword [str.e:X]
imul ecx, dword [0x18079b574]
or ecx, 0x1e7a2d37
imul ecx, ecx, 0x23a0296f
xor ecx, 0x3268dbde
cmp ecx, 0x88a1a400
je 0x18041790b
jmp 0x180417707
mov edx, dword [0x18079b578]
xor edx, dword [0x18079b57c]
and edx, 0x5ca37e07
or edx, 0x986080f0
or edx, 0x5884837c
mov rcx, rsi
add rcx, 0x400
cmp edx, 0xb9c42aa6
jb 0x180417707
jmp 0x180417739
mov rcx, qword [rcx]
sub rsp, 0x20
call qword [rax + 0x18]
add rsp, 0x20
jmp 0x180417749
sub rsp, 0x20
mov rcx, rsi
mov edx, 0x480
mov r8d, 0x80
call fcn.1804cafa0
add rsp, 0x20
jmp 0x180417827
mov r15, rsi
add r15, 0x28
mov rcx, qword [rsi + 0x28]
sub rsp, 0x20
call fcn.18063f660
add rsp, 0x20
mov qword [rbx], rax
mov qword [rbx + 8], rdx
mov r14, rsi
add r14, 0x30
sub rsp, 0x20
mov rcx, r14
call fcn.180351160
add rsp, 0x20
movabs rax, 0x8000000000000001
mov qword [rsi + 0x30], rax
mov r12, rsi
add r12, 0x38
sub rsp, 0x20
mov rcx, rbx
call fcn.18063f700
add rsp, 0x20
mov rbx, qword [r15]
sub rsp, 0x20
mov rcx, rbx
call fcn.18063f660
add rsp, 0x20
mov qword [rdi], rax
mov qword [rdi + 8], rdx
sub rsp, 0x20
mov rcx, r14
call fcn.180351160
add rsp, 0x20
movabs rax, 0x8000000000000000
mov qword [r14], rax
mov qword [r12], 1
mov qword [rsi + 0x40], 0
mov qword [rsi + 0x50], rbx
sub rsp, 0x20
mov rcx, rdi
call fcn.18063f700
mov rcx, rsi
call fcn.180412400
add rsp, 0x20
mov eax, dword [0x18079b580]
xor edx, edx
div dword [0x18079b584]
add eax, 0xfe5856b
imul eax, eax, 0xf735d1ce
mov ecx, 0xe627c339
xor edx, edx
div ecx
cmp eax, 0xa4a9df97
je 0x180417918
jmp 0x180417856
mov eax, dword [0x18079b588]
sub eax, dword [0x18079b58c]
imul eax, eax, 0x2f121827
xor eax, 0x4f2a915f
imul eax, eax, 0x48c5b1a3
cmp eax, 0x943c68f8
ja 0x180417856
mov rsp, rbp
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
lahf
add al, 0xf4
rcl byte [rbp - 0xef9f9b1]
test eax, edx
out 0xe9, eax
pop rsi
sti
invalid
xchg dword [rsi + rcx - 0x6b], ebp
invalid
rcl edi, cl
xor eax, 0x387f9cfe
and ebp, dword [rbx - 0x16208d93]
cld
invalid
invalid
invalid
invalid
xor byte [rdx], bl
out dx, eax
outsb dx, byte [rsi]
invalid
pop rax
fsub dword [rbp - 0x7b]
retf 0x30e3
imul ecx, esi, 0x88156da5
mov eax, 0x5f30faab
xchg esi, eax
jmp 0x180417854