Function at 0x1803c6c90
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov rdi, rdx
mov rbx, rcx
mov eax, dword [0x180793560]
sub eax, dword [0x180793564]
and eax, 0xf7cd5f85
or eax, 0xb1e1142f
mov ecx, 0xdf4a2d6
xor edx, edx
div ecx
cmp eax, 0xd8b9b260
jae 0x1803c7641
jmp 0x1803c6cd7
mov eax, dword [0x180793568]
mov ecx, dword [0x18079356c]
imul eax, ecx
imul ecx, eax, 0x5287f75c
add ecx, 0x5bb3cc99
xor ecx, 0x10377b25
mov eax, 0x20
call fcn.180698e80
sub rsp, rax
mov rsi, rsp
mov eax, 0x10
call fcn.180698e80
sub rsp, rax
mov r15, rsp
cmp ecx, 0x13dcb28a
jb 0x1803c6cd7
jmp 0x1803c6d22
mov eax, dword [0x180793570]
imul eax, dword [0x180793574]
or eax, 0xecb5adf3
or eax, 0x66b7e6c0
and eax, 0x8a5ebc6c
cmp eax, 0x5553d040
jb 0x1803c764e
xor ecx, ecx
mov eax, 0x20
call fcn.180698e80
sub rsp, rax
mov r10, rsp
mov eax, 0x30
call fcn.180698e80
sub rsp, rax
mov r12, rsp
mov eax, 0x20
call fcn.180698e80
sub rsp, rax
mov r13, rsp
mov eax, 0x20
call fcn.180698e80
sub rsp, rax
mov r9, rsp
mov eax, 0x10
call fcn.180698e80
sub rsp, rax
mov r14, rsp
mov eax, 0x20
call fcn.180698e80
sub rsp, rax
mov rdx, rsp
cmp ecx, 0x1de750be
je 0x1803c764e
jmp 0x1803c6db9
mov rax, rdi
add rax, 0x68
mov qword [rbp - 8], rax
movzx eax, byte [rdi + 0x68]
test eax, eax
je 0x1803c6dde
jmp 0x1803c6dce
sub eax, 1
je 0x1803c75b0
jmp 0x1803c6dd9
jmp 0x1803c6fc4
mov qword [rbp - 0x30], r10
mov qword [rbp - 0x38], r8
mov qword [rbp], r9
mov qword [rbp - 0x18], rbx
mov rax, qword [rdi]
mov qword [rdx], rax
mov rax, qword [rdi + 8]
mov qword [rdx + 8], rax
mov rax, qword [rdi + 0x10]
mov qword [rdx + 0x10], rax
mov rax, qword [rdi + 0x18]
mov qword [rdx + 0x18], rax
sub rsp, 0x20
mov rcx, r14
call fcn.180659ca0
add rsp, 0x20
mov rbx, qword [r14]
mov eax, dword [0x180793578]
and eax, dword [0x18079357c]
imul eax, eax, 0x13a04629
mov ecx, 0xf5da7819
xor edx, edx
div ecx
and eax, 0xdd9295fc
cmp eax, 0x92afbdf9
je 0x1803c765f
mov ecx, dword [0x180793580]
or ecx, dword [0x180793584]
and ecx, 0x193e976b
sub ecx, 0x49e262b9
and ecx, 0xc7d50b81
mov rax, r14
add rax, 8
cmp ecx, 0xe74269ad
ja 0x1803c765f
mov qword [rbp - 0x10], r13
jmp 0x1803c6e81
mov r13, qword [rax]
cmp rbx, 0xffffffffffffffff
je 0x1803c6f06
mov rax, rdi
add rax, 0x20
mov qword [rbp - 0x20], rax
mov qword [rax], rbx
mov rcx, rdi
add rcx, 0x28
mov eax, dword [0x180793588]
add eax, dword [0x18079358c]
sub eax, 0x5aacb0aa
mov r8d, 0xa629e4c3
xor edx, edx
div r8d
add eax, 0x5e7cc158
cmp eax, 0x9f08e8a
jb 0x1803c7670
mov qword [rbp - 0x28], rsi
jmp 0x1803c6ed1
mov eax, dword [0x180793590]
or eax, dword [0x180793594]
sub eax, 0xb8bb465b
xor eax, 0x3ee86cea
or eax, 0xd3f92386
mov qword [rcx], r13
mov r14, rdi
add r14, 0x60
mov byte [rdi + 0x60], 0
cmp eax, 0x8f21b397
je 0x1803c6ed1
jmp 0x1803c70cd
mov eax, dword [0x180793598]
or eax, dword [0x18079359c]
and eax, 0xf8671f06
add eax, 0x7b2a3241
imul eax, eax, 0x8b421d12
cmp eax, 0x6bd23f86
je 0x1803c7684
mov rbx, qword [rbp - 0x18]
mov rdi, qword [rbp - 8]
jmp 0x1803c6f37
mov eax, dword [0x1807935a0]
xor eax, dword [0x1807935a4]
imul eax, eax, 0xb4d522ff
xor eax, 0xfe36d27d
or eax, 0xe387cc29
cmp r13, 0
setne cl
cmp eax, 0x4d00f450
je 0x1803c6f37
jmp 0x1803c6f63
mov eax, dword [0x1807935a8]
imul eax, dword [0x1807935ac]
and eax, 0xbfc2e4cd
or eax, 0xfedde62d
or eax, 0x59cfe20d
cmp eax, 0x703dbf31
jbe 0x1803c7695
mov eax, dword [0x1807935b0]
xor edx, edx
div dword [0x1807935b4]
xor eax, 0x879d6e1f
mov ecx, 0x7dd253d6
xor edx, edx
div ecx
add eax, 0x3810d465
cmp eax, 0xb19d3743
ja 0x1803c7695
mov esi, 3
mov rcx, qword [rbp - 0x10]
jmp 0x1803c758b
mov r14, rdi
add r14, 0x60
mov al, byte [r14]
mov rcx, rdi
add rcx, 0x20
test al, al
je 0x1803c704f
jmp 0x1803c6fdb
sub al, 1
je 0x1803c723a
jmp 0x1803c6fe5
mov qword [rbp - 0x20], rcx
mov eax, dword [0x1807935b8]
or eax, dword [0x1807935bc]
or eax, 0x9a6f33ef
add eax, 0x5643d1bd
or eax, 0xb2233fa5
cmp eax, 0x4f483a3a
jb 0x1803c76a6
mov ecx, dword [0x1807935c0]
imul ecx, dword [0x1807935c4]
sub ecx, 0x50202507
and ecx, 0x458c28ae
and ecx, 0xdf9f0271
mov rax, rdi
add rax, 0x58
cmp ecx, 0xda7d70c7
ja 0x1803c76a6
jmp 0x1803c7043
mov qword [rbp], r9
mov rdx, qword [rax]
jmp 0x1803c721b
mov qword [rbp - 0x10], r13
mov qword [rbp - 0x18], rbx
mov rbx, qword [rcx]
mov rax, rdi
add rax, 0x28
mov qword [rbp - 0x20], rcx
mov r13, qword [rax]
mov qword [rbp - 0x30], r10
mov qword [rbp - 0x38], r8
mov qword [rbp], r9
mov qword [rbp - 0x28], rsi
mov eax, dword [0x1807935c8]
add eax, dword [0x1807935cc]
sub eax, 0x9ae7bc67
add eax, 0xb2595f3f
imul eax, eax, 0xea30d94c
cmp eax, 0xe627e5c0
je 0x1803c76b3
mov eax, dword [0x1807935d0]
xor edx, edx
div dword [0x1807935d4]
and eax, 0xda4a39b4
xor eax, 0x9cd35aae
mov ecx, 0x268d9ac1
xor edx, edx
div ecx
cmp eax, 0xecc75f3e
jae 0x1803c76b3
jmp 0x1803c70cd
mov eax, dword [0x1807935d8]
and eax, dword [0x1807935dc]
add eax, 0xb31d97f2
xor eax, 0xcfb08d46
xor eax, 0x2703d152
cmp eax, 0xf7df9907
jae 0x1803c76c4
mov esi, dword [0x1807935e0]
imul esi, dword [0x1807935e4]
and esi, 0x6fa1e137
or esi, 0xdd1d3639
xor esi, 0xa04e014b
sub rsp, 0x20
mov rcx, r12
mov rdx, rbx
mov r8, r13
call fcn.18063a940
add rsp, 0x20
mov rcx, qword [r12]
cmp rcx, 3
sete al
mov r11, qword [r12 + 8]
cmp esi, 0xe3abf165
je 0x1803c76c4
test al, 1
jne 0x1803c71ff
jmp 0x1803c714e
mov eax, dword [0x1807935e8]
or eax, dword [0x1807935ec]
xor eax, 0x682914a1
sub eax, 0x81795359
add eax, 0x54858954
cmp eax, 0xd7271d1
je 0x1803c76eb
mov rbx, qword [rbp - 0x18]
mov r13, qword [rbp - 0x10]
mov rsi, qword [rbp - 0x28]
mov r8, qword [rbp - 0x38]
mov r10, qword [rbp - 0x30]
jmp 0x1803c718a
mov eax, dword [0x1807935f0]
imul eax, dword [0x1807935f4]
imul eax, eax, 0xcef0b0da
mov r9d, 0x97fc524
xor edx, edx
div r9d
xor eax, 0xdcad98a
mov rdx, r12
add rdx, 0x10
cmp eax, 0xa56e0fc
jbe 0x1803c718a
jmp 0x1803c71bd
mov rax, qword [rdx]
mov qword [r10], rax
mov rax, qword [rdx + 8]
mov qword [r10 + 8], rax
mov rax, qword [rdx + 0x10]
mov qword [r10 + 0x10], rax
mov rdx, rdi
add rdx, 0x30
mov qword [rdi + 0x30], rcx
mov qword [rdi + 0x38], r11
mov rax, qword [r10]
mov qword [rdi + 0x40], rax
mov rax, qword [r10 + 8]
mov qword [rdi + 0x48], rax
mov rax, qword [r10 + 0x10]
mov qword [rdi + 0x50], rax
mov qword [rdi + 0x58], rdx
jmp 0x1803c721b
mov r12, r11
mov rbx, qword [rbp - 0x18]
mov rdi, qword [rbp - 8]
mov r13, qword [rbp - 0x10]
mov r15, qword [rbp - 0x28]
mov rcx, qword [rbp]
jmp 0x1803c74c4
sub rsp, 0x20
mov rcx, r15
call fcn.18063af60
add rsp, 0x20
mov cl, byte [r15 + 9]
cmp cl, 3
je 0x1803c72f8
jmp 0x1803c728c
mov eax, dword [0x1807935f8]
sub eax, dword [0x1807935fc]
add eax, 0x49323b8
and eax, 0xa0eba87b
sub eax, 0xd5addee9
cmp eax, 0xa29079a4
ja 0x1803c76fc
mov eax, dword [0x180793600]
xor eax, dword [0x180793604]
and eax, 0xc645866
and eax, 0x40277ef5
add eax, 0xbe65427a
ud2
mov r9, qword [r15]
mov eax, dword [0x180793608]
sub eax, dword [0x18079360c]
add eax, 0x8ec3d9ad
mov r8d, 0x61e9a318
xor edx, edx
div r8d
xor eax, 0x501b9e93
cmp eax, 0x3406a63b
je 0x1803c770b
mov eax, dword [0x180793610]
and eax, dword [0x180793614]
and eax, 0x7cc078bc
add eax, 0x1ec7badd
imul edx, eax, 0x959b1e9f
cmp cl, 2
sete al
cmp edx, 0x9d481fe1
je 0x1803c770b
mov r15, rsi
jmp 0x1803c72ee
test al, 1
jne 0x1803c74a5
jmp 0x1803c7357
mov eax, dword [0x180793618]
add eax, dword [0x18079361c]
xor eax, 0xe17e8e83
imul eax, eax, 0x57d91f46
and eax, 0x9fe8ccaa
cmp eax, 0x11e9b03e
je 0x1803c7718
mov rdi, qword [rbp - 8]
jmp 0x1803c7325
mov eax, dword [0x180793620]
and eax, dword [0x180793624]
imul eax, eax, 0x4623a9b8
add eax, 0xe36eefbc
mov ecx, 0x9c780197
xor edx, edx
div ecx
cmp eax, 0xef82a97b
je 0x1803c7325
jmp 0x1803c734e
mov byte [r14], 3
jmp 0x1803c75e4
mov eax, dword [0x180793628]
add eax, dword [0x18079362c]
and eax, 0xfb6a9181
xor eax, 0x5d781e11
add eax, 0xc8441bc6
cmp eax, 0x24c9d391
jb 0x1803c7725
mov eax, dword [0x180793630]
imul eax, dword [0x180793634]
or eax, 0x5805d01c
xor eax, 0x9213ef90
imul eax, eax, 0x4930ef89
mov rsi, rdi
add rsi, 0x30
mov rcx, rdi
add rcx, 0x48
cmp eax, 0xce52ca88
je 0x1803c7725
jmp 0x1803c73b5
mov r8, qword [rcx]
mov eax, dword [0x180793638]
imul eax, dword [0x18079363c]
mov r9d, 0xfc01d025
xor edx, edx
div r9d
or eax, 0x207b7655
or eax, 0xf7263b40
cmp eax, 0x3364547d
jbe 0x1803c7732
mov eax, dword [0x180793640]
xor edx, edx
div dword [0x180793644]
xor eax, 0x46d4d5bf
imul edx, eax, 0x3d2efc13
add edx, 0xf047e41e
cmp r8, 0xffffffffffffffff
sete al
cmp edx, 0x8361f8a0
ja 0x1803c7732
test al, 1
jne 0x1803c741d
jmp 0x1803c7421
ud2
sub rsp, 0x20
call fcn.180659de0
add rsp, 0x20
mov rcx, rax
mov r9, rdx
mov eax, dword [0x180793648]
xor edx, edx
div dword [0x18079364c]
sub eax, 0xe2af646a
xor eax, 0x97cbafa4
imul eax, eax, 0xca442d2d
cmp eax, 0xe58e35ca
jae 0x1803c7743
jmp 0x1803c745f
mov eax, dword [0x180793650]
sub eax, dword [0x180793654]
imul eax, eax, 0x7039676d
mov r8d, 0x8f8828ff
xor edx, edx
div r8d
sub eax, 0x6f013e24
cmp rcx, 0
sete dl
cmp eax, 0xd27b5bd1
ja 0x1803c745f
jmp 0x1803c7491
test dl, 1
jne 0x1803c7498
jmp 0x1803c74a5
cmp r9, 0
sete al
test al, 1
jne 0x1803c74e8
jmp 0x1803c74a5
mov r12, r9
add rdi, 0x30
sub rsp, 0x20
mov rcx, rdi
call fcn.1803c5780
add rsp, 0x20
mov rdi, qword [rbp - 8]
mov rcx, qword [rbp]
mov rax, qword [r15]
mov qword [rcx], rax
mov rax, qword [r15 + 8]
mov qword [rcx + 8], rax
mov rax, qword [r15 + 0x10]
mov qword [rcx + 0x10], rax
mov byte [r14], 1
mov esi, 3
jmp 0x1803c75b4
mov rsi, qword [rsi]
mov r12, qword [rdi + 0x38]
mov rax, qword [rdi + 0x40]
mov rcx, qword [rbp]
mov qword [rcx], rax
mov rax, qword [rdi + 0x48]
mov qword [rcx + 8], rax
mov rax, qword [rdi + 0x50]
mov qword [rcx + 0x10], rax
mov byte [r14], 1
cmp rsi, 4
mov rdi, qword [rbp - 8]
je 0x1803c75e4
jmp 0x1803c75b4
mov eax, dword [0x180793658]
imul eax, dword [0x18079365c]
or eax, 0x4f331462
xor eax, 0xcd1c6cbb
imul eax, eax, 0xb028bc5c
cmp eax, 0x1df34876
ja 0x1803c7754
mov eax, dword [0x180793660]
xor edx, edx
div dword [0x180793664]
and eax, 0xd09c902b
imul eax, eax, 0x9ccf3d4
mov r8d, 0x915e0fef
xor edx, edx
div r8d
mov byte [rdi], cl
cmp eax, 0xc9f93f61
jae 0x1803c7754
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov qword [rbx], rsi
mov qword [rbx + 8], r13
mov rax, qword [rcx]
mov qword [rbx + 0x10], rax
mov rax, qword [rcx + 8]
mov qword [rbx + 0x18], rax
mov rax, qword [rcx + 0x10]
mov qword [rbx + 0x20], rax
mov cl, 1
jmp 0x1803c7521
ud2
mov rax, qword [rcx]
mov qword [r13], rax
mov rax, qword [rcx + 8]
mov qword [r13 + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [r13 + 0x10], rax
sub rsp, 0x20
mov rcx, qword [rbp - 0x20]
call fcn.1803c69c0
add rsp, 0x20
mov rcx, r13
mov r13, r12
jmp 0x1803c758b
mov eax, dword [0x180793668]
xor edx, edx
div dword [0x18079366c]
and eax, 0x1005625
add eax, 0x60f8afcd
and eax, 0x5141f383
cmp eax, 0xa1fa59eb
je 0x1803c7763
jmp 0x1803c760e
mov eax, dword [0x180793670]
and eax, dword [0x180793674]
and eax, 0x7904c98
sub eax, 0x3eb057b2
imul eax, eax, 0x5850d067
mov qword [rbx], 4
cmp eax, 0xc20309e8
ja 0x1803c760e
jmp 0x1803c763a
mov cl, 3
jmp 0x1803c7521
jmp 0x15cce871d
sbb al, 0x38
xchg edx, eax
int 0x71
or byte [rdi - 0x18f4865d], ch
invalid
invalid
invalid
fcom qword [rax + 0x26d8ad12]
xor ah, byte [rsi]
invalid
scasd eax, dword [rdi]
cmp esi, ecx
adc qword [rbp - 0x6d462064], rsp
sub eax, 0xfff8e4e9
invalid
fidivr dword [rdx + 0x3b]
invalid
sbb eax, 0x63326294
push rdi
jns 0x1803c7734
pop rdi
cdq
pushfq
jmp 0x1803c709f
cld
out dx, eax
loope 0x1803c7684
pushfq
mov ah, byte [rdx + 0x3bc65921]
invalid
int 0xe1
xor al, 0xdc
retf
cli
invalid
movabs eax, dword [0xf82c835258aee79]
or ebp, ecx
push rbp
sti
invalid
fsetpm
hlt
xchg edx, eax
in al, dx
loop 0x1803c76f9
shl byte ds:[rdx - 0x21], cl
jmp 0x1803c731f
mov dh, 0xcf
wait
cli
fisubr word [rcx + rcx + 0x68]
jmp 0x1803c737d
jne 0x1803c7756
movabs dword [0x3d066f3355cf4c4f], eax
mov ecx, ebp
movabs byte [0x33a5515f82fffffc], al
invalid
invalid
xor dword [rsp + rdi*4], esi
jp 0x1803c7787
mov esp, 0xb2ac2e7a
pop rax
lodsb al, byte [rsi]
mov dl, 0x58
mov byte [rdi], cl
jmp 0x1803c7549
fnsave dword [rbx]
or eax, 0x4545fe89
cli
js 0x1803c779a
mov esi, 0x3c748bf
add al, 0
add byte [rax], al
jmp 0x1803c760c
push r12
push rsi
push rdi
push rbx
sub rsp, 0xf8
lea rbp, [rsp + 0x80]
mov rdi, rdx
add byte [rax - 0x77], cl
xlatb
mov r15, rcx
mov eax, dword [0x180793678]
and eax, dword [0x18079367c]
and eax, 0x5d5ed470
or eax, 0x561165c2
mov ecx, 0x9accf72
xor edx, edx
div ecx
cmp eax, 0x72653ff5
jae 0x1803c8c64
mov ecx, dword [0x180793680]
mov eax, dword [0x180793684]
imul ecx, eax
add ecx, 0x86503e1e
and ecx, 0x4108e
mov eax, 0x20
call fcn.180698e80
sub rsp, rax
mov rdx, rsp
mov eax, 0x20
call fcn.180698e80
sub rsp, rax
mov rsi, rsp
mov eax, 0x30
call fcn.180698e80
sub rsp, rax
mov r12, rsp
mov eax, 0x20
call fcn.180698e80
sub rsp, rax
mov rbx, rsp
cmp ecx, 0x71993fe4
ja 0x1803c8c64
mov qword [rbp + 0x58], rdx
jmp 0x1803c7838
mov eax, dword [0x180793688]
or eax, dword [0x18079368c]
imul eax, eax, 0xe5ea22b9
xor eax, 0xfadf7357
imul eax, eax, 0x801ba6e0
cmp eax, 0x10f504fb
je 0x1803c8c71
mov eax, dword [0x180793690]
mov ecx, dword [0x180793694]
imul eax, ecx
or eax, 0x31959e5c
add eax, 0xdd3d6bb7
imul rcx, rax, 0x3c986357
shr rcx, 0x3d
mov eax, 0x20
call fcn.180698e80
sub rsp, rax
mov r13, rsp
mov r14, rdi
add r14, 0x18
movzx eax, byte [rdi + 0x18]
cmp ecx, 0x7c46a992
jae 0x1803c8c71
mov eax, eax
lea rcx, [0x1806c5994]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
sar dh, cl
and byte [rdx + 0x5f], ch
invalid
fcomp dword [rsi - 0x37d63ef2]
scasd eax, dword [rdi]
clc
int3