Function at 0x1803c3570
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
mov eax, dword [0x180792ec0]
and eax, dword [0x180792ec4]
mov ecx, 0x82384fb2
xor edx, edx
div ecx
and eax, 0x3d0327fd
imul eax, eax, 0xa0de8763
cmp eax, 0x2d9fdd29
jae 0x1803c3cdd
mov eax, dword [0x180792ec8]
or eax, dword [0x180792ecc]
and eax, 0xdcb61d57
and eax, 0x651c9198
mov ecx, 0x51584bc9
xor edx, edx
div ecx
mov rcx, rsi
add rcx, 0x48
cmp eax, 0x2564fe05
ja 0x1803c3cdd
jmp 0x1803c35e1
mov eax, dword [0x180792ed0]
or eax, dword [0x180792ed4]
xor eax, 0xe61255ea
mov r8d, 0x6c3b87f5
xor edx, edx
div r8d
add eax, 0x4d267cb8
cmp eax, 0x8ed7cc51
jae 0x1803c3cee
jmp 0x1803c360f
mov r8d, dword [0x180792ed8]
and r8d, dword [0x180792edc]
add r8d, 0xf96b10b
xor r8d, 0x305b754c
add r8d, 0xb63f61f7
mov rdx, qword [rcx]
cmp rdx, 0
sete al
cmp r8d, 0xa5a480d3
jae 0x1803c360f
jmp 0x1803c3647
mov ecx, dword [0x180792ee0]
sub ecx, dword [0x180792ee4]
imul ecx, ecx, 0x7978f154
imul ecx, ecx, 0x32d46086
xor ecx, 0x7a5bf7bd
cmp ecx, 0xf8de8df4
jae 0x1803c3cff
jmp 0x1803c3673
mov ecx, dword [0x180792ee8]
xor ecx, dword [0x180792eec]
imul ecx, ecx, 0xd019988e
or ecx, 0xb3e3a2a0
xor ecx, 0x75fcc969
cmp ecx, 0x63a63491
je 0x1803c3673
test al, 1
jne 0x1803c36b6
jmp 0x1803c369f
mov rax, rsi
add rax, 0x50
mov rcx, qword [rax]
mov r8d, 1
call fcn.1804cafa0
jmp 0x1803c36b6
mov eax, dword [0x180792ef0]
or eax, dword [0x180792ef4]
mov ecx, 0x248db679
xor edx, edx
div ecx
or eax, 0x23a03205
and eax, 0xd0093939
cmp eax, 0x26ac49f6
jae 0x1803c3d0c
jmp 0x1803c36e2
mov ecx, dword [0x180792ef8]
and ecx, dword [0x180792efc]
or ecx, 0x58ae83a6
add ecx, 0xbf003828
add ecx, 0x82cca956
mov rax, rsi
add rax, 0x60
cmp ecx, 0xda4a04ef
ja 0x1803c36e2
jmp 0x1803c3711
mov r15, qword [rax]
movabs rax, 0x8000000000000000
cmp r15, rax
je 0x1803c39ba
mov eax, dword [0x180792f00]
or eax, dword [0x180792f04]
imul eax, eax, 0x71f8dc4d
or eax, 0x515f2d2
imul eax, eax, 0xad2b76b
cmp eax, 0xdc054168
ja 0x1803c3d19
mov eax, dword [0x180792f08]
xor eax, dword [0x180792f0c]
or eax, 0x41a87e80
or eax, 0xba6951bc
sub eax, 0xe2ba3738
mov rdi, qword [rsi + 0x68]
cmp eax, 0xf0bae314
ja 0x1803c3d19
jmp 0x1803c377b
mov rax, rsi
add rax, 0x70
mov ecx, dword [0x180792f10]
and ecx, dword [0x180792f14]
xor ecx, 0x9ec6c217
sub ecx, 0x491a01d5
and ecx, 0x8a9e188
cmp ecx, 0x86d0a872
je 0x1803c3d2a
jmp 0x1803c37ae
mov edx, dword [0x180792f18]
imul edx, dword [0x180792f1c]
or edx, 0xb60fae6c
xor edx, 0x9c077986
and edx, 0xbfc0df37
mov r12, qword [rax]
cmp r12, 0
sete cl
cmp edx, 0xdb74093c
jae 0x1803c37ae
test cl, 1
jne 0x1803c3942
jmp 0x1803c37ea
xor ecx, ecx
jmp 0x1803c37ee
mov eax, dword [0x180792f20]
add eax, dword [0x180792f24]
add eax, 0xc55c91d9
sub eax, 0x7ba8b879
mov r8d, 0x911f6035
xor edx, edx
div r8d
cmp eax, 0xad90082b
ja 0x1803c3d37
jmp 0x1803c381c
mov r8d, dword [0x180792f28]
imul r8d, dword [0x180792f2c]
sub r8d, 0x6b07ded8
xor r8d, 0x239b4c53
sub r8d, 0x1bf82938
imul rdx, rcx, 0x18
mov rax, rdi
add rax, rdx
mov r13, rcx
add r13, 1
mov rbx, qword [rax]
cmp rbx, 0
sete dl
cmp r8d, 0xf0ba9c30
ja 0x1803c381c
test dl, 1
jne 0x1803c38db
jmp 0x1803c386b
mov r14, qword [rax + 8]
mov eax, dword [0x180792f30]
xor eax, dword [0x180792f34]
or eax, 0x658f447d
mov ecx, 0xdc1dc4cf
xor edx, edx
div ecx
or eax, 0xbbfa7638
cmp eax, 0xa6d17e3c
jb 0x1803c3d44
jmp 0x1803c389b
mov eax, dword [0x180792f38]
and eax, dword [0x180792f3c]
mov ecx, 0xa4e37ba3
xor edx, edx
div ecx
mov ebp, eax
and ebp, 0xca9b0324
add ebp, 0x58fee712
mov rcx, r14
mov rdx, rbx
mov r8d, 1
call fcn.1804cafa0
cmp ebp, 0xe411afa9
ja 0x1803c389b
jmp 0x1803c38d9
jmp 0x1803c38db
mov eax, dword [0x180792f40]
xor edx, edx
div dword [0x180792f44]
xor eax, 0xcfe15ddc
or eax, 0x1a5736b5
imul eax, eax, 0x3937687b
cmp eax, 0xf347612f
je 0x1803c3d66
jmp 0x1803c3906
mov ecx, dword [0x180792f48]
sub ecx, dword [0x180792f4c]
xor ecx, 0xbb98c8dc
xor ecx, 0xd9be9f59
and ecx, 0xaaba5ee9
cmp r13, r12
sete al
cmp ecx, 0xbb5e567e
jae 0x1803c3906
jmp 0x1803c3934
test al, 1
mov rcx, r13
jne 0x1803c3940
jmp 0x1803c37ee
jmp 0x1803c3942
mov eax, dword [0x180792f50]
add eax, dword [0x180792f54]
or eax, 0xbf0cc9a
mov ecx, 0x3dc01849
xor edx, edx
div ecx
or eax, 0x9a79cc54
cmp eax, 0xda3e16de
ja 0x1803c3d77
mov eax, dword [0x180792f58]
add eax, dword [0x180792f5c]
add eax, 0x26719662
mov ecx, 0x917b3f2d
xor edx, edx
div ecx
or eax, 0xaa8268de
cmp r15, 0
sete cl
cmp eax, 0x7674d1c2
je 0x1803c3d77
jmp 0x1803c399f
test cl, 1
jne 0x1803c39ba
jmp 0x1803c39a6
imul rdx, r15, 0x18
mov rcx, rdi
mov r8d, 8
call fcn.1804cafa0
jmp 0x1803c39ba
mov rcx, rsi
add rcx, 0x78
call fcn.1803c5780
mov rcx, rsi
add rcx, 0xa0
mov rax, qword [rcx]
lock dec qword [rax]
sete al
test al, 1
je 0x1803c39e5
call fcn.1804b7f00
jmp 0x1803c39e5
mov rcx, rsi
add rcx, 0xa8
mov eax, dword [0x180792f60]
sub eax, dword [0x180792f64]
and eax, 0xa972d496
mov r8d, 0x9a68cc85
xor edx, edx
div r8d
imul eax, eax, 0x3cae59fc
cmp eax, 0x1723006
jae 0x1803c3d84
jmp 0x1803c3a1e
mov eax, dword [0x180792f68]
and eax, dword [0x180792f6c]
xor eax, 0x6fb63eef
mov r8d, 0x4ff20a53
xor edx, edx
div r8d
and eax, 0x80b5f7d7
cmp eax, 0xedf331f8
ja 0x1803c3a1e
jmp 0x1803c3a48
mov eax, dword [0x180792f70]
and eax, dword [0x180792f74]
add eax, 0x5f1bdcae
and eax, 0xc8b23ef1
mov r8d, 0xcf56c7a3
xor edx, edx
div r8d
cmp eax, 0x46f3159d
jae 0x1803c3d95
mov eax, dword [0x180792f78]
add eax, dword [0x180792f7c]
mov r8d, 0xd47fe627
xor edx, edx
div r8d
mov r8d, 0xf3e9183f
xor edx, edx
div r8d
mov r8d, 0xec623f0e
xor edx, edx
div r8d
mov rdx, qword [rcx]
lock dec qword [rdx]
sete dl
cmp eax, 0xa4cb7e2a
ja 0x1803c3d95
test dl, 1
jne 0x1803c3abd
jmp 0x1803c3b23
mov eax, dword [0x180792f80]
xor edx, edx
div dword [0x180792f84]
mov r8d, 0x39eb62cc
xor edx, edx
div r8d
and eax, 0x4c5cf047
imul eax, eax, 0x4cc65b7
cmp eax, 0xd92520e2
je 0x1803c3db0
jmp 0x1803c3aee
mov eax, dword [0x180792f88]
mov r8d, dword [0x180792f8c]
xor edx, edx
div r8d
shr eax, 3
imul rax, rax, 0x1357245f
shr rax, 0x39
add eax, 0xde1554bf
cmp eax, 0x846f0b68
jbe 0x1803c3aee
jmp 0x1803c3b1c
call fcn.1804b7f00
jmp 0x1803c3b23
mov rcx, rsi
add rcx, 0xb0
mov eax, dword [0x180792f90]
xor eax, dword [0x180792f94]
add eax, 0xc79ea310
mov r8d, 0x153987f2
xor edx, edx
div r8d
mov r8d, 0x1009b6f0
xor edx, edx
div r8d
cmp eax, 0xc9e18849
jae 0x1803c3dbd
jmp 0x1803c3b61
mov eax, dword [0x180792f98]
sub eax, dword [0x180792f9c]
add eax, 0xc849df8d
add eax, 0x2c29eb12
imul eax, eax, 0x3b906c0d
mov rdx, qword [rcx]
movabs r8, 0x8000000000000002
cmp rdx, r8
setl r8b
cmp eax, 0x38a677a9
jbe 0x1803c3b61
jmp 0x1803c3b9a
movabs rax, 0x8000000000000001
mov rcx, rdx
add rcx, rax
xor eax, eax
test r8b, 1
cmovne rax, rcx
test rax, rax
je 0x1803c3bc6
jmp 0x1803c3bbb
sub rax, 1
je 0x1803c3c00
jmp 0x1803c3c80
cmp rdx, 0
sete al
mov ebx, 0xd0
mov edi, 0x1000
test al, 1
jne 0x1803c3c19
jmp 0x1803c3bdd
mov rax, rsi
add rax, 0xb8
mov rcx, qword [rax]
mov r8d, 1
call fcn.1804cafa0
mov ebx, 0xd0
mov edi, 0x1000
jmp 0x1803c3c19
mov rdi, qword [rsi + 0xb8]
cmp rdi, 0
sete al
mov ebx, 0xc0
test al, 1
jne 0x1803c3c80
jmp 0x1803c3c19
mov eax, dword [0x180792fa0]
add eax, dword [0x180792fa4]
mov ecx, 0xdcddad8e
xor edx, edx
div ecx
sub eax, 0x78c251fe
and eax, 0x1df6fd14
cmp eax, 0xfd142976
je 0x1803c3dce
mov eax, dword [0x180792fa8]
sub eax, dword [0x180792fac]
and eax, 0x776898aa
imul ebp, eax, 0x3ec8939
and ebp, 0x48a63c23
mov rcx, qword [rsi + rbx]
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
cmp ebp, 0x6a7d31ba
ja 0x1803c3dce
jmp 0x1803c3c80
mov eax, dword [0x180792fb0]
or eax, dword [0x180792fb4]
or eax, 0x59e912b1
sub eax, 0xb633d0f
or eax, 0x726900bd
cmp eax, 0x6fc027e4
je 0x1803c3df1
mov eax, dword [0x180792fb8]
sub eax, dword [0x180792fbc]
add eax, 0xaeabb534
xor eax, 0x7ebf5961
sub eax, 0x23666827
cmp eax, 0x8a20067d
je 0x1803c3df1
mov cl, byte [rdi]
test byte [0x1c83c3cce], ah
add esp, 0x28
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test dword [rdx], ecx
invalid
xchg esp, eax
jmp 0x187d988d4
xchg dword [rbx + 0x1f], esp
insb byte [rdi], dx
stc
or ebx, 0xfff965e9
jmp qword [rdx + rbp*8 + 0x1c]
invalid
movabs eax, dword [0xab5af5811902e0c8]
xchg esi, eax
shr r9b, cl
add bl, byte [rcx]
xor ebp, 0x4396ab5a
shr cl, cl
and eax, 0x89fffffa
imul r11d, esi, 0x78947d4c
jmp 0x1803c37ac
mov dword [rcx + rbp*2 - 0x22], eax
jge 0x1803c3cc5
jge 0x1803c3cc5
js 0x1803c3d1c
jne 0x1803c3d2f
invalid
movabs qword [0xd6e987f5eb0b3269], rax
cli
invalid
mov al, 0x8b
and dword [rdx + 6], ebx
in eax, dx
invalid
mov ecx, esi
mov rdx, rbx
mov r8d, 1
call fcn.1804cafa0
jmp 0x1803c3899
sbb al, 0x8c
invalid
jle 0x1803c3d0c
lodsd eax, dword [rsi]
fidivr word [rax]
jno 0x1803c3d51
invalid
push 0x7a079b45
mov bl, 0xf5
cmc
mov al, byte [rsi + rbx*2 - 0x78166147]
cld
invalid
adc al, byte fs:[rsi - 0x78]
sahf
or al, 0x20
push rsi
mov ch, 0x56
out dx, eax
or byte [rax - 0x75], 1
lock dec qword [rax]
sete al
jmp 0x1803c3a74
jmp qword [rcx + 0x10]
invalid
mov eax, 0xcde75976
js 0x1803c3daf
test eax, 0xe9b1e3f3
xchg ecx, eax
std
invalid
and eax, 0x770dbe52
sti
js 0x1803c3d8a
xchg dword [rsi + 0xf], esp
adc byte [rax - 0x75], cl
or al, 0x1e
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
jmp 0x1803c3c43
invalid