Function at 0x1803c2000
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rcx
mov rax, rsi
add rax, 0x10
movzx eax, byte [rax]
mov ecx, eax
sub ecx, 3
je 0x1803c2038
jmp 0x1803c2021
sub eax, 4
je 0x1803c216e
jmp 0x1803c202c
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov rax, rsi
add rax, 0x18
mov ecx, dword [0x180792c00]
and ecx, dword [str.JtF__P_jh]
and ecx, 0xa82dd701
or ecx, 0xfd1d9ea
imul ecx, ecx, 0xe62ca92
cmp ecx, 0xb68bfbfe
ja 0x1803c2602
mov ecx, dword [0x180792c08]
xor ecx, dword [0x180792c0c]
sub ecx, 0x97f8fd7b
or ecx, 0xf88606d1
imul edx, ecx, 0xfc024c5f
cmp word [rax], 3
sete cl
cmp edx, 0x330fbcde
je 0x1803c2602
jmp 0x1803c209c
test cl, 1
jne 0x1803c20a3
jmp 0x1803c202c
add rsi, 0x20
mov rsi, qword [rsi]
mov rcx, rsi
call fcn.18063b340
test al, 1
jne 0x1803c20bb
jmp 0x1803c202c
mov eax, dword [0x180792c10]
imul eax, dword [0x180792c14]
mov ecx, 0xf26bc2c8
xor edx, edx
div ecx
sub eax, 0x35a85ec
sub eax, 0x5380c652
cmp eax, 0xae0d553b
jae 0x1803c2613
mov edi, dword [0x180792c18]
and edi, dword [0x180792c1c]
and edi, 0xa85a098f
or edi, 0x1a36a5a4
xor edi, 0x5378dc32
mov rcx, rsi
call fcn.18063bbe0
cmp edi, 0xbbc49901
je 0x1803c2613
jmp 0x1803c211a
mov eax, dword [0x180792c20]
sub eax, dword [0x180792c24]
add eax, 0xc71db6b
or eax, 0x8323bfed
xor eax, 0x6d20b05e
cmp eax, 0x8dba272b
je 0x1803c262c
jmp 0x1803c2142
mov eax, dword [0x180792c28]
or eax, dword [0x180792c2c]
mov ecx, 0x717963c7
xor edx, edx
div ecx
imul eax, eax, 0x3cb327d1
xor eax, 0xa864b1fa
cmp eax, 0x48e55ce3
je 0x1803c2142
jmp 0x1803c202c
mov eax, dword [0x180792c30]
and eax, dword [0x180792c34]
and eax, 0xfa8912af
imul eax, eax, 0x67cfa891
mov ecx, 0xebb2ffe8
xor edx, edx
div ecx
cmp eax, 0xa05c55d1
je 0x1803c2639
mov eax, dword [0x180792c38]
sub eax, dword [0x180792c3c]
sub eax, 0xf38c37f0
or eax, 0x2f8b65f2
imul ecx, eax, 0xf368cb5
mov rax, rsi
add rax, 0xb0
cmp ecx, 0xb6a82226
je 0x1803c2639
jmp 0x1803c21cc
cmp byte [rax], 3
sete cl
mov eax, dword [0x180792c40]
imul eax, dword [0x180792c44]
and eax, 0xdff3b09f
mov r8d, 0xccdd0897
xor edx, edx
div r8d
add eax, 0x79cd75ad
cmp eax, 0x2a937d94
je 0x1803c264a
mov eax, dword [0x180792c48]
or eax, dword [0x180792c4c]
add eax, 0x42364f39
sub eax, 0x886fe6ea
sub eax, 0x3bc1ccde
cmp eax, 0x4e42330a
jb 0x1803c264a
test cl, 1
jne 0x1803c222c
jmp 0x1803c223a
mov rcx, rsi
add rcx, 0x68
call fcn.1803c69c0
jmp 0x1803c223a
mov rax, rsi
add rax, 0x20
mov ecx, dword [rax]
mov eax, dword [0x180792c50]
xor edx, edx
div dword [0x180792c54]
sub eax, 0x75cf96b9
sub eax, 0xd445c577
sub eax, 0x6a25d162
cmp eax, 0xad140bcc
ja 0x1803c265b
mov eax, dword [0x180792c58]
and eax, dword [0x180792c5c]
sub eax, 0x25a98ffc
xor eax, 0xb0b9da33
imul edx, eax, 0xf64146f1
cmp ecx, 0
sete al
cmp edx, 0x886d6562
jae 0x1803c265b
test al, 1
jne 0x1803c2363
jmp 0x1803c22a3
mov rdx, qword [rsi + 0x38]
mov eax, dword [0x180792c60]
add eax, dword [0x180792c64]
add eax, 0x4cac6d4
sub eax, 0xfe33c71d
sub eax, 0x2100007c
cmp eax, 0x31861935
je 0x1803c266c
jmp 0x1803c22cf
mov ecx, dword [0x180792c68]
xor ecx, dword [0x180792c6c]
and ecx, 0x32b26070
xor ecx, 0x3d55c122
sub ecx, 0x6e6a6af5
cmp rdx, 0
sete al
cmp ecx, 0x192ff91d
jbe 0x1803c22cf
test al, 1
jne 0x1803c2363
jmp 0x1803c2302
mov rcx, qword [rsi + 0x28]
shl rdx, 5
mov r8d, 4
call fcn.1804cafa0
mov eax, dword [0x180792c70]
xor edx, edx
div dword [0x180792c74]
and eax, 0x3aa8cdd3
xor eax, 0x20faa549
and eax, 0x8d154f7e
cmp eax, 0x244ccbe
ja 0x1803c267d
jmp 0x1803c233f
mov eax, dword [0x180792c78]
sub eax, dword [0x180792c7c]
sub eax, 0x4a431b3e
xor eax, 0xedb796ff
sub eax, 0x5253c2c5
cmp eax, 0x96022e31
jae 0x1803c233f
jmp 0x1803c2363
mov rax, qword [rsi + 0x18]
cmp rax, 0
sete cl
test cl, 1
jne 0x1803c202c
jmp 0x1803c2379
mov ecx, dword [0x180792c80]
sub ecx, dword [0x180792c84]
sub ecx, 0x10248e72
sub ecx, 0x1a52bb39
sub ecx, 0xa10487ed
cmp ecx, 0x426b3847
je 0x1803c268e
jmp 0x1803c23a5
mov ecx, dword [0x180792c88]
imul ecx, dword [0x180792c8c]
or ecx, 0x31885f49
or ecx, 0x57f6387a
xor ecx, 0x3420a5ea
cmp ecx, 0xa89f246a
ja 0x1803c23a5
jmp 0x1803c23ce
mov rcx, rax
and rcx, 3
mov rdx, rcx
sub rdx, 3
ja 0x1803c23ee
lea rdx, [0x1806c5918]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
mov eax, dword [0x180792c90]
add eax, dword [0x180792c94]
sub eax, 0x39aea37b
or eax, 0xd742b876
and eax, 0x10db89b6
cmp eax, 0x396cd03
jbe 0x1803c269b
jmp 0x1803c2416
mov eax, dword [0x180792c98]
sub eax, dword [0x180792c9c]
imul eax, eax, 0x8f99300b
add eax, 0x3482296f
or eax, 0xc2232254
cmp eax, 0x37162914
jb 0x1803c2416
ud2
mov eax, dword [0x180792ca8]
xor edx, edx
div dword [0x180792cac]
mov ebx, eax
or ebx, 0xbaee11f6
xor ebx, 0xc46a0ec3
or ebx, 0x376b350e
mov rcx, rdi
call r15
cmp ebx, 0x3c27966b
jb 0x1803c26a8
jmp 0x1803c24c5
mov eax, dword [0x180792cb0]
or eax, dword [0x180792cb4]
and eax, 0x4cc28174
and eax, 0xe6c8b6b6
sub eax, 0x5a5baace
cmp eax, 0x6a6e045f
jbe 0x1803c26bb
jmp 0x1803c24ed
mov eax, dword [0x180792cb8]
xor eax, dword [0x180792cbc]
mov ecx, 0xdcc44956
xor edx, edx
div ecx
or eax, 0x51dca8f7
add eax, 0xde1ea1fd
cmp eax, 0xe823666b
jae 0x1803c24ed
jmp 0x1803c2515
cmp rdi, 0
setne al
mov rax, r14
add rax, 8
mov rdx, qword [rax]
mov r8, qword [r14 + 0x10]
cmp rdx, 0
je 0x1803c253a
mov rcx, rdi
call fcn.1804cafa0
jmp 0x1803c253a
mov eax, dword [0x180792cc0]
xor edx, edx
div dword [0x180792cc4]
imul eax, eax, 0x9efa20ae
and eax, 0x646480a1
or eax, 0xaddb3958
cmp eax, 0x3f3345fd
jb 0x1803c26cc
mov eax, dword [0x180792cc8]
imul eax, dword [0x180792ccc]
mov ecx, 0x25f279ce
xor edx, edx
div ecx
mov edi, eax
sub edi, 0x608dc379
and edi, 0x89d42df2
mov rcx, rsi
mov edx, 0x18
mov r8d, 8
call fcn.1804cafa0
cmp edi, 0xb2be9bf3
ja 0x1803c26cc
jmp 0x1803c25a8
mov eax, dword [0x180792cd0]
or eax, dword [0x180792cd4]
mov ecx, 0x870d3b83
xor edx, edx
div ecx
sub eax, 0x17d50105
mov ecx, 0x78925d00
xor edx, edx
div ecx
cmp eax, 0x27521025
ja 0x1803c26f0
jmp 0x1803c25d8
mov eax, dword [0x180792cd8]
xor edx, edx
div dword [0x180792cdc]
xor eax, 0xc6ea76ba
imul eax, eax, 0x6cd14cb5
sub eax, 0xbe676dd
cmp eax, 0xbcbb5308
jae 0x1803c25d8
jmp 0x1803c202c
xchg sp, ax
invalid
push rax
movabs byte [0xeddd182f08fc7fff], al
pop rsp
outsd dx, dword [rsi]
mov rcx, rsi
call fcn.18063bbe0
jmp 0x1803c20e6
mov byte [r12 + r11*4], r10b
test rax, 0xfffffffffb07e9c6
invalid
div dl
and bl, byte [rax + 0x23b2fbc4]
invalid
and eax, esi
invalid
imul ebp, dword [rdi + 0x78faa06c], 0x1abe9a70
loopne 0x1803c268d
jmp 0x1803c21ff
mov edi, 0x6794937c
stc
out 0x71, al
jne 0x1803c2640
sbb ebp, ecx
invalid
scasd eax, dword [rdi]
leave
adc al, 0x67
invalid
jle 0x1803c26da
invalid
dec ebp
jmp 0x162d793ea
int 0x64
jmp 0x162d793ea
in al, dx
mov eax, 0x4153f505
je 0x1803c26aa
jmp 0x1803c2414
push rbx
jp 0x1803c2639
mov ds, word [rsi - 0x4f9f8fb3]
mov rcx, rdi
sahf
jo 0x1803c270f
mov al, 0x48
mov ecx, edi
call r15
jmp 0x1803c248f
xchg esp, eax
invalid
invalid
int1
mov edx, 0x18
mov r8d, 8
call fcn.1804cafa0
jmp 0x1803c2563
stosd dword [rdi], eax
movabs eax, dword [0xd9e991d933f75240]
invalid
int1