Function at 0x1803c4ed0
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rsi, rcx
mov rdi, qword [rsi]
cmp rdi, 0
sete al
test al, 1
jne 0x1803c4fad
jmp 0x1803c4ef1
mov eax, dword [0x1807931c0]
and eax, dword [0x1807931c4]
or eax, 0x71b645cc
xor eax, 0xb2272254
xor eax, 0xf7bcbfd9
cmp eax, 0xa357b9ac
je 0x1803c5622
jmp 0x1803c4f19
mov eax, dword [0x1807931c8]
or eax, dword [0x1807931cc]
mov ecx, 0x8fe914bc
xor edx, edx
div ecx
xor eax, 0x56e5c95b
sub eax, 0x1c6c300c
mov rbx, qword [rsi + 8]
cmp eax, 0xcfb4b7dd
je 0x1803c4f19
jmp 0x1803c4f45
mov eax, dword [0x1807931d0]
xor edx, edx
div dword [0x1807931d4]
add eax, 0x7613577d
xor eax, 0x3c06c71c
mov ecx, 0xc769de5c
xor edx, edx
div ecx
cmp eax, 0xab31a20a
ja 0x1803c5633
jmp 0x1803c4f73
mov eax, dword [0x1807931d8]
sub eax, dword [str.MR_rb]
sub eax, 0x32e13d3c
imul eax, eax, 0xb39474c4
imul ebp, eax, 0x7a885a4b
mov rcx, rbx
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
cmp ebp, 0xdd779bd
ja 0x1803c4f73
jmp 0x1803c4fab
jmp 0x1803c4fad
mov rcx, rsi
add rcx, 0x18
mov eax, dword [0x1807931e0]
imul eax, dword [0x1807931e4]
or eax, 0x82e72a62
xor eax, 0xc59b50a6
mov r8d, 0x2d0e24e
xor edx, edx
div r8d
cmp eax, 0x9d936a69
ja 0x1803c5651
mov eax, dword [0x1807931e8]
imul eax, dword [0x1807931ec]
and eax, 0x96ab5ced
and eax, 0x910f05e1
xor eax, 0xa5017e25
mov rdx, qword [rcx]
cmp eax, 0x60428c08
ja 0x1803c5651
jmp 0x1803c500d
cmp rdx, 0
je 0x1803c5080
mov rax, rsi
add rax, 0x20
mov ecx, dword [0x1807931f0]
or ecx, dword [0x1807931f4]
imul ecx, ecx, 0x8a725aed
imul ecx, ecx, 0xdaba5cd3
imul ecx, ecx, 0x7e9605ba
cmp ecx, 0xb3f4cd43
jae 0x1803c565e
jmp 0x1803c5046
mov ecx, dword [0x1807931f8]
and ecx, dword [0x1807931fc]
imul r8d, ecx, 0x19ba08e2
or r8d, 0x5bd4126a
or r8d, 0xe028a93d
mov rcx, qword [rax]
cmp r8d, 0x61f97f57
jbe 0x1803c5046
jmp 0x1803c5075
mov r8d, 1
call fcn.1804cafa0
mov rax, rsi
add rax, 0x30
mov ecx, dword [0x180793200]
sub ecx, dword [0x180793204]
add ecx, 0x7401386d
sub ecx, 0xa294fc94
imul ecx, ecx, 0x9a8d0b58
cmp ecx, 0x71186b40
ja 0x1803c566b
jmp 0x1803c50b3
mov edx, dword [0x180793208]
and edx, dword [0x18079320c]
and edx, 0xff693d9c
and edx, 0xa52efbe9
sub edx, 0x4ac1d303
mov rdi, qword [rax]
cmp rdi, 0
sete cl
cmp edx, 0x4097b8a0
je 0x1803c50b3
test cl, 1
jne 0x1803c51b0
jmp 0x1803c50ee
mov eax, dword [0x180793210]
sub eax, dword [0x180793214]
sub eax, 0xb84c229f
sub eax, 0x144e9b81
imul eax, eax, 0xa555377a
cmp eax, 0xc0a19db6
ja 0x1803c5678
mov eax, dword [0x180793218]
imul eax, dword [0x18079321c]
add eax, 0x9431d93e
sub eax, 0xbf10ff66
and eax, 0x917fa4ea
mov r14, rsi
add r14, 0x38
cmp eax, 0x8fc43512
je 0x1803c5678
jmp 0x1803c5145
mov eax, dword [0x180793220]
or eax, dword [0x180793224]
add eax, 0xebc757d4
add eax, 0xbf1e5ab1
and eax, 0x6ad85dfd
cmp eax, 0xc409e05d
ja 0x1803c5685
jmp 0x1803c516d
mov eax, dword [0x180793228]
xor eax, dword [0x18079322c]
mov ecx, 0x221831b7
xor edx, edx
div ecx
mov ecx, 0x4db3d080
xor edx, edx
div ecx
mov ebx, eax
add ebx, 0xe75933c5
mov rcx, qword [r14]
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
cmp ebx, 0x7ec9b9ee
jb 0x1803c516d
jmp 0x1803c51ae
jmp 0x1803c51b0
mov rcx, rsi
add rcx, 0x48
mov eax, dword [0x180793230]
imul eax, dword [0x180793234]
mov r8d, 0xb4ac1aed
xor edx, edx
div r8d
and eax, 0xcaaca2d7
sub eax, 0x209b34d0
cmp eax, 0x3765550e
jb 0x1803c56a7
jmp 0x1803c51e6
mov edx, dword [0x180793238]
add edx, dword [0x18079323c]
add edx, 0x8ceb5ba1
xor edx, 0x4083086a
add edx, 0xd8bd42d7
mov rdi, qword [rcx]
cmp rdi, 0
sete al
cmp edx, 0x71df89fe
je 0x1803c51e6
test al, 1
jne 0x1803c5286
jmp 0x1803c521c
mov rbx, qword [rsi + 0x50]
mov eax, dword [0x180793240]
and eax, dword [0x180793244]
or eax, 0xc5ba3a49
imul eax, eax, 0xe3739577
sub eax, 0x9d4b3ec0
cmp eax, 0xf92f6e15
jae 0x1803c56b8
jmp 0x1803c5249
mov eax, dword [0x180793248]
and eax, dword [0x18079324c]
mov ecx, 0xa0cf6aaa
xor edx, edx
div ecx
or eax, 0xb6785513
imul ebp, eax, 0x5c67bd87
mov rcx, rbx
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
cmp ebp, 0xc171da65
jae 0x1803c5249
jmp 0x1803c5284
jmp 0x1803c5286
mov rax, rsi
add rax, 0x60
mov rdx, qword [rax]
cmp rdx, 0
je 0x1803c52ab
mov rax, rsi
add rax, 0x68
mov rcx, qword [rax]
mov r8d, 1
call fcn.1804cafa0
mov r8, qword [rsi + 0x78]
cmp r8, 0
sete cl
mov eax, dword [0x180793250]
sub eax, dword [0x180793254]
imul eax, eax, 0x549a75f4
or eax, 0x3a61d3dc
mov r9d, 0xd98c48dd
xor edx, edx
div r9d
cmp eax, 0xd2e3d248
ja 0x1803c56d6
jmp 0x1803c52e5
mov eax, dword [0x180793258]
xor eax, dword [0x18079325c]
and eax, 0xb88f5148
sub eax, 0x3eb8a20f
mov r9d, 0x427fa731
xor edx, edx
div r9d
cmp eax, 0x6b622f72
jae 0x1803c52e5
test cl, 1
jne 0x1803c5387
jmp 0x1803c5314
mov r9, rsi
add r9, 0x80
mov eax, dword [0x180793260]
and eax, dword [0x180793264]
or eax, 0x40b808ca
or eax, 0x35372858
mov ecx, 0x277d5c22
xor edx, edx
div ecx
cmp eax, 0xded3f3c9
jae 0x1803c56e7
mov eax, dword [0x180793268]
xor edx, edx
div dword [0x18079326c]
mov ecx, 0xdd367a7
xor edx, edx
div ecx
or eax, 0x8ebfc5f6
and eax, 0xf13bf16b
mov rcx, qword [r9]
cmp eax, 0xe7900468
ja 0x1803c56e7
jmp 0x1803c5379
mov rdx, r8
mov r8d, 1
call fcn.1804cafa0
mov eax, dword [0x180793270]
xor eax, dword [0x180793274]
or eax, 0x3b30fbc3
xor eax, 0xf3331889
and eax, 0x713c69c1
cmp eax, 0x1e5a8edd
ja 0x1803c56f8
mov ecx, dword [0x180793278]
add ecx, dword [0x18079327c]
add ecx, 0x584da1b1
add ecx, 0x4da68061
xor ecx, 0x55895e6
mov rax, rsi
add rax, 0x90
cmp ecx, 0x95f65d4f
jbe 0x1803c56f8
jmp 0x1803c53e2
mov rdi, qword [rax]
cmp rdi, 0
sete al
test al, 1
jne 0x1803c5463
jmp 0x1803c53f2
mov rax, rsi
add rax, 0x98
mov rbx, qword [rax]
mov eax, dword [0x180793280]
and eax, dword [0x180793284]
add eax, 0x51bb21cf
and eax, 0xe2e7259f
mov ecx, 0x8be8125b
xor edx, edx
div ecx
cmp eax, 0x9dcee5d7
ja 0x1803c5709
jmp 0x1803c542a
mov ebp, dword [0x180793288]
and ebp, dword [0x18079328c]
xor ebp, 0x403bc922
add ebp, 0xe67de99
or ebp, 0x8c085c23
mov rcx, rbx
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
cmp ebp, 0xb28832da
jb 0x1803c542a
jmp 0x1803c5463
mov rdi, qword [rsi + 0xa8]
mov eax, dword [0x180793290]
imul eax, dword [0x180793294]
or eax, 0x3bb3fec7
imul eax, eax, 0x7ac200b7
sub eax, 0xe8afdd46
cmp eax, 0x92051c5f
jbe 0x1803c5727
jmp 0x1803c5494
mov eax, dword [0x180793298]
and eax, dword [0x18079329c]
mov ecx, 0x5bd569d9
xor edx, edx
div ecx
xor eax, 0x2c3ba7e3
xor eax, 0xfce0300e
cmp rdi, 0
sete cl
cmp eax, 0x64075537
jbe 0x1803c5494
jmp 0x1803c54c3
test cl, 1
jne 0x1803c5591
jmp 0x1803c54ce
mov r14, rsi
add r14, 0xb0
mov eax, dword [0x1807932a0]
and eax, dword [0x1807932a4]
sub eax, 0x419b0651
add eax, 0x3043031e
sub eax, 0xa2829d64
cmp eax, 0x21358855
jbe 0x1803c5738
mov eax, dword [0x1807932a8]
sub eax, dword [0x1807932ac]
mov ecx, 0x8c2fce18
xor edx, edx
div ecx
mov ebx, eax
or ebx, 0x5ef7f196
xor ebx, 0x378783f0
mov rcx, qword [r14]
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
cmp ebx, 0xf4ae398d
ja 0x1803c5738
jmp 0x1803c5540
mov eax, dword [0x1807932b0]
imul eax, dword [0x1807932b4]
sub eax, 0xe9d96e63
sub eax, 0x3cb719fd
xor eax, 0x2c555e49
cmp eax, 0xf1972d71
je 0x1803c575a
jmp 0x1803c5569
mov eax, dword [0x1807932b8]
add eax, dword [0x1807932bc]
sub eax, 0x3d0c92bb
mov ecx, 0xd0203e83
xor edx, edx
div ecx
and eax, 0xb6d14a11
cmp eax, 0x38369c17
je 0x1803c5569
jmp 0x1803c5591
mov rax, rsi
add rax, 0xc0
mov r8, qword [rax]
mov eax, dword [0x1807932c0]
and eax, dword [0x1807932c4]
imul eax, eax, 0x909b531b
and eax, 0xee052557
add eax, 0x723737eb
cmp eax, 0xfe4912ce
je 0x1803c5767
mov eax, dword [0x1807932c8]
or eax, dword [0x1807932cc]
imul eax, eax, 0x9852e49b
mov ecx, 0xfad8d6ca
xor edx, edx
div ecx
add eax, 0xa2888d8d
cmp r8, 0
sete cl
cmp eax, 0xb616c7c7
ja 0x1803c5767
test cl, 1
jne 0x1803c5617
jmp 0x1803c55fd
add rsi, 0xc8
mov rcx, qword [rsi]
mov rdx, r8
mov r8d, 1
call fcn.1804cafa0
jmp 0x1803c5617
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
mov bl, 0x8a
push qword [rbx - 0x66]
push rdx
mov bh, 0xe8
clc
pop rbx
jmp 0x1803c4f17
push rcx
push rbx
insd dword [rdi], dx
invalid
invalid
cmp eax, 0x43473fb6
jmp 0x1803c4fe1
xchg esi, eax
cli
out 0xab, eax
in eax, 0xdd
in al, 0x42
jmp 0x1803c5044
xor ch, byte [rcx + rbp + 0x50]
pop rcx
invalid
cwde
cli
jmp 0x1803c562d
out dx, al
mov esp, 0xb18e7810
cmp dl, byte [rsi + 0x49521f0f]
mov ecx, dword [rsi]
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
jmp 0x1803c516b
or al, 0xd7
add al, 0xfa
jle 0x1803c5654
invalid
jbe 0x1803c5719
movsd dword [rdi], dword [rsi]
fidiv word [rax + 0x481d22ef]
mov ecx, ebx
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
jmp 0x1803c5247
adc dword [rdi - 0x1c91257c], esp
movsd dword [rdi], dword [rsi]
and ebx, esp
xchg edi, ebx
sub al, 0xe9
cld
sti
invalid
mov ds, ebp
invalid
shl byte [rbp + 0x22343229], 1
xor dh, byte [rdx + riz]
and cl, al
invalid
and eax, 0x46730676
cli
mov bl, byte [rsi]
mov rcx, rbx
mov rdx, rdi
mov r8d, 1
add dword [rax], eax
add byte [rax], al
call fcn.1804cafa0
jmp 0x1803c5428
push rbp
stosb byte [rdi], al
sbb al, 0x7b
int1
mov ah, al
fmul qword ds:[rdi]
ret
push rdx
invalid
jl 0x1803c56fc
outsd dx, dword [rsi]
push 0x7f
frndint
jmp 0x1803c5567
test al, 0x2f
retf 0x5531