Function at 0x1804a5050
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x18
lea rbp, [rsp + 0x10]
mov rdi, rdx
mov rsi, rcx
mov eax, dword [0x1807aa7d0]
xor edx, edx
div dword [0x1807aa7d4]
and eax, 0x946dfa61
sub eax, 0x8a26055a
add eax, 0xd833120a
cmp eax, 0xdc34ae8f
ja 0x1804a556a
jmp 0x1804a5095
mov eax, dword [0x1807aa7d8]
mov ecx, dword [0x1807aa7dc]
xor edx, edx
div ecx
and eax, 0xba7f8d98
imul ecx, eax, 0xb7cdcb6
mov eax, 0x20
call fcn.180698e80
sub rsp, rax
mov rbx, rsp
cmp ecx, 0x49d008af
ja 0x1804a5095
jmp 0x1804a50ca
mov eax, 0x50
call fcn.180698e80
sub rsp, rax
mov r15, rsp
mov eax, 0x20
call fcn.180698e80
sub rsp, rax
mov r13, rsp
mov eax, 0x20
call fcn.180698e80
sub rsp, rax
mov r14, rsp
sub rsp, 0x20
mov rcx, r13
mov rdx, rdi
call fcn.180491720
add rsp, 0x20
movabs rax, 0x8000000000000000
cmp qword [r13], rax
jne 0x1804a523d
mov eax, dword [0x1807aa7e0]
and eax, dword [0x1807aa7e4]
or eax, 0x5113f882
mov ecx, 0x8ed50671
xor edx, edx
div ecx
or eax, 0x28c86435
cmp eax, 0x52a5083
je 0x1804a557b
mov eax, dword [0x1807aa7e8]
or eax, dword [0x1807aa7ec]
imul eax, eax, 0xbb7b1001
and eax, 0x5e41e3eb
and eax, 0x650d8684
mov qword [rsi], 0
mov ecx, 8
mov qword [rsi + 8], rcx
cmp eax, 0x5835ab59
je 0x1804a557b
jmp 0x1804a5184
mov eax, dword [0x1807aa7f0]
xor edx, edx
div dword [0x1807aa7f4]
imul eax, eax, 0x64cdd14
and eax, 0x741885ab
sub eax, 0x17026c39
cmp eax, 0x2705bd52
je 0x1804a5598
jmp 0x1804a51af
mov ecx, dword [0x1807aa7f8]
and ecx, dword [0x1807aa7fc]
and ecx, 0x79c9074c
add ecx, 0x8e8a8ecd
sub ecx, 0xb129bdfe
mov rax, rsi
add rax, 0x10
cmp ecx, 0x3b9a6d63
je 0x1804a51af
jmp 0x1804a51de
mov ecx, dword [0x1807aa800]
imul ecx, dword [0x1807aa804]
imul ecx, ecx, 0x6ccbf60d
imul ecx, ecx, 0xbd3089bd
xor ecx, 0x9cdd4c3c
cmp ecx, 0x81a43a02
jbe 0x1804a55a5
jmp 0x1804a520b
mov ecx, dword [0x1807aa808]
add ecx, dword [0x1807aa80c]
sub ecx, 0xb9274265
xor ecx, 0xfd4ca896
and ecx, 0x9a7d33bf
mov qword [rax], 0
cmp ecx, 0x29060ac2
jae 0x1804a520b
jmp 0x1804a550b
mov al, byte [0x1807afe04]
sub rsp, 0x20
mov ecx, 0x60
mov edx, 8
call fcn.1804caf90
add rsp, 0x20
mov r12, rax
cmp r12, 0
jne 0x1804a527c
sub rsp, 0x20
mov ecx, 8
mov edx, 0x60
call fcn.18063bc30
add rsp, 0x20
ud2
mov qword [rbp], rdi
mov eax, dword [0x1807aa810]
imul eax, dword [0x1807aa814]
sub eax, 0xed05f28d
imul eax, eax, 0x2d04e6ef
and eax, 0x74398c9f
cmp eax, 0x5f50aec3
je 0x1804a55bd
jmp 0x1804a52aa
mov eax, dword [0x1807aa818]
sub eax, dword [0x1807aa81c]
sub eax, 0x95f5d6c3
mov ecx, 0x8726db03
xor edx, edx
div ecx
and eax, 0x5e5a70d0
mov rcx, qword [r13]
mov qword [r12], rcx
mov rcx, qword [r13 + 8]
mov qword [r12 + 8], rcx
mov rcx, qword [r13 + 0x10]
mov qword [r12 + 0x10], rcx
mov qword [r14], 4
mov rdi, r14
add rdi, 8
mov qword [r14 + 8], r12
cmp eax, 0x4855ba7e
je 0x1804a52aa
jmp 0x1804a52fe
mov qword [rbp - 0x10], rsi
mov eax, dword [0x1807aa820]
xor edx, edx
div dword [0x1807aa824]
imul eax, eax, 0xb539c701
mov ecx, 0x46b6d329
xor edx, edx
div ecx
mov ecx, 0x14001a78
xor edx, edx
div ecx
cmp eax, 0xf0661951
je 0x1804a55f3
mov rsi, r15
jmp 0x1804a5338
mov eax, dword [0x1807aa828]
or eax, dword [0x1807aa82c]
sub eax, 0x1ea967f2
or eax, 0x3aaa85a2
imul r15d, eax, 0x7c18ede4
mov r13, r14
add r13, 0x10
mov qword [r14 + 0x10], 1
sub rsp, 0x20
mov rcx, rsi
mov rdx, qword [rbp]
mov r8d, 0x48
call fcn.1806a7400
add rsp, 0x20
cmp r15d, 0xb305a447
jbe 0x1804a5338
mov qword [rbp - 8], rsi
jmp 0x1804a538d
sub rsp, 0x20
mov rcx, rbx
mov rdx, qword [rbp - 8]
call fcn.180491720
add rsp, 0x20
movabs rax, 0x8000000000000000
cmp qword [rbx], rax
mov rsi, qword [rbp - 0x10]
je 0x1804a549d
mov r15d, 1
jmp 0x1804a53c0
mov eax, dword [0x1807aa830]
add eax, dword [0x1807aa834]
xor eax, 0xc5dca9f
and eax, 0x325dcc4d
mov ecx, 0xb807f9d4
xor edx, edx
div ecx
cmp eax, 0xca391bc5
jae 0x1804a5622
jmp 0x1804a53ec
mov eax, dword [0x1807aa838]
sub eax, dword [0x1807aa83c]
imul ecx, eax, 0xc4fd8776
sub ecx, 0xf9d3e0fd
sub ecx, 0xb08f6f50
cmp r15, qword [r14]
sete al
cmp ecx, 0x63afa149
je 0x1804a53ec
test al, 1
jne 0x1804a546e
jmp 0x1804a541e
imul rax, r15, 0x18
mov rcx, r12
add rcx, rax
mov rax, qword [rbx]
mov qword [rcx], rax
mov rax, qword [rbx + 8]
mov qword [rcx + 8], rax
mov rax, qword [rbx + 0x10]
mov qword [rcx + 0x10], rax
add r15, 1
mov qword [r13], r15
sub rsp, 0x20
mov rcx, rbx
mov rdx, qword [rbp - 8]
call fcn.180491720
add rsp, 0x20
movabs rax, 0x8000000000000000
cmp qword [rbx], rax
je 0x1804a549b
jmp 0x1804a53c0
sub rsp, 0x30
mov rcx, r14
mov rdx, r15
mov r8d, 1
mov r9d, 8
mov qword [rsp + 0x20], 0x18
call fcn.18045c010
add rsp, 0x30
mov r12, qword [rdi]
jmp 0x1804a541e
jmp 0x1804a549d
mov eax, dword [0x1807aa840]
add eax, dword [0x1807aa844]
sub eax, 0x12325b75
add eax, 0x9968f0d7
mov ecx, 0x93d107bf
xor edx, edx
div ecx
cmp eax, 0x7d154a8b
je 0x1804a562f
mov eax, dword [0x1807aa848]
and eax, dword [0x1807aa84c]
or eax, 0x80e90260
and eax, 0xf778bfba
mov ecx, 0x21cf5c27
xor edx, edx
div ecx
cmp eax, 0x60df4f47
jae 0x1804a562f
jmp 0x1804a54f3
mov rax, qword [r14]
mov qword [rsi], rax
mov rax, qword [r14 + 8]
mov qword [rsi + 8], rax
mov rax, qword [r14 + 0x10]
mov qword [rsi + 0x10], rax
jmp 0x1804a550b
mov eax, dword [0x1807aa850]
xor eax, dword [0x1807aa854]
or eax, 0x1865df97
sub eax, 0xaf41be3e
xor eax, 0x2e0b95ab
cmp eax, 0x8e7c8cbf
jae 0x1804a563c
jmp 0x1804a5533
mov eax, dword [0x1807aa858]
imul eax, dword [0x1807aa85c]
sub eax, 0xc6d84afd
or eax, 0xfd76105f
or eax, 0xa7607191
cmp eax, 0x5557ba5f
je 0x1804a5533
mov rax, rsi
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
cmp ah, byte [rcx + rbx]
jl 0x1804a55b3
psrlw mm0, qword [rdx + 0x556507c5]
jmp 0x1804a5093
sbb al, 0x9b
and qword [r10 - 0x29], r15
ror byte [rax - 0x39], cl
invalid
test al, 0xf6
xor esp, dword [rdi]
xor ecx, dword [rdi]
stc
jmp 0x1804a51ad
cmp edx, dword [rdx]
invalid
add byte [rax], al
add byte [rax], al
add cl, ch
cld
invalid
pop rsi
push rdx
adc ch, byte [rdx - 0x4ec39bd9]
mov esp, 0x49199721
mov eax, dword [rbp]
mov qword [r12], rax
mov rax, qword [r13 + 8]
mov qword [r12 + 8], rax
mov rax, qword [r13 + 0x10]
mov qword [r12 + 0x10], rax
mov qword [r14], 4
mov qword [r14 + 8], r12
jmp 0x1804a52a8
push 0xffffffffac82fe3e
mov edx, ebp
mov edx, 0x1046c749
add dword [rax], eax
add byte [rax], al
sub rsp, 0x20
mov rcx, r15
mov ecx, edi
mov rdx, qword [rbp]
mov r8d, 0x48
call fcn.1806a7400
add rsp, 0x20
jmp 0x1804a5333
jo 0x1804a5608
and eax, 0x5dd84cb
jno 0x1804a5614
mov ebx, 0xf9fffffd
stc
invalid
mov esi, dword [rdx - 0x3c]
invalid