Function at 0x18027de20
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rcx
mov rcx, qword [rsi]
mov eax, dword [0x180522b08]
xor edx, edx
div dword [0x180522b0c]
or eax, 0x346a6eac
sub eax, 0xa1005dd6
or eax, 0x7a72c417
cmp eax, 0xff2244a7
je 0x18027e627
mov eax, dword [0x180522b10]
xor edx, edx
div dword [0x180522b14]
add eax, 0x41ce1b31
sub eax, 0xd507e724
add eax, 0xa35034ef
mov rdx, rcx
and rdx, 0xfffffffffffffffe
movabs r8, 0x8000000000000006
cmp rdx, r8
sete r8b
movabs r9, 0x7ffffffffffffffb
mov rdx, rcx
add rdx, r9
cmp eax, 0x78d8a65e
je 0x18027e627
jmp 0x18027dea7
xor eax, eax
test r8b, 1
cmovne rax, rdx
test rax, rax
je 0x18027dec7
jmp 0x18027deb8
sub rax, 1
je 0x18027e508
jmp 0x18027e5d4
mov eax, dword [0x180522b18]
imul eax, dword [0x180522b1c]
and eax, 0x3ba8e5c7
xor eax, 0x6173a538
mov ecx, 0x726edbbd
xor edx, edx
div ecx
cmp eax, 0x13c3ce9f
ja 0x18027e638
jmp 0x18027def4
mov eax, dword [0x180522b20]
xor eax, dword [0x180522b24]
sub eax, 0x5573942e
imul eax, eax, 0xb3d36cfa
mov ecx, 0x7b8736e5
xor edx, edx
div ecx
mov rcx, rsi
add rcx, 0x60
cmp eax, 0x53f7157e
jae 0x18027def4
jmp 0x18027df24
mov cl, byte [rcx]
mov eax, dword [0x180522b28]
imul eax, dword [0x180522b2c]
sub eax, 0x5e8aee7c
add eax, 0x95c00143
xor eax, 0x4189f58c
cmp eax, 0xa6964bd9
jb 0x18027e645
mov eax, dword [0x180522b30]
sub eax, dword [0x180522b34]
mov r8d, 0x4933e337
xor edx, edx
div r8d
or eax, 0x46b6bb55
or eax, 0xda2e6201
movzx edx, cl
cmp eax, 0xb9148e45
je 0x18027e645
test edx, edx
je 0x18027dfca
jmp 0x18027df82
mov eax, edx
sub eax, 3
je 0x18027e341
jmp 0x18027df8f
sub edx, 4
je 0x18027e1e5
jmp 0x18027e5d4
add rsi, 8
mov rdx, qword [rsi]
mov rcx, rsi
jmp 0x18027dfa9
cmp rdx, 0
je 0x18027e5d4
add rcx, 8
mov rcx, qword [rcx]
mov r8d, 1
call fcn.1802cbf20
jmp 0x18027e5d4
mov rdi, rsi
add rdi, 0x30
mov eax, dword [0x180522b38]
sub eax, dword [0x180522b3c]
imul eax, eax, 0x68117f
or eax, 0x2988d630
mov ecx, 0x8c700d4a
xor edx, edx
div ecx
cmp eax, 0xe875f272
je 0x18027e652
jmp 0x18027dffe
mov eax, dword [0x180522b40]
or eax, dword [0x180522b44]
or eax, 0xaeb0ecf6
imul eax, eax, 0xdeef32a6
mov ecx, 0xebff881f
xor edx, edx
div ecx
mov ebx, eax
mov rcx, rdi
call fcn.1802ca4a0
cmp ebx, 0x5b6d7199
jae 0x18027dffe
jmp 0x18027e032
mov rax, qword [rdi]
lock dec qword [rax]
sete al
test al, 1
je 0x18027e04a
mov rcx, rdi
call fcn.180273e10
jmp 0x18027e04a
mov rdi, rsi
add rdi, 0x28
mov rax, qword [rdi]
lock dec qword [rax]
sete al
test al, 1
je 0x18027e0b9
mov eax, dword [0x180522b48]
or eax, dword [0x180522b4c]
and eax, 0x4d4666db
or eax, 0x30b96c67
sub eax, 0xd3593f53
cmp eax, 0x95fb2154
jae 0x18027e66b
jmp 0x18027e087
mov ebx, dword [0x180522b50]
or ebx, dword [0x180522b54]
add ebx, 0xf65d179e
sub ebx, 0x1e9343d9
and ebx, 0x62ba73b0
mov rcx, rdi
call fcn.180272550
cmp ebx, 0xfb8cdf73
ja 0x18027e087
jmp 0x18027e0b7
jmp 0x18027e0b9
mov rdx, qword [rsi]
movabs rax, 0x8000000000000005
cmp rdx, rax
sete al
mov ecx, dword [str.njFL]
and ecx, dword [0x180522b5c]
xor ecx, 0xbbbefccd
xor ecx, 0x76a96ee6
xor ecx, 0x5c793bad
cmp ecx, 0x93f9eb1c
ja 0x18027e680
mov ecx, dword [0x180522b60]
imul ecx, dword [0x180522b64]
or ecx, 0x31e2fa3
or ecx, 0x30ac82f2
xor ecx, 0x7c6f12e1
cmp ecx, 0x7cd7aa43
jbe 0x18027e680
test al, 1
jne 0x18027e5d4
jmp 0x18027e12b
movabs rax, 0x8000000000000000
mov rcx, rdx
xor rcx, rax
mov rax, rcx
sub rax, 5
mov eax, 5
cmovb rax, rcx
mov rcx, rax
sub rcx, 4
jb 0x18027df9d
jmp 0x18027e15a
sub rax, 4
je 0x18027e168
mov rcx, rsi
jmp 0x18027dfa9
mov eax, dword [0x180522b68]
xor edx, edx
div dword [0x180522b6c]
imul eax, eax, 0xa5280fc3
add eax, 0xde5ac3c7
add eax, 0x234cceb1
cmp eax, 0x4188befe
ja 0x18027e68d
mov eax, dword [0x180522b70]
or eax, dword [0x180522b74]
sub eax, 0x9d00462
mov ecx, 0x63799a98
xor edx, edx
div ecx
sub eax, 0xfbfc863
mov rcx, rsi
add rcx, 8
mov rdx, qword [rsi + 8]
cmp eax, 0x6144f0e2
je 0x18027e68d
jmp 0x18027e1c8
movabs rax, 0x8000000000000002
cmp rdx, rax
setl al
test al, 1
jne 0x18027e5d4
jmp 0x18027dfa9
mov rax, rsi
add rax, 0x68
mov r8, qword [rax]
movabs rax, 0x8000000000000005
cmp r8, rax
sete al
test al, 1
jne 0x18027e341
jmp 0x18027e209
movabs rcx, 0x8000000000000000
mov rax, r8
xor rax, rcx
mov rcx, rax
sub rcx, 5
mov ecx, 5
cmovb rcx, rax
mov eax, 0x68
mov rdx, rcx
sub rdx, 4
jb 0x18027e312
jmp 0x18027e23d
sub rcx, 4
jne 0x18027e323
jmp 0x18027e249
mov eax, dword [0x180522b78]
xor edx, edx
div dword [0x180522b7c]
or eax, 0xadc873fe
and eax, 0x498c5f09
xor eax, 0x7f8c65ed
cmp eax, 0x583716ac
je 0x18027e69a
mov ecx, dword [0x180522b80]
or ecx, dword [0x180522b84]
and ecx, 0xe9c5d1ce
or ecx, 0xa6130278
xor ecx, 0xd390ea2b
mov rax, rsi
add rax, 0x70
cmp ecx, 0xbeb59bd8
je 0x18027e69a
jmp 0x18027e2a4
mov r8, qword [rax]
mov eax, dword [0x180522b88]
sub eax, dword [0x180522b8c]
and eax, 0x97774fae
sub eax, 0x4b7893f5
mov ecx, 0x22efd7e5
xor edx, edx
div ecx
cmp eax, 0xde761fa1
je 0x18027e6ab
jmp 0x18027e2d3
mov eax, dword [0x180522b90]
imul eax, dword [0x180522b94]
and eax, 0x3d61728b
sub eax, 0xe03fe1f6
or eax, 0x6417f867
movabs rcx, 0x8000000000000002
cmp r8, rcx
setl cl
cmp eax, 0xf0e4c7b8
je 0x18027e2d3
mov eax, 0x70
test cl, 1
jne 0x18027e341
jmp 0x18027e323
mov rax, rsi
add rax, 0x70
mov r8, qword [rax]
mov eax, 0x70
jmp 0x18027e323
cmp r8, 0
je 0x18027e341
mov rcx, rsi
add rcx, rax
mov rcx, qword [rcx + 8]
mov rdx, r8
mov r8d, 1
call fcn.1802cbf20
mov eax, dword [0x180522b98]
xor eax, dword [0x180522b9c]
xor eax, 0x752fa559
add eax, 0xf8991cfd
add eax, 0xdf2911d9
cmp eax, 0xf65061
jb 0x18027e6b8
jmp 0x18027e369
mov ebx, dword [0x180522ba0]
sub ebx, dword [0x180522ba4]
add ebx, 0xfcd2bf47
or ebx, 0x3b5f334c
sub ebx, 0xe3cfdff4
mov byte [rsi + 0x61], 0
mov rdi, rsi
add rdi, 0x30
mov rcx, rdi
call fcn.1802ca4a0
cmp ebx, 0xe6f66813
ja 0x18027e369
jmp 0x18027e3a4
mov rax, qword [rdi]
lock dec qword [rax]
sete al
test al, 1
jne 0x18027e3b4
jmp 0x18027e3be
mov rcx, rdi
call fcn.180273e10
jmp 0x18027e3be
mov rcx, rsi
add rcx, 0x28
mov eax, dword [0x180522ba8]
add eax, dword [0x180522bac]
imul eax, eax, 0xae1c5a2a
mov r8d, 0xae04de0a
xor edx, edx
div r8d
and eax, 0x41d11af9
cmp eax, 0x24fa3f84
jae 0x18027e6d9
jmp 0x18027e3f4
mov eax, dword [0x180522bb0]
and eax, dword [0x180522bb4]
mov r8d, 0x707ced50
xor edx, edx
div r8d
add eax, 0xe687211e
or eax, 0x8771dc12
cmp eax, 0xfdadf8f2
jae 0x18027e3f4
jmp 0x18027e41e
mov rax, qword [rcx]
lock dec qword [rax]
sete al
test al, 1
je 0x18027e433
call fcn.180272550
jmp 0x18027e433
mov rdx, qword [rsi]
movabs rax, 0x8000000000000005
cmp rdx, rax
sete al
test al, 1
jne 0x18027e5d4
jmp 0x18027e450
movabs rax, 0x8000000000000000
mov rcx, rdx
xor rcx, rax
mov rax, rcx
sub rax, 5
mov eax, 5
cmovb rax, rcx
mov rcx, rax
sub rcx, 4
jb 0x18027df9d
jmp 0x18027e47f
sub rax, 4
je 0x18027e48d
mov rcx, rsi
jmp 0x18027dfa9
mov eax, dword [0x180522bb8]
add eax, dword [str.__S]
mov ecx, 0x83daf07f
xor edx, edx
div ecx
and eax, 0x265345ca
or eax, 0xa53e9ea5
cmp eax, 0x97c1305c
je 0x18027e6ea
mov eax, dword [0x180522bc0]
xor eax, dword [0x180522bc4]
sub eax, 0x6e9762a1
xor eax, 0xa9c75d39
imul eax, eax, 0x77b7484
mov rcx, rsi
add rcx, 8
mov rdx, qword [rsi + 8]
cmp eax, 0xf2f9af66
je 0x18027e6ea
jmp 0x18027e4eb
movabs rax, 0x8000000000000002
cmp rdx, rax
setl al
test al, 1
jne 0x18027e5d4
jmp 0x18027dfa9
mov rax, rsi
add rax, 8
cmp qword [rax], 0
sete al
test al, 1
jne 0x18027e5d4
jmp 0x18027e520
mov rax, rsi
add rax, 0x10
mov rdi, qword [rax]
mov rsi, qword [rsi + 0x18]
cmp rdi, 0
sete al
test al, 1
jne 0x18027e5d4
jmp 0x18027e53f
mov rax, qword [rsi]
cmp rax, 0
sete cl
test cl, 1
jne 0x18027e557
jmp 0x18027e550
mov rcx, rdi
call rax
jmp 0x18027e557
mov rax, rsi
add rax, 8
mov r9, qword [rax]
mov eax, dword [0x180522bc8]
sub eax, dword [0x180522bcc]
mov ecx, 0x8e2da784
xor edx, edx
div ecx
sub eax, 0x2364525e
or eax, 0xd91afad6
cmp eax, 0x77b361a0
je 0x18027e6fb
mov eax, dword [0x180522bd0]
xor eax, dword [0x180522bd4]
mov ecx, 0xb3d26c36
xor edx, edx
div ecx
sub eax, 0xc6f0d227
sub eax, 0x39757183
mov r8, qword [rsi + 0x10]
cmp r9, 0
sete cl
cmp eax, 0x74f74720
je 0x18027e6fb
test cl, 1
jne 0x18027e5d4
jmp 0x18027e5c7
mov rcx, rdi
mov rdx, r9
call fcn.1802cbf20
jmp 0x18027e5d4
mov eax, dword [0x180522bd8]
imul eax, dword [0x180522bdc]
or eax, 0x6122bc5a
and eax, 0xa47140fd
and eax, 0x51cfcc62
cmp eax, 0x42bfb859
jae 0x18027e708
jmp 0x18027e5fd
mov eax, dword [0x180522be0]
add eax, dword [0x180522be4]
or eax, 0xc0f507b9
xor eax, 0x124731f6
or eax, 0x7edc4c3d
cmp eax, 0x513f5ff4
je 0x18027e5fd
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
mov gs, word [rbx + 0x6860d801]
stosd dword [rdi], eax
test eax, 0xf6f10b7a
jmp 0x18027de55
invalid
mov al, 0x54
fidivr word [rcx]
add byte fs:[rax], dh
cmc
jmp 0x18027df4d
in eax, dx
sub eax, 0xb577b05e
invalid
invalid
adc al, 0x17
invalid
jg 0x18027e6ea
cli
invalid
adc al, 0x44
add eax, dword [eip + 0x302b699f]
mov dl, 0x56
wait
jmp 0x18027e271
lodsb al, byte ss:[rsi]
int3
invalid
mov cl, 0xd8
int1
xor al, 0xb9
jae 0x18027e717
xchg esp, eax
jae 0x18027e6f8
invalid
or dword [rdx + 2], 0xffffffe2
invalid
std
invalid
xchg ebx, eax
mov ch, dh
cmc
ret
push rdx
invalid
int3