Function at 0x1804512b0
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x30
mov rsi, rcx
call fcn.180645b70
mov rdi, rax
mov rbx, rdi
add rbx, 0x50
movzx eax, byte [rbx]
test rax, rax
je 0x1804512e3
jmp 0x1804512d6
sub rax, 1
je 0x1804512f7
jmp 0x1804512de
jmp 0x180451840
lea rdx, [0x180477810]
mov rcx, rdi
call fcn.180666c30
mov byte [rbx], 1
jmp 0x1804512f7
mov bl, byte [rdi + 0x4c]
mov rcx, rdi
add rcx, 0x4d
mov dil, byte [rdi + 0x4d]
mov eax, dword [0x1807a1980]
and eax, dword [0x1807a1984]
add eax, 0xc5577f12
imul eax, eax, 0xe69a2cfd
or eax, 0x4cc0e33a
cmp eax, 0x78c83946
jb 0x180451899
jmp 0x18045132e
mov eax, dword [0x1807a1988]
or eax, dword [0x1807a198c]
and eax, 0x95d1f260
add eax, 0x11ac8e8c
mov r8d, 0x46262c81
xor edx, edx
div r8d
cmp bl, 0
sete dl
cmp eax, 0x45cb3b3c
ja 0x18045132e
jmp 0x18045135e
mov eax, dword [0x1807a1990]
add eax, dword [0x1807a1994]
add eax, 0x5ffbf5f0
or eax, 0xdbbf98fa
sub eax, 0xfdf10f42
cmp eax, 0x8d4819e7
jb 0x1804518a6
mov eax, dword [0x1807a1998]
and eax, dword [0x1807a199c]
sub eax, 0x899f4d85
and eax, 0xd002407f
and eax, 0xf3d6a186
cmp eax, 0xd71ca8d
je 0x1804518a6
xor eax, eax
test dl, 1
jne 0x180451862
jmp 0x1804513b7
cmp dil, 0
sete r8b
mov eax, dword [0x1807a19a0]
add eax, dword [0x1807a19a4]
mov r9d, 0x4ade34ea
xor edx, edx
div r9d
imul eax, eax, 0x7f8f8ecb
and eax, 0x7bbdf9f9
cmp eax, 0xfed77120
je 0x1804518b3
jmp 0x1804513ee
mov eax, dword [0x1807a19a8]
and eax, dword [0x1807a19ac]
or eax, 0x251ae193
imul eax, eax, 0x85374940
and eax, 0x2753a9
cmp eax, 0x1c4c20b6
je 0x1804513ee
test r8b, 1
jne 0x180451419
jmp 0x18045147f
mov eax, dword [0x1807a19b0]
xor eax, dword [0x1807a19b4]
and eax, 0x63c32b90
xor eax, 0x6e48ebd7
or eax, 0xaa8c6c35
cmp eax, 0x2882b27f
jbe 0x1804518c0
jmp 0x180451441
mov eax, dword [0x1807a19b8]
imul eax, dword [0x1807a19bc]
mov ecx, 0x642cf324
xor edx, edx
div ecx
imul eax, eax, 0x99ad4c1a
and eax, 0x56fba74d
cmp eax, 0x86dfc87c
ja 0x180451441
jmp 0x18045146b
mov rax, qword [rsi]
mov rax, qword [rax + 0x10]
mov rcx, qword [rsi + 8]
call rax
mov al, 1
jmp 0x180451862
mov eax, dword [0x1807a19c0]
and eax, dword [0x1807a19c4]
and eax, 0xba809422
sub eax, 0xae2133cc
mov r8d, 0xe67d64a4
xor edx, edx
div r8d
cmp eax, 0x76063d1e
jae 0x1804518cd
jmp 0x1804514ad
mov edx, dword [0x1807a19c8]
sub edx, dword [0x1807a19cc]
xor edx, 0x12712119
sub edx, 0xc66b1774
add edx, 0xa01293d3
mov al, dil
add al, 0xff
cmp edx, 0x74d7cb3e
jbe 0x1804514ad
jmp 0x1804514da
mov edx, dword [0x1807a19d0]
and edx, dword [0x1807a19d4]
or edx, 0x5e817870
add edx, 0xd27d4143
xor edx, 0x6ce0e5b9
cmp edx, 0x4ac03a53
jbe 0x1804518de
lea rax, [rsp + 0x2c]
add rax, 1
add eax, 1
push rbx
fst dword [0x19f7179eb]
fldl2t
xchg dl, bh
invalid
push 0xfffffffffffffff7
outsd dx, dword [rsi]
adc byte [rcx], ch
loop 0x180451913
insd dword [rdi], dx
jmp 0x180451384
xor eax, 0xd78718a9
add r11b, r13b
jmp 0x1804513ec
pop rbx
sbb edx, eax
or ebp, edx
sub dword [rdx], ecx
mov ch, 0xe9
jb 0x1804518c6
or dh, byte [rbp - 0x48d17]
jmp rbp
invalid
in eax, 0x75
clc
outsd dx, dword [rsi]
xor dword [rdx - 0x3cf6affa], 0xcde90120
sti
invalid
invalid
cwde
add byte [rax + 0x41], ch
mov byte [rsi], 1
jmp 0x180451649