Function at 0x1804bff50
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x20
mov eax, dword [0x1807ad5f8]
imul eax, dword [0x1807ad5fc]
or eax, 0x55ad42d5
xor eax, 0x53ad3854
xor eax, 0x27512566
cmp eax, 0x5bdb8a1b
jb 0x1804c0218
mov eax, dword [0x1807ad600]
xor edx, edx
div dword [0x1807ad604]
imul eax, eax, 0x5565606
imul eax, eax, 0x3025a893
add eax, 0xce3ccbad
mov rsi, qword [rcx]
mov r8, qword [rsi + 0x88]
cmp eax, 0x4a4b5f25
je 0x1804c0218
jmp 0x1804bffb2
mov eax, dword [0x1807ad608]
and eax, dword [0x1807ad60c]
and eax, 0x893ef84
mov ecx, 0x6aa77c2a
xor edx, edx
div ecx
sub eax, 0x13e908cb
cmp eax, 0x355be239
jb 0x1804c0225
jmp 0x1804bffde
mov eax, dword [str.h_v_]
add eax, dword [0x1807ad614]
sub eax, 0x6110f761
imul eax, eax, 0x3cd289dc
imul ecx, eax, 0x9f21e862
cmp r8, 0
sete al
cmp ecx, 0x14b6a4e2
jbe 0x1804bffde
jmp 0x1804c000c
test al, 1
jne 0x1804c0030
jmp 0x1804c0012
mov rax, rsi
add rax, 0x80
mov rcx, qword [rax]
shl r8, 3
mov rdx, r8
mov r8d, 8
call fcn.1804cafa0
mov eax, dword [0x1807ad618]
imul eax, dword [0x1807ad61c]
or eax, 0xf3e8e23
xor eax, 0x3e1dbad8
imul eax, eax, 0xb3f8480f
cmp eax, 0xa7f5eb9d
je 0x1804c0236
jmp 0x1804c005a
mov eax, dword [0x1807ad620]
or eax, dword [0x1807ad624]
add eax, 0xe6a439b
mov ecx, 0xf0f23494
xor edx, edx
div ecx
xor eax, 0xc2af9a96
mov rcx, 0xffffffffffffffff
cmp rsi, rcx
sete cl
cmp eax, 0xda859ecd
ja 0x1804c005a
jmp 0x1804c008f
mov eax, dword [0x1807ad628]
add eax, dword [0x1807ad62c]
add eax, 0xcc442919
add eax, 0xf4f9209d
mov r8d, 0x44b24e3
xor edx, edx
div r8d
cmp eax, 0x96055b44
jae 0x1804c0243
jmp 0x1804c00bd
mov eax, dword [0x1807ad630]
add eax, dword [0x1807ad634]
imul eax, eax, 0x2847723
or eax, 0x93fd2df0
and eax, 0xfe94c9d8
cmp eax, 0x4e530f21
jbe 0x1804c00bd
test cl, 1
jne 0x1804c0212
jmp 0x1804c00eb
mov eax, dword [0x1807ad638]
and eax, dword [0x1807ad63c]
mov ecx, 0x18128cd2
xor edx, edx
div ecx
xor eax, 0x7fc67beb
or eax, 0x467fc6c1
cmp eax, 0xaed09862
je 0x1804c0254
jmp 0x1804c0117
mov eax, dword [0x1807ad640]
xor eax, dword [0x1807ad644]
imul ecx, eax, 0x9254cc56
or ecx, 0xc5b46135
or ecx, 0x7c6853a3
mov rax, rsi
add rax, 8
cmp ecx, 0x493d716f
je 0x1804c0117
jmp 0x1804c0146
mov ecx, dword [0x1807ad648]
imul ecx, dword [0x1807ad64c]
imul ecx, ecx, 0xcfc61854
or ecx, 0xad040387
or ecx, 0x35c196c8
cmp ecx, 0x8504d5c4
je 0x1804c0265
jmp 0x1804c0173
mov edx, dword [0x1807ad650]
xor edx, dword [str.0]
sub edx, 0x37e67611
sub edx, 0x84015525
or edx, 0x98e98b3d
lock dec qword [rax]
sete cl
cmp edx, 0x3d0e303d
je 0x1804c0173
jmp 0x1804c01a2
mov eax, dword [0x1807ad658]
xor eax, dword [str.A__]
mov r8d, 0xbea02918
xor edx, edx
div r8d
xor eax, 0x9c8d8fee
imul eax, eax, 0x857fa377
cmp eax, 0x31216c8c
jbe 0x1804c027d
invalid
mov eax, dword [0x1807ad660]
or eax, dword [0x1807ad664]
imul eax, eax, 0x98f7c233
xor eax, 0x234140c9
add eax, 0xe7613f7e
cmp eax, 0x6fa65a9a
jbe 0x1804c027d
test cl, 1
jne 0x1804c01fd
jmp 0x1804c0212
mov rcx, rsi
mov edx, 0x100
mov r8d, 0x80
call fcn.1804cafa0
jmp 0x1804c0212
add rsp, 0x20
pop rsi
ret
or dl, byte [rbx - 0x65a43fee]
jne 0x1804c01bb
jmp 0x1804bff7c
ret 0xe6fd
invalid
invalid
or dl, byte [rcx]
sub ch, dl
push 0x446a46e3
invalid
invalid
adc rax, 0xffffffffc01bf91a
sub al, 0x27
jmp 0x1804c01cf