Function at 0x18041e640
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
mov r15, qword [rsi]
add r15, 0x158
mov r12, qword [rdx]
mov r13, r12
add r13, 8
xor edi, edi
mov eax, dword [0x18079bda8]
and eax, dword [0x18079bdac]
mov ecx, 0xf2d358e6
xor edx, edx
div ecx
or eax, 0xe7c30f1f
or eax, 0x12235c1f
cmp eax, 0x28d1cfd8
je 0x18041ec10
jmp 0x18041e695
mov eax, dword [0x18079bdb0]
mov ecx, dword [0x18079bdb4]
xor eax, ecx
imul rcx, rax, 0x9aec757
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1c
imul eax, eax, 0xe1690ab9
mov ecx, 0x919e2601
imul rax, rcx
shr rax, 0x3f
mov ebp, 1
xchg qword [r15], rbp
cmp eax, 0x126ad4ec
jae 0x18041e695
test rbp, rbp
je 0x18041e810
jmp 0x18041e6e4
mov rax, rbp
sub rax, 1
je 0x18041e7fc
jmp 0x18041e6f3
mov rax, qword [r12]
mov rax, qword [rax]
mov rcx, qword [r13]
call rax
mov rbx, rax
mov r14, rdx
mov eax, dword [0x18079bdb8]
add eax, dword [0x18079bdbc]
sub eax, 0xec892f9e
mov ecx, 0x2091226a
xor edx, edx
div ecx
xor eax, 0x5016a4e0
cmp eax, 0x82769fa3
je 0x18041ec25
jmp 0x18041e732
mov eax, dword [0x18079bdc0]
sub eax, dword [0x18079bdc4]
xor eax, 0xc781f17e
mov ecx, 0x35b50c85
xor edx, edx
div ecx
sub eax, 0x84b520c3
cmp eax, 0x133792f7
jbe 0x18041e732
jmp 0x18041e75a
mov rax, qword [rbp]
mov rcx, qword [rbp + 8]
call qword [rax + 0x18]
mov qword [rbp], rbx
mov qword [rbp + 8], r14
cmp rdi, 0
jne 0x18041e77b
mov rdi, rbp
jmp 0x18041eb3e
mov eax, dword [0x18079bdc8]
xor edx, edx
div dword [0x18079bdcc]
xor eax, 0x5a3849b9
imul eax, eax, 0x675e692d
mov ecx, 0xa3394093
xor edx, edx
div ecx
cmp eax, 0x426586a7
ja 0x18041ec32
mov edx, dword [0x18079bdd0]
xor edx, dword [0x18079bdd4]
add edx, 0xe3fdde16
or edx, 0xdd222ff5
or edx, 0x665008af
mov rax, qword [rdi]
mov rcx, qword [rdi + 8]
mov rax, qword [rax + 0x18]
cmp edx, 0xaf8af29d
jb 0x18041ec32
jmp 0x18041e7df
call rax
mov rcx, rdi
mov edx, 0x10
mov r8d, 8
call fcn.1804cafa0
mov rdi, rbp
jmp 0x18041eb3e
cmp rdi, 0
sete al
test al, 1
jne 0x18041e953
jmp 0x18041eb3e
cmp rdi, 0
sete al
mov ecx, dword [0x18079bdd8]
and ecx, dword [0x18079bddc]
sub ecx, 0x9694e71c
add ecx, 0x5613f4c1
xor ecx, 0x7e37a28e
cmp ecx, 0xa2ae5ae7
jae 0x18041ec3f
mov ecx, dword [0x18079bde0]
sub ecx, dword [0x18079bde4]
imul ecx, ecx, 0x659d2d5e
xor ecx, 0x3b459c81
sub ecx, 0x82411459
cmp ecx, 0x5076b0e3
jbe 0x18041ec3f
test al, 1
je 0x18041e871
jmp 0x18041e8ed
mov r8, qword [rdi]
mov r9, rdi
add r9, 8
mov eax, dword [0x18079bde8]
xor eax, dword [0x18079bdec]
sub eax, 0x1b7439db
imul eax, eax, 0x8737b997
sub eax, 0x270422be
cmp eax, 0x366706e4
je 0x18041ec4c
jmp 0x18041e8a4
mov eax, dword [0x18079bdf0]
xor eax, dword [0x18079bdf4]
sub eax, 0xe8ddfbee
imul eax, eax, 0x8c9f7a48
mov ecx, 0x301395ed
xor edx, edx
div ecx
mov rcx, qword [r9]
cmp eax, 0xf8aebcef
je 0x18041e8a4
jmp 0x18041e8d0
call qword [r8 + 0x18]
mov rcx, rdi
mov edx, 0x10
mov r8d, 8
call fcn.1804cafa0
jmp 0x18041e8ed
xor esi, esi
jmp 0x18041e8ed
mov eax, dword [0x18079bdf8]
or eax, dword [0x18079bdfc]
add eax, 0xa5502e97
and eax, 0x201c1f4c
imul eax, eax, 0x8e346d57
cmp eax, 0x2b0f141e
je 0x18041ec59
mov eax, dword [0x18079be00]
add eax, dword [0x18079be04]
imul eax, eax, 0x1d73b9bd
mov ecx, 0xf79cf35e
xor edx, edx
div ecx
add eax, 0x3dc16b32
cmp eax, 0xad4c348
jbe 0x18041ec59
mov rax, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x18079be08]
or eax, dword [0x18079be0c]
add eax, 0x657908d0
imul eax, eax, 0x4d68e246
imul eax, eax, 0x1c658ffc
cmp eax, 0xd79af13a
ja 0x18041ec6a
mov eax, dword [0x18079be10]
sub eax, dword [0x18079be14]
imul ecx, eax, 0x8a351a42
xor ecx, 0x96a80d24
xor ecx, 0x74ead4f3
mov rax, qword [r12]
cmp ecx, 0xfacaba32
ja 0x18041ec6a
jmp 0x18041e9ab
mov rax, qword [rax]
mov rcx, qword [r13]
call rax
mov r14, rax
mov rbx, rdx
mov al, byte [0x1807afe04]
mov ecx, 0x10
mov edx, 8
call fcn.1804caf90
mov rdi, rax
mov eax, dword [0x18079be18]
xor eax, dword [0x18079be1c]
xor eax, 0x2c38083d
add eax, 0xa893105f
sub eax, 0xdc09b55b
cmp eax, 0xfd927e7c
ja 0x18041ec77
mov eax, dword [0x18079be20]
or eax, dword [0x18079be24]
sub eax, 0x61fd4331
mov ecx, 0xbf40bb7
xor edx, edx
div ecx
sub eax, 0x1a72b77d
cmp rdi, 0
sete cl
cmp eax, 0x93896eb4
je 0x18041ec77
test cl, 1
jne 0x18041ea30
jmp 0x18041ea41
mov ecx, 8
mov edx, 0x10
call fcn.18063bc30
ud2
mov eax, dword [0x18079be28]
and eax, dword [0x18079be2c]
xor eax, 0xabfce2cb
xor eax, 0xe7fbdc5b
and eax, 0xfc1d5f22
cmp eax, 0x867c0a00
je 0x18041ec88
jmp 0x18041ea69
mov eax, dword [0x18079be30]
xor eax, dword [0x18079be34]
sub eax, 0xc110bd24
or eax, 0x5b6be38e
sub eax, 0xed3f0903
mov qword [rdi], r14
cmp eax, 0xa40102ea
je 0x18041ea69
jmp 0x18041ea90
mov eax, dword [0x18079be38]
add eax, dword [0x18079be3c]
mov ecx, 0x33da4717
xor edx, edx
div ecx
mov ecx, 0x8b5a9e77
xor edx, edx
div ecx
imul eax, eax, 0x9c63a110
cmp eax, 0x32f7bdf7
jae 0x18041ec9c
jmp 0x18041eac1
mov eax, dword [0x18079be40]
xor edx, edx
div dword [0x18079be44]
or eax, 0x25ba75ac
and eax, 0x5118b39d
imul eax, eax, 0x5f8048bc
mov qword [rdi + 8], rbx
cmp eax, 0xcdec210c
je 0x18041eac1
jmp 0x18041eaec
mov eax, dword [0x18079be48]
xor eax, dword [0x18079be4c]
add eax, 0x52b8fc94
or eax, 0x7e43b860
or eax, 0x89965ef2
cmp eax, 0x50a757a5
jbe 0x18041ecad
jmp 0x18041eb14
mov eax, dword [0x18079be50]
imul eax, dword [0x18079be54]
imul eax, eax, 0xc3570d6c
and eax, 0xccbb03e4
mov ecx, 0xcfd1a8b
xor edx, edx
div ecx
cmp eax, 0x63b4407
jae 0x18041eb14
jmp 0x18041eb3e
mov eax, 1
lock cmpxchg qword [r15], rdi
mov rcx, rax
sete al
test al, 1
jne 0x18041e8e9
mov eax, dword [0x18079be58]
and eax, dword [0x18079be5c]
and eax, 0xa964477a
sub eax, 0xc1c2060e
add eax, 0xf8862264
cmp eax, 0x31352ac1
jb 0x18041ecba
mov eax, dword [0x18079be60]
xor eax, dword [0x18079be64]
sub eax, 0x93774fce
add eax, 0xcc551a00
add eax, 0xf90aebde
cmp eax, 0xbd6c0df7
ja 0x18041ecba
jmp 0x18041eba4
mov eax, dword [0x18079be68]
or eax, dword [0x18079be6c]
imul eax, eax, 0xa7c27688
imul eax, eax, 0xbd298a5a
add eax, 0x936df36a
cmp eax, 0xa3fb5efc
ja 0x18041eccb
jmp 0x18041ebce
mov eax, dword [0x18079be70]
xor edx, edx
div dword [0x18079be74]
mov r8d, 0x1625fba9
xor edx, edx
div r8d
or eax, 0x5491b68e
or eax, 0xd22abc93
cmp rcx, 0
sete dl
cmp eax, 0x31afd7b9
je 0x18041ebce
invalid
jmp 0x18041ec01
test dl, 1
jne 0x18041e669
jmp 0x18041ec0c
ud2
sub eax, 0x56b70f0b
mov bh, 0x56
rcl dword [rbx + 0x3f]
mov eax, 1
xchg qword [r15], rax
jmp 0x18041e693
xchg ebx, eax
sbb al, 0x5e
insd dword [rdi], dx
loop 0x18041ec5f
rol byte [rdx - 0x50117], 0xff
mov eax, 0x7afde37c
adc al, 0x3c
adc ecx, ebp
imul edi, ebx, 0xdb38ffff
cmp bl, bl
dec dword [rsi - 0x5b]
in al, dx
jg 0x18041ebd2
jmp 0x18041e841
cmc
mov ecx, 0xbc31ac7d
rol dword [rcx - 0x3b617], 1
inc dword [rdi]
xchg edi, eax
jne 0x18041ec77
invalid
invalid
add eax, 0x9d40c06d
jmp 0x18041e914
sub byte [rax + rax*8], dl
sub al, 0x5a
mov eax, 0x4e99255
std
invalid
jns 0x18041ec13
and al, 0x60
jnp 0x18041ec75
and ah, bh
pop rsp
fnstcw word [rsi]
xchg edx, eax
jmp 0x18041e9f8
adc dword [rsi - 0x419aed5c], ebp
fisttp word [rbx]
fild dword [rax]
invalid
pop rax
and dh, al
sbb eax, 0x3aebe06a
mov qword [rdi + 8], rbx
jmp 0x18041eabf
scasd eax, dword [rdi]
pushfq
sal dword [rdi - 0x73], 0xc1
adc ebp, esi
jmp 0x18041eb12
pop rbp
jmp 0x18041ecb5
invalid