Function at 0x1804ca1d0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rdi, r8
mov rsi, rcx
mov byte [rsp + 0x27], 0
lea rax, [rsp + 0x27]
mov qword [rsp + 0x28], rax
lea r14, [rsp + 0x28]
add r14, 8
mov qword [rsp + 0x30], 1
lea r15, [rsp + 0x28]
add r15, 0x10
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], 1
mov rbx, qword [rdx]
mov eax, dword [0x1807aea20]
or eax, dword [0x1807aea24]
sub eax, 0xdb0650ec
xor eax, 0x92a9d324
and eax, 0x65383165
cmp eax, 0x6947d66e
jae 0x1804ca6c4
mov eax, dword [0x1807aea28]
xor eax, dword [0x1807aea2c]
imul ebp, eax, 0x76faf442
xor ebp, 0x7809f959
or ebp, 0xfd0b3fe3
lea r8, [rsp + 0x28]
mov rcx, rbx
mov rdx, rdi
call fcn.18063ac80
mov rcx, rdx
cmp ebp, 0x72c2cc5c
jb 0x1804ca6c4
jmp 0x1804ca286
cmp rax, 0
jne 0x1804ca348
mov eax, dword [0x1807aea30]
or eax, dword [0x1807aea34]
sub eax, 0xcc901053
xor eax, 0x77c75bd
add eax, 0xf8da61d3
cmp eax, 0xe5413627
jae 0x1804ca6e1
jmp 0x1804ca2b8
mov eax, dword [0x1807aea38]
and eax, dword [0x1807aea3c]
and eax, 0x7dd95058
imul eax, eax, 0x7109a76c
sub eax, 0xf0b73f7b
cmp rcx, 0
sete r8b
cmp eax, 0xa32385c9
jae 0x1804ca2b8
jmp 0x1804ca2e5
mov eax, dword [0x1807aea40]
add eax, dword [0x1807aea44]
sub eax, 0x793cb4b7
imul eax, eax, 0x23723b85
mov r9d, 0xf29e67f7
xor edx, edx
div r9d
cmp eax, 0xd1dfb8f0
ja 0x1804ca6ee
jmp 0x1804ca314
mov eax, dword [0x1807aea48]
xor eax, dword [0x1807aea4c]
and eax, 0xdcdb2cfc
mov r9d, 0x68303d55
xor edx, edx
div r9d
imul eax, eax, 0x8b901058
cmp eax, 0x1b71757f
jae 0x1804ca314
test r8b, 1
jne 0x1804ca350
jmp 0x1804ca3cb
mov byte [rsi], 2
jmp 0x1804ca5fb
mov rcx, qword [r15]
mov eax, dword [0x1807aea50]
imul eax, dword [0x1807aea54]
add eax, 0x6e94af03
and eax, 0x9934801b
mov r8d, 0x94d390d3
xor edx, edx
div r8d
cmp eax, 0x57229817
jae 0x1804ca6ff
mov eax, dword [0x1807aea58]
xor eax, dword [0x1807aea5c]
mov r8d, 0xa888126c
xor edx, edx
div r8d
mov r8d, 0x4efbb566
xor edx, edx
div r8d
mov r8d, 0x10e1581e
xor edx, edx
div r8d
mov rdx, qword [r14]
cmp eax, 0xf805e942
ja 0x1804ca6ff
jmp 0x1804ca3bd
cmp rcx, rdx
ja 0x1804ca538
jmp 0x1804ca47e
mov byte [rsi], 1
mov eax, dword [0x1807aea60]
or eax, dword [0x1807aea64]
mov r8d, 0xe12ca2f4
xor edx, edx
div r8d
sub eax, 0xadfc3dde
or eax, 0x6a2b6500
cmp eax, 0xd8746f54
jae 0x1804ca70c
jmp 0x1804ca3fc
mov eax, dword [0x1807aea68]
xor edx, edx
div dword [0x1807aea6c]
and eax, 0x4bcf7788
xor eax, 0x4861aa7f
or eax, 0xbb21ea0
mov qword [rsi + 8], rcx
cmp eax, 0xb2a8ffdc
jae 0x1804ca3fc
jmp 0x1804ca426
mov eax, dword [0x1807aea70]
and eax, dword [0x1807aea74]
add eax, 0xffb6c883
sub eax, 0xf3929998
mov ecx, 0xafc7526f
xor edx, edx
div ecx
cmp eax, 0xa4f733fc
jae 0x1804ca71d
jmp 0x1804ca452
mov eax, dword [0x1807aea78]
imul eax, dword [0x1807aea7c]
mov ecx, 0x57975fe9
xor edx, edx
div ecx
sub eax, 0xf7c53e98
xor eax, 0xd84aa4fe
cmp eax, 0x185b0222
je 0x1804ca452
jmp 0x1804ca5fb
mov eax, dword [0x1807aea80]
add eax, dword [0x1807aea84]
sub eax, 0xf71e01ad
mov r8d, 0x3d63a42d
xor edx, edx
div r8d
sub eax, 0x98150bb9
cmp eax, 0xb8850d8c
jae 0x1804ca72a
mov eax, dword [0x1807aea88]
sub eax, dword [0x1807aea8c]
add eax, 0x2387e21b
and eax, 0x85191990
sub eax, 0x299fd66b
cmp rcx, 0
sete r8b
cmp eax, 0xb4e8415e
jae 0x1804ca72a
jmp 0x1804ca4da
mov eax, dword [0x1807aea90]
imul eax, dword [0x1807aea94]
and eax, 0x6bed6fd1
xor eax, 0xead49cbd
mov ecx, 0x56d488cb
xor edx, edx
div ecx
cmp eax, 0xf53f7b6e
je 0x1804ca737
jmp 0x1804ca507
mov eax, dword [0x1807aea98]
add eax, dword [0x1807aea9c]
mov ecx, 0x447ecfd2
xor edx, edx
div ecx
or eax, 0xfed73409
and eax, 0xd6da09f4
cmp eax, 0xcb87caf9
jbe 0x1804ca507
test r8b, 1
jne 0x1804ca53c
jmp 0x1804ca65b
ud2
mov eax, dword [0x1807aeaa0]
sub eax, dword [0x1807aeaa4]
add eax, 0x1782eb74
and eax, 0x5b194bb8
and eax, 0xf86e092d
cmp eax, 0x8d853ffb
ja 0x1804ca744
jmp 0x1804ca564
mov eax, dword [0x1807aeaa8]
xor edx, edx
div dword [0x1807aeaac]
imul ecx, eax, 0x6f37ea07
xor ecx, 0x69b5e651
or ecx, 0x45a38d0c
mov byte [rsi], 1
mov rax, rsi
add rax, 8
cmp ecx, 0x7981639b
ja 0x1804ca564
jmp 0x1804ca598
mov ecx, dword [0x1807aeab0]
xor ecx, dword [0x1807aeab4]
xor ecx, 0xb88d21c5
and ecx, 0x470d8f2e
xor ecx, 0x90b16fb0
cmp ecx, 0x29788a3
jb 0x1804ca758
mov ecx, dword [0x1807aeab8]
xor ecx, dword [0x1807aeabc]
or ecx, 0x10782587
imul ecx, ecx, 0x57e80b82
or ecx, 0xa863c90f
movabs rdx, 0x2500000003
mov qword [rax], rdx
cmp ecx, 0xc259b4d3
jb 0x1804ca758
jmp 0x1804ca5fb
mov eax, dword [0x1807aeac0]
and eax, dword [0x1807aeac4]
or eax, 0xcc531a8d
or eax, 0x8f152c63
sub eax, 0x54f89deb
cmp eax, 0x58005884
jbe 0x1804ca772
mov eax, dword [0x1807aeac8]
add eax, dword [0x1807aeacc]
xor eax, 0x75d6424e
mov ecx, 0x4d9a3e85
xor edx, edx
div ecx
sub eax, 0x7464be29
cmp eax, 0xc93feaa8
ja 0x1804ca772
mov rax, rsi
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x28]
mov eax, dword [0x1807aead0]
xor edx, edx
div dword [0x1807aead4]
add eax, 0x7f60ba22
add eax, 0xa281a0a8
sub eax, 0xe898bf95
cmp eax, 0x9240f74d
jae 0x1804ca783
mov eax, dword [0x1807aead8]
imul eax, dword [0x1807aeadc]
and eax, 0x723b17b0
add byte cs:[0x1f287be4a], ah
xor eax, 0x36b748e3
mov r8d, 0x9641274b
xor edx, edx
div r8d
mov dl, byte [rcx]
mov byte [rsi], 0
mov byte [rsi + 1], dl
cmp eax, 0x31f83d9f
ja 0x1804ca783
jmp 0x1804ca6bf
jmp 0x1804ca5fb
jns 0x1804ca717
sbb dh, dh
xchg ecx, eax
sub al, 0x7a
invalid
invalid
jns 0x1804ca691
mov edi, 0x81131458
add dh, cl
sahf
iretd
push rax
invalid
xor dh, bl
add ecx, dword [rcx - 0x742adec]
mov qword [rsi + 8], rcx
jmp 0x1804ca3fa
mov dword [rdx + rdx*2], edx
mov ebp, 0x4e8948f8
or cl, ch
invalid
invalid
jg 0x1804ca70f
std
invalid
int1
or al, 0x73
adc byte [rax - 0x1651c03e], bl
jae 0x1804ca732
jmp 0x1804ca4aa
invalid
xlatb
invalid
scasd eax, dword [rdi]
invalid
leave
jo 0x1804ca724
ror ch, 0xdc
add eax, 0x3b94886
add byte [rax], al
add byte [0x1c84ca76b], ah
mov dword [rax], ecx
jmp 0x1804ca5c2
cdq
wait
mov esp, 0x2f1e28fa
ret
sbb eax, 0x725f3450
ja 0x1804ca7c1
push rdx
xor eax, 0x8ae6de1e
add esi, eax
invalid
mov esp, edx
add r12, 0xa
mov sil, byte [r12]
cmp sil, 2
je 0x1804ca8b7
mov eax, dword [0x1807aeae0]
add eax, dword [0x1807aeae4]
add eax, 0xbd6b0aea
imul eax, eax, 0x48ebec49
or eax, 0xdeba3cbc
cmp eax, 0xdd4d9a34
jbe 0x1804cae2f
mov ecx, dword [0x1807aeae8]
and ecx, dword [0x1807aeaec]
and ecx, 0xd5dc286c
and ecx, 0x49405828
or ecx, 0x4e83a5b5
cmp sil, 2
setb al
cmp ecx, 0x9b890c6
jb 0x1804cae2f
jmp 0x1804ca82f
test al, 1
jne 0x1804ca838
jmp 0x1804ca930
lea r13, [rsp + 0x38]
add r13, 8
lea rbp, [rsp + 0x38]
add rbp, 0x10
mov qword [rsp + 0x20], r8
mov eax, dword [0x1807aeaf0]
sub eax, dword [0x1807aeaf4]
imul eax, eax, 0x299f6db7
and eax, 0x553addc0
or eax, 0xb8b81cdf
cmp eax, 0xed79d038
je 0x1804cae3c
jmp 0x1804ca878
mov eax, dword [0x1807aeaf8]
or eax, dword [0x1807aeafc]
or eax, 0x84d64577
or eax, 0x6c2a9f8e
sub eax, 0xdcda903b
lea r14, [rsp + 0x38]
add r14, 0x18
cmp eax, 0xfb66865
jbe 0x1804ca878
jmp 0x1804ca8a5
mov rcx, qword [rdx]
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x28], rcx
jmp 0x1804caa04
mov ax, word [r15]
rol ax, 8
mov ecx, dword [0x1807aeb00]
add ecx, dword [0x1807aeb04]
or ecx, 0x43ba7132
imul ecx, ecx, 0x2656183e
imul ecx, ecx, 0xb7388478
cmp ecx, 0x3fc2e1cb
jbe 0x1804cae4d
mov ecx, dword [0x1807aeb08]
add ecx, dword [0x1807aeb0c]
imul edx, ecx, 0x956f912d
or edx, 0x4b7f652e
xor edx, 0x6688ac1b
mov word [rdi], 0
mov rcx, rdi
add rcx, 2
cmp edx, 0x11a05850
je 0x1804cae4d
jmp 0x1804ca921
mov word [rcx], ax
jmp 0x1804ca9f0
mov r8, qword [rsp + 0x20]
jmp 0x1804ca930
mov eax, dword [0x1807aeb10]
and eax, dword [0x1807aeb14]
mov ecx, 0x32e537db
xor edx, edx
div ecx
sub eax, 0xf81584e8
and eax, 0xc81826fd
cmp eax, 0x3bcba306
je 0x1804cae63
mov ecx, dword [0x1807aeb18]
xor ecx, dword [0x1807aeb1c]
or ecx, 0x83cd4497
xor ecx, 0xb5b14356
add ecx, 0x2daada93
mov ax, word [r15]
cmp ecx, 0xc43d92fc
jae 0x1804cae63
jmp 0x1804ca98a
mov ecx, dword [0x1807aeb20]
add ecx, dword [0x1807aeb24]
add ecx, 0xe0df6337
add ecx, 0xc0011842
imul ecx, ecx, 0x26d9f94d
cmp ecx, 0x2208b93a
jbe 0x1804cae74
jmp 0x1804ca9b6
mov ecx, dword [0x1807aeb28]
xor ecx, dword [0x1807aeb2c]
add ecx, 0x66bc8670
or ecx, 0xdf295a66
imul ecx, ecx, 0x471a40d6
mov dx, ax
rol dx, 8
mov word [rdi], 0
mov word [rdi + 2], dx
cmp ecx, 0xc35e2d3e
ja 0x1804ca9b6
jmp 0x1804ca9ee
jmp 0x1804ca9f0
mov rax, r8
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x1807aeb30]
and eax, dword [0x1807aeb34]
and eax, 0xeac8c507
xor eax, 0x7688e00b
or eax, 0xf4dbfce1
cmp eax, 0xdf4c97f1
je 0x1804cae91
mov eax, dword [0x1807aeb38]
xor eax, dword [0x1807aeb3c]
xor eax, 0xd99d5383
imul ebx, eax, 0x37d9fe0
or ebx, 0xb2eb8313
movzx eax, sil
mov r8d, 2
sub r8, rax
mov rdx, r15
add rdx, rax
mov qword [rsp + 0x38], rdx
mov qword [r13], r8
mov qword [rbp], 0
mov qword [r14], r8
lea r8, [rsp + 0x38]
mov rdx, r9
call fcn.18063ac80
mov rcx, qword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
mov r10, rdx
cmp rax, 0
sete al
cmp ebx, 0x527c7755
jb 0x1804cae91
test al, 1
jne 0x1804caaa1
jmp 0x1804caab1
cmp r10, 0
sete al
test al, 1
jne 0x1804cab15
jmp 0x1804cabd7
mov eax, dword [0x1807aeb40]
and eax, dword [0x1807aeb44]
mov ecx, 0x4b57f
xor edx, edx
div ecx
xor eax, 0x1eaeca65
imul eax, eax, 0xb85c1267
cmp eax, 0x53b584c5
jae 0x1804caee0
mov eax, dword [0x1807aeb48]
xor edx, edx
div dword [0x1807aeb4c]
and eax, 0x541a5e74
and eax, 0x4419c6ef
xor eax, 0xd2632be8
mov word [rdi], 2
cmp eax, 0x60198a68
jbe 0x1804caee0
mov r8, qword [rsp + 0x20]
jmp 0x1804cab10
jmp 0x1804cadd4
mov eax, dword [0x1807aeb50]
or eax, dword [0x1807aeb54]
sub eax, 0x7ca83229
or eax, 0x40151721
mov r8d, 0xb0fceb7f
xor edx, edx
div r8d
cmp eax, 0x3592852f
ja 0x1804caef6
jmp 0x1804cab43
mov eax, dword [0x1807aeb58]
imul eax, dword [0x1807aeb5c]
or eax, 0xa9a44403
and eax, 0x87e90ad
xor eax, 0x8951adf
mov rsi, qword [rbp]
cmp eax, 0x14ca1b95
je 0x1804cab43
jmp 0x1804cab6c
mov r10, qword [r13]
mov eax, dword [0x1807aeb60]
xor eax, dword [0x1807aeb64]
xor eax, 0x7eb7aaef
mov r8d, 0x899f9568
xor edx, edx
div r8d
or eax, 0xa4e4f236
cmp eax, 0xce2b410b
ja 0x1804caf03
jmp 0x1804cab9e
mov edx, dword [0x1807aeb68]
add edx, dword [0x1807aeb6c]
and edx, 0x8ab13f49
add edx, 0x743263ef
add edx, 0x446707e8
cmp rsi, r10
seta al
cmp edx, 0x34a6210b
je 0x1804cab9e
test al, 1
jne 0x1804caca2
jmp 0x1804cac8e
mov eax, dword [0x1807aeb70]
or eax, dword [0x1807aeb74]
imul eax, eax, 0xe8ff18db
and eax, 0xf0cd5eda
mov r8d, 0x7a137eb6
xor edx, edx
div r8d
cmp eax, 0x709f6025
ja 0x1804caf14
mov r8, qword [rsp + 0x20]
jmp 0x1804cac0b
mov eax, dword [0x1807aeb78]
or eax, dword [0x1807aeb7c]
add eax, 0x7afff45d
and eax, 0x7824d526
or eax, 0x89098243
mov word [rdi], 1
cmp eax, 0x8539d9d5
jb 0x1804cac0b
jmp 0x1804cac34
mov eax, dword [0x1807aeb80]
imul eax, dword [0x1807aeb84]
add eax, 0xd462d429
sub eax, 0xd82dab25
imul eax, eax, 0x311d3c9c
cmp eax, 0x70ded405
jbe 0x1804caf26
mov eax, dword [0x1807aeb88]
xor eax, dword [0x1807aeb8c]
imul eax, eax, 0xd1f0a634
xor eax, 0x601d977c
add eax, 0x9a600b58
mov qword [rdi + 8], r10
cmp eax, 0x376d4aa4
jb 0x1804caf26
jmp 0x1804cac89
jmp 0x1804cadd4
cmp rsi, 0
sete al
test al, 1
jne 0x1804cad50
jmp 0x1804cadbd
mov eax, dword [0x1807aeb90]
add eax, dword [0x1807aeb94]
xor eax, 0x672f9f04
xor eax, 0x2efedee3
xor eax, 0xfc750624
cmp eax, 0x88d0660c
je 0x1804caf3b
mov eax, dword [0x1807aeb98]
imul eax, dword [0x1807aeb9c]
sub eax, 0x348d75fb
and eax, 0x9f34a3b
sub eax, 0xe95ba4ee
ud2
mov word [rdi], 1
add rdi, 8
mov r8, qword [rsp + 0x20]
mov eax, dword [0x1807aebb0]
xor edx, edx
div dword [0x1807aebb4]
sub eax, 0x88219fe8
and eax, 0x1e64d64b
add eax, 0xea3f4cc3
cmp eax, 0xdc199f9a
je 0x1804caf5f
jmp 0x1804cad88
mov eax, dword [0x1807aebb8]
or eax, dword [0x1807aebbc]
or eax, 0xa8f35e8f
mov ecx, 0x3623b9f0
xor edx, edx
div ecx
sub eax, 0x9be035a9
movabs rcx, 0x2500000003
mov qword [rdi], rcx
cmp eax, 0xeef5f38d
je 0x1804cad88
jmp 0x1804cadd4
add sil, byte [r12]
mov byte [r12], sil
cmp sil, 2
jb 0x1804caa04
jmp 0x1804ca929
mov eax, dword [0x1807aebc0]
xor edx, edx
div dword [0x1807aebc4]
sub eax, 0x84dfa4d
imul eax, eax, 0x3ec18870
imul eax, eax, 0xcbe898d3
imul eax, eax, 0xcbe898d3
cmp eax, 0x3cbf63c7
jb 0x1804caf7d
mov eax, dword [0x1807aebc8]
and eax, dword [0x1807aebcc]
sub eax, 0xb6d791f9
mov ecx, 0x2466884d
xor edx, edx
div ecx
sub eax, 0xaa34578f
cmp eax, 0xaed3f2f7
je 0x1804caf7d
invalid
jmp 0x1804cae2a
jmp 0x1804ca9f0
mov ebp, 0x47f58b7a
pop r10
int3
pop rbp
invalid
jo 0x1804caeb8
invalid
cdq
jle 0x1804cadec
xchg esi, eax
invalid
stosb byte [rdi], al
sahf
adc ebx, esp
jge 0x1804cae00
in al, 0xd9
mov cx, ax
rol cx, 8
mov word [rdi], 0
mov word [rdi + 2], cx
jmp 0x1804ca9b4
adc edx, edx
invalid
add byte [rax - 0x39], cl
add byte [r8], r8b
add byte [rax], al
add byte [rbp - 0x77], cl
invalid
adc dword [rsp + rbx*4 - 0x53], esi
movsxd r14, eax
fisubr dword [rdi - 0x3899f9c1]
invalid
invalid
or ecx, dword [rdi]
pop rsp
invalid
xor bl, ah
movabs byte [0x107c76683e31843], al
add cl, ch
fdivp st(4)
invalid
adc dword [rcx + 0x48e4a83a], esp
ficomp word [rsi - 0x16]
invalid
invalid
sbb eax, 0x464a4d5
cli
je 0x1804cafc8
invalid
push rbp
fcmovnb st(0), st(5)
and bpl, byte [rcx + 0x5c]
movabs byte [0xfffe70e9b1b2d78e], al
dec esp
int3
int3