Function at 0x180450d80
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x778
lea rbp, [rsp + 0x80]
mov rsi, rcx
mov eax, 0x3c0
call fcn.180698e80
sub rsp, rax
mov rdi, rsp
mov eax, 0x3c0
call fcn.180698e80
sub rsp, rax
mov rbx, rsp
mov eax, 0x10
call fcn.180698e80
sub rsp, rax
mov r14, rsp
sub rsp, 0x20
call fcn.18064a7d0
add rsp, 0x20
mov qword [r14], rax
sub rsp, 0x20
mov rcx, rbx
mov rdx, rsi
mov r8d, 0x3b8
call fcn.1806a7400
add rsp, 0x20
mov qword [rbx + 0x3b8], r14
sub rsp, 0x20
call fcn.180645b70
add rsp, 0x20
mov rsi, rax
mov r14, rsi
add r14, 0x50
movzx eax, byte [r14]
test rax, rax
je 0x180450e29
jmp 0x180450e1c
sub rax, 1
je 0x180450e97
jmp 0x180450e24
jmp 0x18045107d
lea rdx, [0x180477810]
sub rsp, 0x20
mov rcx, rsi
call fcn.180666c30
add rsp, 0x20
mov eax, dword [0x1807a1900]
and eax, dword [0x1807a1904]
mov ecx, 0x10d8ed48
xor edx, edx
div ecx
or eax, 0x102b5d0e
and eax, 0x43fe9b55
cmp eax, 0x4ad1595b
ja 0x1804511f4
jmp 0x180450e6c
mov eax, dword [0x1807a1908]
imul eax, dword [0x1807a190c]
add eax, 0xbcaa5234
or eax, 0xdd624110
and eax, 0x8722d041
mov byte [r14], 1
cmp eax, 0x1f8d9bd5
jbe 0x180450e6c
jmp 0x180450e95
jmp 0x180450e97
sub rsp, 0x20
mov rcx, rdi
mov rdx, rbx
mov r8d, 0x3c0
call fcn.1806a7400
add rsp, 0x20
mov rcx, qword [rsi]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
setb r8b
mov eax, dword [0x1807a1910]
add eax, dword [0x1807a1914]
and eax, 0x1fc43fea
and eax, 0xe5a7f32f
mov r9d, 0xf39bbb73
xor edx, edx
div r9d
cmp eax, 0xa1d2620a
je 0x180451209
jmp 0x180450ef2
mov eax, dword [0x1807a1918]
imul eax, dword [0x1807a191c]
imul eax, eax, 0x1878b224
mov r9d, 0x7adfe1d4
xor edx, edx
div r9d
imul eax, eax, 0xb2aabb83
cmp eax, 0xa4ce5606
jae 0x180450ef2
test r8b, 1
jne 0x180450f8d
jmp 0x180450f25
lea rcx, [0x1806c8850]
sub rsp, 0x20
call fcn.18063bc30
add rsp, 0x20
mov eax, dword [0x1807a1920]
add eax, dword [0x1807a1924]
or eax, 0x11607feb
or eax, 0x9a131d9a
mov ecx, 0xd8c50e93
xor edx, edx
div ecx
cmp eax, 0x6c0b13f9
ja 0x180451216
mov eax, dword [0x1807a1928]
xor edx, edx
div dword [0x1807a192c]
or eax, 0x776f553e
and eax, 0xa6a91cf
xor eax, 0x5f30d323
cmp eax, 0x5b1a3fbe
je 0x180451216
ud2
mov eax, dword [0x1807a1930]
and eax, dword [0x1807a1934]
imul eax, eax, 0xe9b90231
and eax, 0x9fdcdb0d
mov r8d, 0x96756cce
xor edx, edx
div r8d
cmp eax, 0xd22c9a7a
jae 0x180451227
mov eax, dword [0x1807a1938]
or eax, dword [0x1807a193c]
add eax, 0x5f7599c0
add eax, 0x7080c804
imul eax, eax, 0xb30d614b
mov rdx, rcx
add rdx, 1
mov qword [rsi], rdx
cmp eax, 0x7e52de1
je 0x180451227
jmp 0x180450fed
mov rbx, rsi
add rbx, 8
mov eax, dword [0x1807a1940]
sub eax, dword [0x1807a1944]
mov ecx, 0x91f770e5
xor edx, edx
div ecx
or eax, 0x947b7fd1
and eax, 0xe56dab14
cmp eax, 0xfe7e5b45
jae 0x180451242
jmp 0x180451020
mov eax, dword [0x1807a1948]
or eax, dword [0x1807a194c]
sub eax, 0xe18aec04
mov ecx, 0x62d663ac
xor edx, edx
div ecx
mov r14d, eax
xor r14d, 0xa8075e67
cmp qword [rbx], 3
sete r15b
lea rcx, [rbp + 0x338]
sub rsp, 0x20
mov rdx, rdi
mov r8d, 0x3c0
call fcn.1806a7400
add rsp, 0x20
cmp r14d, 0xf1ec41ce
je 0x180451020
test r15b, 1
jne 0x1804510de
jmp 0x18045114b
sub rsp, 0x20
mov rcx, rbx
call fcn.180447f30
add rsp, 0x20
mov eax, dword [0x1807a1950]
xor eax, dword [0x1807a1954]
sub eax, 0xec0d0537
imul eax, eax, 0xd9194223
add eax, 0x93382ba3
cmp eax, 0x8140237e
jae 0x18045126c
jmp 0x1804510b6
mov eax, dword [0x1807a1958]
xor eax, dword [0x1807a195c]
mov ecx, 0xb3353955
xor edx, edx
div ecx
sub eax, 0x2bcb8555
xor eax, 0xcfebe2a3
cmp eax, 0x36f8b084
jae 0x1804510b6
jmp 0x1804510fc
lea rcx, [rbp + 0x338]
sub rsp, 0x20
call fcn.180447f30
add rsp, 0x20
mov rax, qword [rsi]
add rax, 0xffffffffffffffff
mov qword [rsi], rax
ud2
lea rcx, [rbp - 0x80]
sub rsp, 0x20
mov rdx, rdi
mov r8d, 0x3b8
call fcn.1806a7400
add rsp, 0x20
mov rax, qword [rbp + 0x6f0]
mov r8, qword [rax]
lea rdx, [rbp - 0x80]
sub rsp, 0x20
mov rcx, rbx
call fcn.18049ba60
add rsp, 0x20
mov rcx, qword [rsi]
mov edx, dword [0x1807a1970]
xor edx, dword [0x1807a1974]
and edx, 0xb61f8d8f
or edx, 0x43529992
imul edx, edx, 0xe4520d61
cmp edx, 0xeb22f0ea
ja 0x180451286
mov edx, dword [0x1807a1978]
sub edx, dword [0x1807a197c]
add edx, 0x353a18de
and edx, 0xfa17823a
add edx, 0x34524213
mov r8, rcx
add r8, 0xffffffffffffffff
mov qword [rsi], r8
cmp edx, 0xe84f11b6
je 0x180451286
lea rsp, [rbp + 0x6f8]
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
in eax, 0xdb
cmc
stosd dword [rdi], eax
sub esp, dword [rdx + 0x33]
invalid
mov ebx, 0x39eded2d
sub byte [rbp + 0x40], al
jmp 0x180450ef0
mov ecx, 0x836d7658
sti
pushfq
invalid
scasb al, byte [rdi]
invalid
invalid
mov byte [rsi], al
pop rsi
invalid
add dword [rcx - 0x642e2c82], edi
sub eax, 0x16db56cf
mov eax, 0x48ca8948
add edx, 0xffffffff
mov qword [rsi], rdx
jmp 0x1804511b0