Function at 0x1804c0290
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, qword [rcx]
mov rcx, rsi
add rcx, 0x48
call fcn.180490170
mov rbx, qword [rsi + 0x48]
cmp rbx, 0
je 0x1804c0378
mov eax, dword [0x1807ad668]
xor edx, edx
div dword [0x1807ad66c]
xor eax, 0xa504d603
and eax, 0x66f3120d
xor eax, 0x377aa9ec
cmp eax, 0x208ed60e
ja 0x1804c0afe
jmp 0x1804c02e3
mov eax, dword [0x1807ad670]
sub eax, dword [0x1807ad674]
imul eax, eax, 0x151a4e3f
imul eax, eax, 0x1bd62e61
xor eax, 0xc4ac443
mov rdi, qword [rsi + 0x50]
cmp eax, 0x97bfa40c
jb 0x1804c02e3
jmp 0x1804c030d
mov eax, dword [0x1807ad678]
imul eax, dword [0x1807ad67c]
and eax, 0x4c34dcbf
sub eax, 0x959b49ea
imul eax, eax, 0x5b2078b7
cmp eax, 0x70318d7a
jbe 0x1804c0b0b
mov eax, dword [0x1807ad680]
or eax, dword [0x1807ad684]
imul ebp, eax, 0x9fb29ed8
and ebp, 0xd743b06b
and ebp, 0xbd246b30
mov rdx, rbx
shl rdx, 4
mov rcx, rdi
mov r8d, 8
call fcn.1804cafa0
cmp ebp, 0x6345ab30
jae 0x1804c0b0b
jmp 0x1804c0376
jmp 0x1804c0378
mov rcx, rsi
add rcx, 0x98
mov r8, qword [rcx]
cmp r8, 0
je 0x1804c03f0
mov eax, dword [0x1807ad688]
add eax, dword [0x1807ad68c]
or eax, 0xc0cb371d
add eax, 0x774131b
or eax, 0x7a7e6fb
cmp eax, 0xcf8caa54
je 0x1804c0b2d
jmp 0x1804c03b3
mov eax, dword [0x1807ad690]
xor edx, edx
div dword [0x1807ad694]
xor eax, 0xf25729c9
and eax, 0x33364c23
or eax, 0x9db40c07
lock dec qword [r8]
sete dl
cmp eax, 0xd84925de
je 0x1804c03b3
jmp 0x1804c03e0
jmp 0x1804c03e2
test dl, 1
jne 0x1804c03e9
jmp 0x1804c03f0
call fcn.1804c7fd0
jmp 0x1804c03f0
mov rdi, rsi
add rdi, 0xa0
mov r14, qword [rdi]
cmp r14, 0
sete al
test al, 1
jne 0x1804c05ff
jmp 0x1804c040e
mov eax, dword [0x1807ad698]
xor eax, dword [0x1807ad69c]
mov ecx, 0x67056407
xor edx, edx
div ecx
xor eax, 0xd17d7c77
mov ecx, 0xde91a571
xor edx, edx
div ecx
cmp eax, 0x892159a6
jae 0x1804c0b3e
jmp 0x1804c043e
mov eax, dword [0x1807ad6a0]
and eax, dword [0x1807ad6a4]
xor eax, 0x3eaad59d
add eax, 0x7ef358da
or eax, 0x2eab82a7
mov r15, rsi
add r15, 0xb0
cmp eax, 0x7a26daa4
jae 0x1804c043e
jmp 0x1804c046c
mov eax, dword [0x1807ad6a8]
imul eax, dword [0x1807ad6ac]
add eax, 0x266879b4
add eax, 0x4c10b911
or eax, 0x4e6fe340
cmp eax, 0xe2c14181
jae 0x1804c0b4b
mov eax, dword [0x1807ad6b0]
or eax, dword [0x1807ad6b4]
and eax, 0x32504471
mov ecx, 0x7b3454f4
xor edx, edx
div ecx
mov ecx, 0xb355ea81
xor edx, edx
div ecx
mov ebx, eax
mov rcx, qword [r15]
call qword [sym.imp.kernel32.dll_CloseHandle]
lock dec qword [r14]
sete al
cmp ebx, 0xb7634029
je 0x1804c0b4b
jmp 0x1804c04d6
test al, 1
jne 0x1804c04dc
jmp 0x1804c0537
mov rcx, rdi
call fcn.1804c3d10
mov eax, dword [0x1807ad6b8]
imul eax, dword [0x1807ad6bc]
and eax, 0xd9fff0db
add eax, 0x94edad7
mov ecx, 0x47358a81
xor edx, edx
div ecx
cmp eax, 0x62d6eb30
je 0x1804c0b68
mov eax, dword [0x1807ad6c0]
and eax, dword [0x1807ad6c4]
or eax, 0x69849d36
add eax, 0xc32d1b00
and eax, 0xd71d2adf
cmp eax, 0xa1e1f898
je 0x1804c0b68
jmp 0x1804c0537
mov eax, dword [0x1807ad6c8]
imul eax, dword [0x1807ad6cc]
add eax, 0xb5659c70
imul eax, eax, 0x79517fd1
add eax, 0xbd903122
cmp eax, 0x7b9d1613
je 0x1804c0b79
jmp 0x1804c0561
mov eax, dword [0x1807ad6d0]
sub eax, dword [0x1807ad6d4]
sub eax, 0xb699f886
and eax, 0x6ec1a6a6
xor eax, 0x1974c062
mov rdi, rsi
add rdi, 0xa8
cmp eax, 0x66c5db2
jbe 0x1804c0561
jmp 0x1804c058f
mov rax, qword [rdi]
lock dec qword [rax]
sete al
test al, 1
jne 0x1804c059f
jmp 0x1804c05ff
mov eax, dword [0x1807ad6d8]
add eax, dword [0x1807ad6dc]
add eax, 0xec79fd5e
mov ecx, 0x2d39f871
xor edx, edx
div ecx
or eax, 0x77f9ee0a
cmp eax, 0x58074e11
je 0x1804c0b86
mov ebx, dword [0x1807ad6e0]
sub ebx, dword [0x1807ad6e4]
add ebx, 0xba92ee05
and ebx, 0xa805f35e
sub ebx, 0x62444871
mov rcx, rdi
call fcn.1804c10d0
cmp ebx, 0xf03c4df1
jae 0x1804c0b86
jmp 0x1804c05fd
jmp 0x1804c05ff
mov rdi, rsi
add rdi, 0x68
mov eax, dword [0x1807ad6e8]
xor edx, edx
div dword [0x1807ad6ec]
xor eax, 0x1ebbafc8
mov ecx, 0xac26dcb6
xor edx, edx
div ecx
mov ecx, 0x89ff7f87
xor edx, edx
div ecx
cmp eax, 0xb9c74ca
je 0x1804c0b9b
mov ebx, dword [0x1807ad6f0]
xor ebx, dword [0x1807ad6f4]
or ebx, 0x49ec8f30
add ebx, 0x5dd37ac9
sub ebx, 0x16a7c7af
mov rcx, rdi
call fcn.18045d620
cmp ebx, 0xfe0c3bfc
ja 0x1804c0b9b
jmp 0x1804c066a
mov rcx, rsi
add rcx, 0x30
mov rax, qword [rsi + 0x30]
lock dec qword [rax]
sete al
test al, 1
je 0x1804c06df
mov eax, dword [0x1807ad6f8]
and eax, dword [0x1807ad6fc]
imul eax, eax, 0xae2ab86a
add eax, 0x35f45c2f
add eax, 0x73e8af66
cmp eax, 0x8bc078af
je 0x1804c0bb4
jmp 0x1804c06a9
mov eax, dword [0x1807ad700]
mov edx, dword [str._B1ET]
imul eax, edx
and eax, 0xcc711849
mov edx, 0x938cae7b
imul rax, rdx
shr rax, 0x3c
add eax, 0x18efb7db
cmp eax, 0x95bf8d24
ja 0x1804c06a9
jmp 0x1804c06d8
call fcn.1804c1900
jmp 0x1804c06df
mov rdi, rsi
add rdi, 0xd0
mov rcx, qword [rdi]
cmp rcx, 0
sete al
test al, 1
jne 0x1804c086f
jmp 0x1804c06fd
mov rax, 0xffffffffffffffff
lock xadd qword [rcx], rax
mov ecx, dword [0x1807ad708]
add ecx, dword [0x1807ad70c]
sub ecx, 0x617e50e7
or ecx, 0x735f5342
add ecx, 0xc6fcc7d2
cmp ecx, 0x335c43e5
jbe 0x1804c0bc1
mov edx, dword [0x1807ad710]
add edx, dword [0x1807ad714]
and edx, 0xd716086f
or edx, 0xa1d3f61e
sub edx, 0x5daad313
cmp rax, 1
sete cl
cmp edx, 0x5f2c1f86
ja 0x1804c0bc1
jmp 0x1804c0766
mov eax, dword [str._t7u]
xor edx, edx
div dword [0x1807ad71c]
imul eax, eax, 0x979f7e1d
sub eax, 0x5708a9cd
and eax, 0xe61aae50
cmp eax, 0xbfa1bd50
jae 0x1804c0bd2
jmp 0x1804c0791
mov eax, dword [0x1807ad720]
add eax, dword [0x1807ad724]
sub eax, 0xae41a641
or eax, 0x3ac522b6
xor eax, 0x9e7bd60c
cmp eax, 0x34946ae2
je 0x1804c0791
test cl, 1
jne 0x1804c07bd
jmp 0x1804c086f
mov eax, dword [0x1807ad728]
add eax, dword [0x1807ad72c]
mov ecx, 0xc9d9329b
xor edx, edx
div ecx
imul eax, eax, 0x9119371b
and eax, 0xe1dc288a
cmp eax, 0x71c25b2b
jae 0x1804c0be3
jmp 0x1804c07ea
mov eax, dword [0x1807ad730]
and eax, dword [0x1807ad734]
imul eax, eax, 0x4d6e4e9b
imul ebx, eax, 0xde0cfc6e
add ebx, 0xa29c28c6
mov rcx, rdi
call fcn.1804c1900
cmp ebx, 0x84eaff9b
ja 0x1804c07ea
jmp 0x1804c081a
mov eax, dword [0x1807ad738]
xor edx, edx
div dword [0x1807ad73c]
xor eax, 0x84714732
mov ecx, 0x971c1c24
xor edx, edx
div ecx
imul eax, eax, 0x12b99663
cmp eax, 0x72bfbaae
ja 0x1804c0bfc
mov eax, dword [0x1807ad740]
and eax, dword [0x1807ad744]
sub eax, 0x4ab3abb6
sub eax, 0x1488d401
add eax, 0xc19473b4
cmp eax, 0x709c0546
jbe 0x1804c0bfc
jmp 0x1804c086f
mov rcx, rsi
add rcx, 0xe0
mov eax, dword [0x1807ad748]
imul eax, dword [0x1807ad74c]
sub eax, 0x75041627
or eax, 0x20d0f95e
sub eax, 0x8ccddd4b
cmp eax, 0x397fba5e
jae 0x1804c0c0d
mov eax, dword [0x1807ad750]
xor edx, edx
div dword [0x1807ad754]
and eax, 0xf206e919
mov r8d, 0xf551c5a9
xor edx, edx
div r8d
sub eax, 0xd9743c05
mov r8, qword [rcx]
cmp r8, 0
sete r9b
cmp eax, 0x89a8958a
jae 0x1804c0c0d
jmp 0x1804c08db
mov eax, dword [0x1807ad758]
imul eax, dword [0x1807ad75c]
add eax, 0xde48c937
xor eax, 0x60f7bbec
sub eax, 0x41baf4f6
cmp eax, 0x8dc1b31d
je 0x1804c0c1a
mov eax, dword [0x1807ad760]
or eax, dword [0x1807ad764]
xor eax, 0xea8b76f6
mov r10d, 0x26b69e8
xor edx, edx
div r10d
mov r10d, 0x21b295cc
xor edx, edx
div r10d
cmp eax, 0xd2c8626a
ja 0x1804c0c1a
test r9b, 1
jne 0x1804c099f
jmp 0x1804c093c
lock dec qword [r8]
sete al
jmp 0x1804c0945
test al, 1
jne 0x1804c094b
jmp 0x1804c099f
call fcn.1804c1900
mov eax, dword [0x1807ad768]
imul eax, dword [0x1807ad76c]
sub eax, 0xff5b2890
add eax, 0x6927126d
xor eax, 0x37f5deec
cmp eax, 0x4a2ddc14
jb 0x1804c0c2b
jmp 0x1804c0979
mov eax, dword [0x1807ad770]
xor edx, edx
div dword [0x1807ad774]
add eax, 0x6999b914
add eax, 0x65bf09a2
add eax, 0xa7648364
cmp eax, 0xede6aab9
jae 0x1804c0979
jmp 0x1804c099f
mov rax, 0xffffffffffffffff
cmp rsi, rax
sete cl
mov eax, dword [0x1807ad778]
sub eax, dword [0x1807ad77c]
mov r8d, 0x4b971068
xor edx, edx
div r8d
mov r8d, 0x9bc9f0f2
xor edx, edx
div r8d
mov r8d, 0x921c7a3
xor edx, edx
div r8d
cmp eax, 0x66eddb31
jae 0x1804c0c3c
jmp 0x1804c09e6
mov eax, dword [0x1807ad780]
or eax, dword [0x1807ad784]
sub eax, 0xb7d4c42a
mov r8d, 0x2691f1c6
xor edx, edx
div r8d
and eax, 0xa65af809
cmp eax, 0xc2d82ca6
ja 0x1804c09e6
test cl, 1
jne 0x1804c0af1
jmp 0x1804c0a19
mov rax, rsi
add rax, 8
lock dec qword [rax]
sete al
jmp 0x1804c0a29
test al, 1
jne 0x1804c0a32
jmp 0x1804c0af1
mov eax, dword [0x1807ad788]
sub eax, dword [0x1807ad78c]
sub eax, 0xe56f6713
mov ecx, 0x946acade
xor edx, edx
div ecx
xor eax, 0x536bb825
cmp eax, 0x71fd6259
ja 0x1804c0c49
jmp 0x1804c0a5e
mov edi, dword [0x1807ad790]
or edi, dword [0x1807ad794]
or edi, 0xef91a5ae
or edi, 0x927a0c58
and edi, 0xe1c0dbf2
mov rcx, rsi
mov edx, 0x110
mov r8d, 8
call fcn.1804cafa0
cmp edi, 0x6e24d76c
jbe 0x1804c0a5e
jmp 0x1804c0a99
mov eax, dword [0x1807ad798]
and eax, dword [0x1807ad79c]
imul eax, eax, 0xe96a6fd2
and eax, 0x87aee30a
xor eax, 0xf55551c4
cmp eax, 0x88320a93
jae 0x1804c0c6d
mov eax, dword [0x1807ad7a0]
and eax, dword [0x1807ad7a4]
mov ecx, 0x1655fbfe
xor edx, edx
div ecx
mov ecx, 0x33cc614e
xor edx, edx
div ecx
imul eax, eax, 0xba4e382
cmp eax, 0x70e44de7
ja 0x1804c0c6d
jmp 0x1804c0af1
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
ret
jmp 0x1b5505281
and al, 0xa8
invalid
invalid
xor esi, esp
invalid
invalid
invalid
cmpsd dword [rsi], dword [rdi]
and ch, byte [rcx]
sbb dl, byte [rdx + 0x48e195a4]
mov ecx, edi
call fcn.1804c10d0
jmp 0x1804c05c9
xor dh, byte [rdi + 0x57c61c09]
invalid
invalid
jnp 0x1804c0bdb
popfq
frstor dword [rdi]
and al, ah
jmp 0x1804c06a7
js 0x1804c0bae
scasb al, byte [rdi]
out dx, al
and edi, edi
cmp esi, edx
or al, 0xd7
sbb bh, dh
jmp 0x1804c0733
stosb byte [rdi], al
jns 0x1804c0b89
sbb dword [rdi - 0x45], 0x77
xchg ebx, eax
push rsp
invalid
or ah, byte [rdi + rdx*4]
enter 0xfffffffffffffed0, 0x29
loop 0x1804c0bfd
push 0xfffffffff98948c3
call fcn.1804c1900
jmp 0x1804c07e8
psubd mm7, qword [rcx - 0x5de07f7b]
cli
mov ecx, 0xa21f8085
jg 0x1804c0c5d
pop rsi
sbb ebp, dword [rdx - 0x3c517]
jmp qword [rdi - 0x19a9fdaf]
cmpsd dword [rsi], dword [rdi]
push rcx
add dl, byte [rsi - 0x1a]
invalid
scasd eax, dword [rdi]
invalid
or al, 0x42
adc eax, 0x8cb3f52d
shr byte [rcx], cl
iretd
xchg ecx, eax
sar dword [rbx - 0x1d205151], cl
sbb ebp, ecx
wait
std
invalid
invalid
mov r8d, 8
call fcn.1804cafa0
jmp 0x1804c0a5c
add byte [rax + 0x52882e71], dh
mov ebx, 0x286a6b68
mov cl, 0xe9
invalid