Function at 0x18049ec20
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rsi, rcx
mov rax, rdx
add rax, 0x10
mov rbx, qword [rdx + 8]
mov rdi, qword [rax]
mov ecx, 0x18
mov rax, rdi
mul rcx
mov r14, rax
seto al
movabs rcx, 0x7ffffffffffffff8
cmp r14, rcx
seta cl
or al, cl
xor r12d, r12d
test al, 1
jne 0x18049edb5
mov eax, dword [0x1807a9dd8]
xor edx, edx
div dword [0x1807a9ddc]
mov ecx, 0xf25eb29a
xor edx, edx
div ecx
xor eax, 0xcb89aff9
imul eax, eax, 0xe93d7ec4
cmp eax, 0x11e9461e
jb 0x18049ef75
jmp 0x18049ec9e
mov eax, dword [0x1807a9de0]
xor eax, dword [0x1807a9de4]
mov ecx, 0x6b8e3c87
xor edx, edx
div ecx
xor eax, 0x7a1bdde0
or eax, 0x4049d2af
cmp r14, 0
sete cl
cmp eax, 0x274ba0b7
jb 0x18049ec9e
jmp 0x18049eccd
mov eax, dword [0x1807a9de8]
xor eax, dword [0x1807a9dec]
mov r8d, 0x4c10e7e4
xor edx, edx
div r8d
xor eax, 0x100c1039
and eax, 0x3696ce93
cmp eax, 0x30233a3a
jae 0x18049ef82
jmp 0x18049ecfb
mov eax, dword [0x1807a9df0]
or eax, dword [0x1807a9df4]
mov r8d, 0x3cd8429d
xor edx, edx
div r8d
or eax, 0xc8dfdd39
add eax, 0x755635fc
cmp eax, 0xf612430e
ja 0x18049ecfb
test cl, 1
jne 0x18049ed2a
jmp 0x18049ed3c
cmp rdi, 0
sete al
mov r13d, 8
jmp 0x18049ef56
mov eax, dword [0x1807a9df8]
xor eax, dword [0x1807a9dfc]
xor eax, 0xcd86d472
or eax, 0xd3650e57
sub eax, 0x79dd6dde
cmp eax, 0xc8c0fc03
jae 0x18049ef93
jmp 0x18049ed64
mov eax, dword [0x1807a9e00]
sub eax, dword [0x1807a9e04]
mov ecx, 0xce18c60a
xor edx, edx
div ecx
xor eax, 0x9cf85ff2
sub eax, 0xca5f20ea
mov cl, byte [0x1807afe04]
cmp eax, 0x5e40e680
jbe 0x18049ed64
jmp 0x18049ed92
mov rcx, r14
mov edx, 8
call fcn.1804caf90
mov r13, rax
cmp r13, 0
sete al
mov r12d, 8
test al, 1
jne 0x18049edb5
jmp 0x18049ee11
mov eax, dword [0x1807a9e08]
xor edx, edx
div dword [0x1807a9e0c]
sub eax, 0xbcc3754f
add eax, 0xef0c23bb
sub eax, 0x5570c4a7
cmp eax, 0xe9657970
je 0x18049efaa
jmp 0x18049eddf
mov eax, dword [0x1807a9e10]
xor eax, dword [0x1807a9e14]
add eax, 0x493bb55c
imul esi, eax, 0xc1c9eb24
and esi, 0xa2ce9068
mov rcx, r12
mov rdx, r14
call fcn.18063bc30
cmp esi, 0x4f4ac2df
je 0x18049eddf
ud2
imul rax, rdi, 0x18
mov r14, rbx
add r14, rax
cmp rdi, 0
sete al
test al, 1
je 0x18049ee2b
jmp 0x18049ef56
xor ecx, ecx
mov qword [rsp + 0x20], rdi
jmp 0x18049ee34
mov eax, dword [0x1807a9e18]
xor edx, edx
div dword [0x1807a9e1c]
sub eax, 0x6a73caf
and eax, 0xc390bc64
sub eax, 0x9c343e80
cmp eax, 0x95f6bf58
ja 0x18049efc6
jmp 0x18049ee5e
mov eax, dword [0x1807a9e20]
sub eax, dword [0x1807a9e24]
add eax, 0x482497c2
imul eax, eax, 0x80a005f9
mov r8d, 0xfea91f5a
xor edx, edx
div r8d
cmp rbx, r14
sete dl
cmp eax, 0x51c61b71
jae 0x18049ee5e
test dl, 1
jne 0x18049ef54
jmp 0x18049ee98
add qword [rsp + 0x20], 0xffffffffffffffff
mov rax, rcx
add rax, 1
mov qword [rsp + 0x40], rax
mov rbp, rbx
add rbp, 0x18
imul rax, rcx, 0x18
mov r15, r13
add r15, rax
mov eax, dword [0x1807a9e28]
add eax, dword [0x1807a9e2c]
and eax, 0xf81dab77
xor eax, 0x37e57f02
and eax, 0x2f649ad8
cmp eax, 0x2afe670f
ja 0x18049efd3
mov r12d, dword [0x1807a9e30]
and r12d, dword [0x1807a9e34]
or r12d, 0x5b8975db
add r12d, 0xdc125251
add r12d, 0x5dcd3d6
lea rcx, [rsp + 0x28]
mov rdx, rbx
call fcn.180688140
mov rax, qword [rsp + 0x28]
mov qword [r15], rax
mov rax, qword [rsp + 0x30]
mov qword [r15 + 8], rax
mov rax, qword [rsp + 0x38]
mov qword [r15 + 0x10], rax
cmp qword [rsp + 0x20], 0
sete al
cmp r12d, 0x10521c66
jb 0x18049efd3
jmp 0x18049ef43
test al, 1
mov rbx, rbp
mov rcx, qword [rsp + 0x40]
jne 0x18049ef54
jmp 0x18049ee34
jmp 0x18049ef56
mov qword [rsi], rdi
mov qword [rsi + 8], r13
mov qword [rsi + 0x10], rdi
mov rax, rsi
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
pop rcx
invalid
imul ebp, dword [rdx + 1], 0xd5c221a
invalid
pop rax
invalid
invalid
stosd dword [rdi], eax
mov ecx, 0xf7f408d0
invalid
ret 0x2271