Function at 0x18044f160
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov rdi, rdx
mov rsi, rcx
mov rbx, qword [r8]
mov rcx, rbx
call fcn.1804512b0
test al, 1
jne 0x18044f6f2
jmp 0x18044f187
mov ecx, eax
shr ecx, 0x10
shr eax, 8
mov byte [rsp + 0x26], al
mov byte [rsp + 0x27], cl
mov rdi, qword [rdi]
mov r14, rdi
add r14, 0x1a0
mov r15, rdi
add r15, 0x80
lea rcx, [rsp + 0x28]
mov rdx, r14
mov r8, r15
call fcn.1804027b0
mov rcx, qword [rsp + 0x28]
mov eax, dword [0x1807a1640]
xor edx, edx
div dword [0x1807a1644]
imul eax, eax, 0xf274614f
or eax, 0xe3f64276
or eax, 0x301cb035
cmp eax, 0x8105327
jbe 0x18044f767
mov eax, dword [0x1807a1648]
sub eax, dword [0x1807a164c]
or eax, 0x66e192b2
add eax, 0x75c2f9c3
add eax, 0x3a1099a0
cmp eax, 0x6a474641
jb 0x18044f767
movabs rax, 0x8000000000000005
mov rdx, rcx
sub rdx, rax
je 0x18044f5af
jmp 0x18044f22a
movabs rax, 0x8000000000000006
sub rcx, rax
jne 0x18044f533
jmp 0x18044f23f
mov eax, dword [0x1807a1650]
add eax, dword [0x1807a1654]
sub eax, 0x872928ca
sub eax, 0xef794458
imul eax, eax, 0x96fc05b
cmp eax, 0x1437f77f
jb 0x18044f778
mov eax, dword [0x1807a1658]
add eax, dword [0x1807a165c]
sub eax, 0x166348f6
imul eax, eax, 0xe893c606
imul ebp, eax, 0xb708a617
mov rcx, rdi
add rcx, 0x100
mov rdx, rbx
call fcn.18063ced0
cmp ebp, 0xdd2c9153
je 0x18044f778
jmp 0x18044f2a3
lea rcx, [rsp + 0x50]
mov rdx, r14
mov r8, r15
call fcn.1804027b0
mov rax, qword [rsp + 0x50]
movabs rcx, 0x8000000000000005
mov rdx, rax
sub rdx, rcx
je 0x18044f501
jmp 0x18044f2d0
movabs rcx, 0x8000000000000006
sub rax, rcx
jne 0x18044f479
jmp 0x18044f2e5
mov rax, rdi
add rax, 0x1b8
cmp byte [rax], 0
jne 0x18044f353
movabs rax, 0x8000000000000006
mov qword [rsi], rax
mov eax, dword [0x1807a1660]
add eax, dword [0x1807a1664]
imul eax, eax, 0x3bd24df9
or eax, 0xf086a30d
or eax, 0xab1cd145
cmp eax, 0xe7687601
je 0x18044f79b
mov eax, dword [0x1807a1668]
xor eax, dword [0x1807a166c]
add eax, 0x5f2d335
imul eax, eax, 0xfac60f38
add eax, 0xda0c20c7
cmp eax, 0xc9c6bef7
ja 0x18044f79b
jmp 0x18044f692
add rdi, 0x1c0
mov rcx, rdi
call fcn.18063b410
mov cl, al
mov eax, dword [0x1807a1670]
or eax, dword [0x1807a1674]
xor eax, 0x2698a975
sub eax, 0x4eacb3ac
imul eax, eax, 0x71252b6b
cmp eax, 0x38cb59a1
jb 0x18044f7ac
mov eax, dword [0x1807a1678]
imul eax, dword [0x1807a167c]
imul eax, eax, 0xc06944b8
add eax, 0xbe8f43d9
mov r8d, 0xf8f3a7a5
xor edx, edx
div r8d
cmp eax, 0xa56382e4
ja 0x18044f7ac
test cl, 1
jne 0x18044f3c3
jmp 0x18044f2f3
mov byte [rsp + 0x26], 0
mov eax, dword [0x1807a1680]
xor edx, edx
div dword [0x1807a1684]
or eax, 0x6f2d1ec6
or eax, 0x11dd21d7
and eax, 0x11b256d1
cmp eax, 0x3ebf68e8
je 0x18044f7bd
mov eax, dword [0x1807a1688]
add eax, dword [0x1807a168c]
and eax, 0xe24e755a
imul eax, eax, 0x82881e91
and eax, 0x3fed5f90
movabs rcx, 0x8000000000000005
mov qword [rsi], rcx
cmp eax, 0x1a04a94d
jb 0x18044f7bd
jmp 0x18044f426
mov eax, dword [0x1807a1690]
add eax, dword [0x1807a1694]
or eax, 0x8dd5dde0
or eax, 0xe1032c7d
sub eax, 0xcbc9f287
cmp eax, 0x2f8e8283
jae 0x18044f7d7
jmp 0x18044f44e
mov eax, dword [0x1807a1698]
add eax, dword [0x1807a169c]
mov ecx, 0x613b4b3c
xor edx, edx
div ecx
or eax, 0x644d404d
sub eax, 0x11d53988
cmp eax, 0x706a1276
je 0x18044f44e
jmp 0x18044f692
lea rdx, [rsp + 0x50]
mov rcx, rsi
mov r8d, 0x28
call fcn.1806a7400
add rdi, 0x1c0
mov eax, dword [0x1807a16a0]
add eax, dword [0x1807a16a4]
and eax, 0x5e4c0759
imul eax, eax, 0x88a8652d
mov ecx, 0xcf2501db
xor edx, edx
div ecx
cmp eax, 0x65de7adb
je 0x18044f7e8
mov eax, dword [0x1807a16a8]
and eax, dword [0x1807a16ac]
mov ecx, 0x3831392
xor edx, edx
div ecx
mov ecx, 0x401f2810
xor edx, edx
div ecx
mov ebx, eax
xor ebx, 0xd9463fd8
mov rcx, rdi
call fcn.18063b3f0
cmp ebx, 0x1742f2dc
je 0x18044f7e8
jmp 0x18044f4fa
mov byte [rsp + 0x26], 0
jmp 0x18044f516
add rdi, 0x1c0
mov rcx, rdi
call fcn.18063b410
test al, 1
jne 0x18044f51f
jmp 0x18044f51b
jmp 0x18044f692
ud2
mov byte [rsp + 0x26], 0
movabs rax, 0x8000000000000005
mov qword [rsi], rax
jmp 0x18044f516
mov eax, dword [0x1807a16b0]
sub eax, dword [0x1807a16b4]
imul eax, eax, 0xb330f927
add eax, 0xf605bdab
sub eax, 0x9942f000
cmp eax, 0x7c892586
ja 0x18044f7fd
mov ebx, dword [0x1807a16b8]
add ebx, dword [0x1807a16bc]
or ebx, 0xd9df68c2
add ebx, 0x9c093afe
xor ebx, 0x278eff43
lea rdx, [rsp + 0x28]
mov rcx, rsi
mov r8d, 0x28
call fcn.1806a7400
mov rcx, rdi
add rcx, 0x1c0
cmp ebx, 0x782fa0b0
ja 0x18044f7fd
jmp 0x18044f5a3
call fcn.18063b3f0
mov byte [rsp + 0x26], 0
jmp 0x18044f5c8
add rdi, 0x1c0
mov rcx, rdi
call fcn.18063b410
test al, 1
jne 0x18044f67b
jmp 0x18044f623
mov eax, dword [0x1807a16c0]
or eax, dword [0x1807a16c4]
imul eax, eax, 0x466ff7b9
add eax, 0x635fea0c
and eax, 0x8a41f884
cmp eax, 0x1c614055
je 0x18044f81d
mov eax, dword [0x1807a16c8]
xor edx, edx
div dword [0x1807a16cc]
mov ecx, 0xfd27f401
xor edx, edx
div ecx
mov ecx, 0x658b1399
xor edx, edx
div ecx
add eax, 0xacdf2040
cmp eax, 0x8558bcc0
jbe 0x18044f81d
jmp 0x18044f621
jmp 0x18044f692
ud2
mov eax, dword [0x1807a16d8]
and eax, dword [0x1807a16dc]
mov ecx, 0xd15ca7d3
xor edx, edx
div ecx
and eax, 0xf105b15
xor eax, 0x1df1cfab
cmp eax, 0x2ba65e40
jae 0x18044f82e
ud2
mov byte [rsp + 0x26], 0
movabs rax, 0x8000000000000005
mov qword [rsi], rax
jmp 0x18044f5c8
lea rcx, [rsp + 0x26]
call fcn.180641060
mov eax, dword [0x1807a16e0]
or eax, dword [0x1807a16e4]
mov ecx, 0x859899ea
xor edx, edx
div ecx
or eax, 0xb2723f19
add eax, 0x6095a41f
cmp eax, 0x2bc8cea7
je 0x18044f83b
mov eax, dword [0x1807a16e8]
sub eax, dword [0x1807a16ec]
imul eax, eax, 0xbcb1b0c2
add eax, 0x4322ecde
imul eax, eax, 0x36bd1d63
cmp eax, 0xf6ad031
je 0x18044f83b
jmp 0x18044f6f0
jmp 0x18044f757
movabs rax, 0x8000000000000006
mov qword [rsi], rax
mov eax, dword [0x1807a16f0]
and eax, dword [0x1807a16f4]
sub eax, 0x51de6678
sub eax, 0x737bd4bf
mov ecx, 0xa3d5fa24
xor edx, edx
div ecx
cmp eax, 0xf9dd212c
je 0x18044f848
jmp 0x18044f72b
mov eax, dword [0x1807a16f8]
xor edx, edx
div dword [0x1807a16fc]
mov ecx, 0xda7276ab
xor edx, edx
div ecx
xor eax, 0x64649e51
and eax, 0xedec6d11
cmp eax, 0x33ff71d2
jbe 0x18044f72b
jmp 0x18044f755
jmp 0x18044f757
mov rax, rsi
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov edx, 0x8f6c5794
and byte [rsp + rdx*8 - 0x33bdd5fb], al
jmp 0x18044f1ec
sbb esp, edx
movsb byte [rdi], byte [rsi]
jmp cs:[0x192eff15c]
pop rcx
lea esi, [rbx + rax]
cmpsd dword [rsi], dword [rdi]
adc dword [rdi - 8], edi
xor eax, 0xe968c644
jnp 0x18044f7a5
invalid
invalid
out 0xea, al
mov bl, 0x75
mov r13b, 0x83
sub esp, ecx
jmp 0x18044f38b
jp 0x18044f7bf
insb byte [rdi], dx
adc ebp, dword [rcx]
popfq
invalid
test eax, 0x98bd2402
iretd
in al, dx
mov dl, 0xc0
js 0x18044f82f
push 0x48
mov ecx, edi
call fcn.18063b3f0
jmp 0x18044f4be
invalid
add cl, ch
cmp eax, 0x67fffffd
invalid
invalid
nop
lea edi, [rdx - 0x15e646cd]
xlatb
jmp 0x18044f64f
ror byte [rbp + 3], 0x17
sub al, 0xe6
mov edx, 0xfe7ee9e6
invalid
lahf
mov ch, 0xa
jae 0x18044f8c3
jp 0x18044f817
bnd jmp 0x18044f729
add al, ch
invalid