Function at 0x1802c1b60
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x88
lea rbp, [rsp + 0x80]
mov r14, rdx
mov rsi, rcx
mov eax, 0x10
call fcn.180698e80
sub rsp, rax
mov r12, rsp
mov eax, 0x20
call fcn.180698e80
sub rsp, rax
mov rdi, rsp
sub rsp, 0x20
mov rcx, rdi
mov rdx, r14
call fcn.1803eccc0
add rsp, 0x20
mov cl, byte [rdi]
cmp cl, 0x11
sete al
mov edx, dword [0x180779150]
or edx, dword [0x180779154]
add edx, 0xc1c020ef
imul edx, edx, 0x9af4b7ae
imul edx, edx, 0x513bf38d
cmp edx, 0x786b1dc1
jbe 0x1802c25d9
jmp 0x1802c1be8
mov edx, dword [0x180779158]
xor edx, dword [0x18077915c]
imul edx, edx, 0xd1e69ab5
sub edx, 0xb83414b5
or edx, 0x855c7039
cmp edx, 0x65c5faf2
je 0x1802c1be8
test al, 1
jne 0x1802c1c17
jmp 0x1802c1d72
mov di, word [rdi + 2]
mov eax, dword [0x180779160]
add eax, dword [0x180779164]
and eax, 0xf4906a07
or eax, 0xbd97d505
imul eax, eax, 0x7db1155b
cmp eax, 0xfce318bc
jae 0x1802c25ea
mov eax, dword [0x180779168]
and eax, dword [0x18077916c]
and eax, 0x53500a83
or eax, 0xd1f429cc
add eax, 0x724e67a4
cmp eax, 0x53b2b853
jae 0x1802c25ea
jmp 0x1802c1c6a
mov eax, dword [0x180779170]
or eax, dword [0x180779174]
mov ecx, 0xd655caa3
xor edx, edx
div ecx
add eax, 0xd2e32442
mov ecx, 0x712c70b7
xor edx, edx
div ecx
cmp eax, 0x2f92b4c0
jae 0x1802c25f7
mov eax, dword [0x180779178]
xor edx, edx
div dword [0x18077917c]
sub eax, 0x201b0df5
imul edx, eax, 0x98c57668
or edx, 0x4f4300c3
mov rax, r14
add rax, 8
mov rcx, qword [r14 + 8]
cmp rcx, 0
sete r8b
cmp edx, 0x76aea8f5
jae 0x1802c25f7
xor edx, edx
test r8b, 1
jne 0x1802c2173
jmp 0x1802c1ce4
mov rdx, qword [r14]
mov r13b, byte [rdx]
add rdx, 1
add rcx, 0xffffffffffffffff
mov r8d, dword [0x180779180]
or r8d, dword [0x180779184]
imul r8d, r8d, 0x6e85d33f
sub r8d, 0x24ceb059
sub r8d, 0xd406644b
cmp r8d, 0xf9fffcc7
je 0x1802c2608
mov r8d, dword [0x180779188]
imul r8d, dword [0x18077918c]
sub r8d, 0x38fcfe1a
sub r8d, 0xf83de556
imul r9d, r8d, 0xbd1ab434
mov qword [r14], rdx
mov qword [rax], rcx
cmp r13b, 2
setb r8b
cmp r9d, 0x785768fe
je 0x1802c2608
mov dl, 7
test r8b, 1
jne 0x1802c1ea6
jmp 0x1802c2173
mov eax, dword [0x180779190]
or eax, dword [0x180779194]
imul eax, eax, 0xd511acb6
imul eax, eax, 0x6b30f891
add eax, 0x5ac834c6
cmp eax, 0x2fc8ccc6
jb 0x1802c261b
mov eax, dword [0x180779198]
add eax, dword [0x18077919c]
imul eax, eax, 0xbf240a29
imul eax, eax, 0x8decbf79
add eax, 0x31161a20
mov r8b, byte [rdi + 1]
mov r9w, word [rdi + 2]
mov rdx, qword [rdi + 4]
mov qword [rsi + 0xc], rdx
mov rdx, qword [rdi + 0xc]
mov qword [rsi + 0x14], rdx
mov rdx, qword [rdi + 0x14]
mov qword [rsi + 0x1c], rdx
mov edx, dword [rdi + 0x1c]
mov dword [rsi + 0x24], edx
cmp eax, 0xa417a369
jae 0x1802c261b
jmp 0x1802c1deb
mov eax, dword [0x1807791a0]
xor edx, edx
div dword [0x1807791a4]
or eax, 0x269c37e4
and eax, 0x9660dc9f
xor eax, 0x80ad5c63
cmp eax, 0xa14e4de8
jae 0x1802c2646
mov eax, dword [0x1807791a8]
and eax, dword [0x1807791ac]
imul eax, eax, 0xaf68c312
sub eax, 0xe03651a3
add eax, 0xfac1c0ab
mov byte [rsi + 8], cl
mov byte [rsi + 9], r8b
mov word [rsi + 0xa], r9w
cmp eax, 0xe1acaf23
je 0x1802c2646
jmp 0x1802c1e48
mov eax, dword [0x1807791b0]
imul eax, dword [0x1807791b4]
imul eax, eax, 0x5b82bb46
sub eax, 0x9773a2b8
add eax, 0xad0849
cmp eax, 0xc44cf288
ja 0x1802c2663
jmp 0x1802c1e72
mov eax, dword [0x1807791b8]
and eax, dword [0x1807791bc]
sub eax, 0x330205ca
xor eax, 0xb0fcac94
or eax, 0x879e2f01
movabs rcx, 0x8000000000000000
mov qword [rsi], rcx
cmp eax, 0x2f7b6915
je 0x1802c1e72
jmp 0x1802c25c5
mov eax, dword [0x1807791c0]
add eax, dword [0x1807791c4]
and eax, 0xaafa2131
imul eax, eax, 0xcf3e4af9
mov ecx, 0x8e791f92
xor edx, edx
div ecx
cmp eax, 0x49d5a3a4
jae 0x1802c267d
mov eax, dword [0x1807791c8]
and eax, dword [0x1807791cc]
mov ecx, 0x78a2a6fa
xor edx, edx
div ecx
and eax, 0x67ed743
sub eax, 0x4352500c
cmp eax, 0xe57616fe
ja 0x1802c267d
jmp 0x1802c1efd
lea rcx, [rbp - 0x50]
sub rsp, 0x20
mov rdx, r14
call fcn.1804a1b40
add rsp, 0x20
mov r10b, byte [rbp - 0x50]
cmp r10b, 0x11
sete al
test al, 1
jne 0x1802c1f25
jmp 0x1802c1faf
mov eax, dword [0x1807791d0]
or eax, dword [0x1807791d4]
mov ecx, 0x7e67157d
xor edx, edx
div ecx
or eax, 0x75e908d7
sub eax, 0xf10eb250
cmp eax, 0x4e9b7c46
je 0x1802c268a
mov eax, dword [0x1807791d8]
xor eax, dword [0x1807791dc]
sub eax, 0xbfa59030
sub eax, 0xbd9cf115
mov ecx, 0xdf3bca73
xor edx, edx
div ecx
mov rbx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x40]
cmp eax, 0x586e9ee2
ja 0x1802c268a
jmp 0x1802c1f83
mov r15, qword [rbp - 0x38]
lea rcx, [rbp - 0x68]
sub rsp, 0x20
mov qword [rbp - 8], rdx
mov r8, r15
call fcn.18068ac20
add rsp, 0x20
cmp qword [rbp - 0x68], 0
je 0x1802c21e2
jmp 0x1802c2041
lea rax, [rbp - 0x50]
add rax, 1
mov edx, dword [0x1807791e0]
and edx, dword [0x1807791e4]
sub edx, 0xe97c5a0
xor edx, 0xb988cb07
or edx, 0xa00456f5
cmp edx, 0x131954b6
je 0x1802c2697
jmp 0x1802c1fe3
mov r8d, dword [0x1807791e8]
add r8d, dword [0x1807791ec]
sub r8d, 0x706db0e2
or r8d, 0xdf3567ac
add r8d, 0x24bee61c
mov edx, dword [rax]
mov dword [r12], edx
mov dx, word [rax + 4]
mov word [r12 + 4], dx
mov dl, byte [rax + 6]
mov byte [r12 + 6], dl
lea rdx, [rbp - 0x50]
add rdx, 8
cmp r8d, 0xdd970ef8
jae 0x1802c1fe3
jmp 0x1802c2031
mov rdi, qword [rdx]
mov r14, qword [rbp - 0x40]
mov r8, qword [rbp - 0x38]
jmp 0x1802c23a2
mov eax, dword [0x1807791f0]
imul eax, dword [0x1807791f4]
or eax, 0x7468faa3
sub eax, 0x1dfd1214
or eax, 0x5aa08465
cmp eax, 0xa3c6dc66
ja 0x1802c26bc
mov eax, dword [0x1807791f8]
xor eax, dword [0x1807791fc]
add eax, 0xb839a9ed
mov ecx, 0xbab7ead1
xor edx, edx
div ecx
xor eax, 0x281c3014
mov rdi, qword [rbp - 0x60]
cmp eax, 0x6fce779a
jae 0x1802c26bc
mov rcx, qword [rbp - 8]
jmp 0x1802c209c
mov eax, dword [0x180779200]
imul eax, dword [0x180779204]
xor eax, 0x65627a94
sub eax, 0x32ec42a4
and eax, 0xfe3c73d3
cmp eax, 0x3e4457b5
jbe 0x1802c26c9
mov eax, dword [0x180779208]
or eax, dword [0x18077920c]
imul eax, eax, 0x49e5bde
add eax, 0x9c1246f0
sub eax, 0xfce10bf3
mov r14, qword [rbp - 0x58]
cmp eax, 0x30ae2c7f
jb 0x1802c26c9
jmp 0x1802c20f0
mov r10b, 5
cmp rbx, 0
jne 0x1802c20fe
jmp 0x1802c23a2
sub rsp, 0x20
mov rdx, rbx
mov r8d, 1
call fcn.1804cafa0
add rsp, 0x20
mov eax, dword [0x180779210]
imul eax, dword [0x180779214]
sub eax, 0x3c035973
xor eax, 0xcd95f0a9
mov ecx, 0xb2efa085
xor edx, edx
div ecx
cmp eax, 0x199d4a3
jae 0x1802c26d6
mov eax, dword [0x180779218]
xor edx, edx
div dword [0x18077921c]
sub eax, 0xcf535e40
add eax, 0xd0186c22
mov ecx, 0x34fc2632
xor edx, edx
div ecx
cmp eax, 0xb2c31ecf
jae 0x1802c26d6
mov r10b, 5
jmp 0x1802c23a2
mov eax, dword [0x180779220]
imul eax, dword [0x180779224]
xor eax, 0xf1a03e68
or eax, 0x1d047d41
imul eax, eax, 0xd854ed72
cmp eax, 0xeaaae008
ja 0x1802c26e7
mov eax, dword [0x180779228]
sub eax, dword [0x18077922c]
add eax, 0xe48e585
and eax, 0x2389e09c
add eax, 0xb5b45810
mov qword [rsi + 0x10], 1
mov byte [rsi + 8], dl
mov byte [rsi + 9], r13b
movabs rcx, 0x8000000000000000
mov qword [rsi], rcx
cmp eax, 0x1843dbe1
jb 0x1802c26e7
jmp 0x1802c25c5
mov eax, dword [0x180779230]
sub eax, dword [0x180779234]
mov ecx, 0xe93b7d47
xor edx, edx
div ecx
mov ecx, 0x3389183c
xor edx, edx
div ecx
mov ecx, 0x43db3dad
xor edx, edx
div ecx
cmp eax, 0x53d8d829
jae 0x1802c2714
mov eax, dword [0x180779238]
or eax, dword [0x18077923c]
add eax, 0xb66db78d
xor eax, 0x1ac484de
imul eax, eax, 0x3083353
cmp eax, 0x2b61f3fa
jbe 0x1802c2714
jmp 0x1802c223d
lea rcx, [rbp - 0x30]
sub rsp, 0x20
mov rdx, r14
call fcn.1804a1b40
add rsp, 0x20
mov r10b, byte [rbp - 0x30]
cmp r10b, 0x11
jne 0x1802c2299
mov r12, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
mov qword [rbp - 0x10], r12
lea rax, [rbp - 0x30]
add rax, 0x18
mov r12, qword [rax]
lea rcx, [rbp - 0x80]
sub rsp, 0x20
mov r14, rdx
mov r8, r12
call fcn.18068ac20
add rsp, 0x20
cmp qword [rbp - 0x80], 0
je 0x1802c2432
jmp 0x1802c2365
mov eax, dword [rbp - 0x2f]
mov dword [rbp + 1], eax
mov ax, word [rbp - 0x2b]
mov word [rbp + 5], ax
mov al, byte [rbp - 0x29]
mov byte [rbp + 7], al
mov eax, dword [0x180779240]
add eax, dword [0x180779244]
imul eax, eax, 0x8ab2fc07
xor eax, 0x93731ed6
add eax, 0x86043739
cmp eax, 0xbf7611b4
je 0x1802c2725
mov eax, dword [0x180779248]
or eax, dword [0x18077924c]
xor eax, 0x7b4db59f
and eax, 0x2bd082d7
or eax, 0xe8e841b3
mov rdi, qword [rbp - 0x28]
mov r15, qword [rbp - 0x20]
mov r8, qword [rbp - 0x18]
cmp eax, 0x12edba5b
jbe 0x1802c2725
jmp 0x1802c2308
mov eax, dword [0x180779250]
xor edx, edx
div dword [0x180779254]
mov r9d, 0xb379fde2
xor edx, edx
div r9d
add eax, 0x90002997
sub eax, 0xd97c02ad
cmp eax, 0xc7b67146
jae 0x1802c2736
jmp 0x1802c2338
mov eax, dword [str._vF_R_]
sub eax, dword [0x18077925c]
mov r9d, 0xe583a124
xor edx, edx
div r9d
or eax, 0x5a513d11
and eax, 0xf7c50d62
cmp eax, 0x3595226
jb 0x1802c2338
jmp 0x1802c24bc
mov rdi, qword [rbp - 0x78]
mov r15, qword [rbp - 0x70]
mov rdx, qword [rbp - 0x10]
cmp rdx, 0
sete al
mov r10b, 5
test al, 1
je 0x1802c2384
jmp 0x1802c24bc
sub rsp, 0x20
mov rcx, r14
mov r8d, 1
call fcn.1804cafa0
add rsp, 0x20
mov r10b, 5
jmp 0x1802c24bc
mov eax, dword [0x180779260]
and eax, dword [0x180779264]
add eax, 0x7646202d
imul eax, eax, 0xce310bc3
xor eax, 0x5388a588
cmp eax, 0x6fe653e8
jae 0x1802c2743
mov eax, dword [0x180779268]
xor edx, edx
div dword [0x18077926c]
mov r9d, 0x5c31039c
xor edx, edx
div r9d
xor eax, 0x96e713b4
sub eax, 0x4c90a280
mov edx, dword [r12]
mov dword [rsi + 9], edx
mov dx, word [r12 + 4]
mov word [rsi + 0xd], dx
mov dl, byte [r12 + 6]
mov byte [rsi + 0xf], dl
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], r14
mov qword [rsi + 0x20], r8
mov byte [rsi + 8], r10b
movabs rdx, 0x8000000000000000
mov qword [rsi], rdx
cmp eax, 0xb5fa7f51
ja 0x1802c2743
jmp 0x1802c25c5
mov qword [rsi], rbx
mov rcx, rsi
add rcx, 8
mov r9, qword [rbp - 8]
mov r10, qword [rbp - 0x10]
mov eax, dword [0x180779270]
xor eax, dword [0x180779274]
mov r8d, 0xc72da1c6
xor edx, edx
div r8d
and eax, 0xda166b91
add eax, 0xe24dcdbb
cmp eax, 0x4e0ef8a0
jbe 0x1802c2786
mov eax, dword [0x180779278]
add eax, dword [0x18077927c]
sub eax, 0xdd470c34
sub eax, 0xf86184e0
mov r8d, 0xe668bb85
xor edx, edx
div r8d
mov qword [rcx], r9
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], r10
mov qword [rsi + 0x20], r14
mov qword [rsi + 0x28], r12
mov word [rsi + 0x30], di
mov byte [rsi + 0x32], r13b
cmp eax, 0xf758d25e
jae 0x1802c2786
jmp 0x1802c25c5
mov eax, dword [0x180779280]
xor edx, edx
div dword [0x180779284]
xor eax, 0xe0099b02
or eax, 0xd140d2c7
mov r9d, 0xccccef5a
xor edx, edx
div r9d
cmp eax, 0xb99ea03d
ja 0x1802c27ae
jmp 0x1802c24ec
mov eax, dword [0x180779288]
imul eax, dword [0x18077928c]
and eax, 0xa4e887c6
mov r9d, 0x4dddc00a
xor edx, edx
div r9d
imul edx, eax, 0x3ff3a35c
mov eax, dword [rbp + 1]
mov dword [rsi + 9], eax
mov ax, word [rbp + 5]
mov word [rsi + 0xd], ax
mov al, byte [rbp + 7]
mov byte [rsi + 0xf], al
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], r15
mov qword [rsi + 0x20], r8
mov byte [rsi + 8], r10b
movabs rax, 0x8000000000000000
mov qword [rsi], rax
cmp rbx, 0
sete al
cmp edx, 0xe42a249b
jae 0x1802c24ec
test al, 1
jne 0x1802c25c5
jmp 0x1802c2555
mov eax, dword [0x180779290]
xor eax, dword [0x180779294]
imul eax, eax, 0x6995e5f4
and eax, 0xa874a1d
imul eax, eax, 0x58703794
cmp eax, 0x3aa390d2
je 0x1802c27f0
mov r14, qword [rbp - 8]
jmp 0x1802c2583
mov eax, dword [0x180779298]
imul eax, dword [0x18077929c]
or eax, 0x8fd5d4ed
add byte [0x11001fa82], cl
or eax, 0xd31d6c14
imul edi, eax, 0xf07509d5
sub rsp, 0x20
mov rcx, r14
mov rdx, rbx
mov r8d, 1
call fcn.1804cafa0
add rsp, 0x20
cmp edi, 0xf27fde99
ja 0x1802c2583
jmp 0x1802c25c3
jmp 0x1802c25c5
mov rax, rsi
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
shl dword [rdx - 0x89d0ec8], 0x1d
xor al, 0x7a
wait
js 0x1802c257d
jmp 0x1802c1be6
sub dword [rbp + 0x2f], esp
xor al, 0x64
mov bl, byte [rdi - 0x17]
idiv r15b
inc ecx
push rax
jb 0x1802c2678
rcl dword [rax + 0x72], 0x7d
jno 0x1802c258f
and dword [rsi], ebx
invalid
stosb byte [rdi], al
pushfq
sbb ebx, dword [rbx - 0x5d5647e8]
mov qword [r14], rdx
mov qword [rax], rcx
jmp 0x1802c1d22
push rbx
stosb byte [rdi], al
insb byte [rdi], dx
mov ah, 0xfb
adc eax, 0x478b4833
add al, 0x48
mov dword [rsi + 0xc], eax
mov rax, qword [rdi + 0xc]
or al, 0x48
mov eax, dword [rdi + 0xc]
mov qword [rsi + 0x14], rax
mov rax, qword [rdi + 0x14]
mov qword [rsi + 0x1c], rax
mov eax, dword [rdi + 0x1c]
mov dword [rsi + 0x24], eax
jmp 0x1802c1d9a
add eax, ebx
invalid
imul rsp, r13, 0xffffffff8caeff77
dec byte [rax - 0x48]
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax - 0x16f976b8], al
idiv edi
dec dword [rax]
retf
jmp 0x1802c1e70
or bl, cl
loope 0x1802c262a
retf
sbb eax, dword [rdi]
xchg ecx, eax
push rax
xchg r10d, eax
invalid
pop rcx
invalid
invalid
and byte [rcx], bh
and dword [rbp - 0x5d], edi
sbb ebx, dword [rsi]
invalid
pop rcx
xchg edi, eax
jle 0x1802c2717
invalid
invalid
shr byte [rdi], 1
shl esi, cl
push rdi
cmp al, 0x3a
rcr byte [rsi + 0x1046c748], 1
add dword [rax], eax
add byte [rax], al
mov byte [rsi + 8], dl
mov byte [rsi + 9], r13b
movabs rax, 0x8000000000000000
mov qword [rsi], rax
jmp 0x1802c219b
or bh, ch
mov cl, 0xe1
movabs eax, dword [0xe92b1059697f044e]
out dx, eax
cli
loope 0x1802c26ba
add al, 0x7f
imul ebx, dword [rcx + 0x10], 0xfaefe92b
invalid
sbb al, byte [rdx]
xor edx, ebx
outsb dx, byte [rsi]
invalid
invalid
add eax, 0x3da50c00
sahf
call 0x184b76880
and al, 0x89
or dword [rsi + 0x41], r12d
mov eax, dword [rsp + 4]
mov word [rsi + 0xd], ax
mov al, byte [r12 + 6]
mov byte [rsi + 0xf], al
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], r14
mov qword [rsi + 0x20], r8
mov byte [rsi + 8], r10b
movabs rax, 0x8000000000000000
mov qword [rsi], rax
jmp 0x1802c23c9
mov eax, 0
add byte [rax], al
add byte [rax - 0x16f976b8], al
cld
invalid
inc dword [rbx - 0x1f]
in al, dx
loope 0x1802c2775
wait
invalid
invalid
test eax, 0x8c910e6a
push rsp
cmc
loopne 0x1802c2785
xchg dword [r14 + 0x20ec8348], ecx
mov rcx, qword [rbp - 8]
mov rdx, rbx
mov r8d, 1
call fcn.1804cafa0
add rsp, 0x20
jmp 0x1802c257d