Function at 0x180427330
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rsi, rcx
cmp qword [rsi], 0
sete al
mov rcx, rsi
add rcx, 8
test al, 1
jne 0x180427354
jmp 0x18042770d
mov eax, dword [0x18079cdd8]
xor edx, edx
div dword [0x18079cddc]
add eax, 0x94c15ebc
xor eax, 0x44f995d2
and eax, 0x681ccdc0
cmp eax, 0x7390a9a1
ja 0x180427ab1
jmp 0x18042737e
mov eax, dword [0x18079cde0]
add eax, dword [0x18079cde4]
sub eax, 0x767f3769
or eax, 0xdb3f77b1
add eax, 0x8d0d2539
cmp eax, 0xcab2889a
jae 0x18042737e
jmp 0x1804273a2
mov rdi, qword [rcx]
movabs rax, 0x8000000000000000
cmp rdi, rax
je 0x1804276e9
mov eax, dword [0x18079cde8]
add eax, dword [0x18079cdec]
mov ecx, 0x700a9fe
xor edx, edx
div ecx
imul eax, eax, 0x70445120
mov ecx, 0xa6c9532e
xor edx, edx
div ecx
cmp eax, 0xd5db8728
jae 0x180427ac2
jmp 0x1804273e9
mov eax, dword [0x18079cdf0]
or eax, dword [0x18079cdf4]
add eax, 0xc281b872
mov ecx, 0xbc03bf61
xor edx, edx
div ecx
xor eax, 0xb64afdd5
mov rcx, rsi
add rcx, 0x28
cmp eax, 0xac42a65c
jbe 0x1804273e9
jmp 0x180427418
mov r14, qword [rcx]
cmp r14, 0
sete al
test al, 1
jne 0x1804274f3
jmp 0x18042742c
mov rax, rsi
add rax, 0x20
mov ecx, dword [0x18079cdf8]
xor ecx, dword [0x18079cdfc]
and ecx, 0xfea51bc3
and ecx, 0x40a8b1fb
imul ecx, ecx, 0xf44e03c
cmp ecx, 0x97f38b1f
je 0x180427acf
mov ecx, dword [0x18079ce00]
imul ecx, dword [0x18079ce04]
or ecx, 0x273a10ab
or ecx, 0x7f7ee5aa
and ecx, 0xef928b54
mov rbx, qword [rax]
cmp ecx, 0xe81a48fc
jae 0x180427acf
jmp 0x18042748d
mov eax, dword [0x18079ce08]
imul eax, dword [0x18079ce0c]
add eax, 0xde37158e
xor eax, 0x802467cd
add eax, 0x6a1384e0
cmp eax, 0x419c7ffb
je 0x180427adc
jmp 0x1804274b6
mov ebp, dword [0x18079ce10]
sub ebp, dword [0x18079ce14]
sub ebp, 0x488c2294
add ebp, 0xadbb6af4
xor ebp, 0x4006f680
mov rdx, r14
shl rdx, 5
mov rcx, rbx
mov r8d, 8
call fcn.1804cafa0
cmp ebp, 0x89d4b051
jb 0x1804274b6
jmp 0x1804274f3
mov eax, dword [0x18079ce18]
imul eax, dword [0x18079ce1c]
imul eax, eax, 0xff215c4f
add eax, 0xabd4fb5f
xor eax, 0x119e3046
cmp eax, 0xebe1c1ea
jae 0x180427b02
jmp 0x18042751d
mov eax, dword [0x18079ce20]
sub eax, dword [0x18079ce24]
mov ecx, 0xfd03aa0
xor edx, edx
div ecx
add eax, 0x3ffcdfc3
add eax, 0x6cf9bd2c
cmp eax, 0xb78f8a50
ja 0x18042751d
jmp 0x180427545
mov eax, dword [0x18079ce28]
imul eax, dword [0x18079ce2c]
and eax, 0xee94279c
xor eax, 0xfeb72726
sub eax, 0x91c966c4
cmp eax, 0xa844502b
je 0x180427b13
mov eax, dword [0x18079ce30]
sub eax, dword [0x18079ce34]
imul eax, eax, 0x6ea5ea56
imul eax, eax, 0xa1f34441
xor eax, 0x66cd4af2
cmp rdi, 0
sete cl
cmp eax, 0x64eb3087
jae 0x180427b13
jmp 0x18042759d
mov eax, dword [0x18079ce38]
and eax, dword [0x18079ce3c]
imul eax, eax, 0xd91de53
and eax, 0x665514ff
and eax, 0x130685b2
cmp eax, 0x2347773d
jae 0x180427b24
mov eax, dword [0x18079ce40]
sub eax, dword [0x18079ce44]
mov r8d, 0x1eb7ed
xor edx, edx
div r8d
xor eax, 0x6433068f
and eax, 0x394bbfeb
cmp eax, 0x8ecd7d87
ja 0x180427b24
test cl, 1
jne 0x180427613
jmp 0x1804275f7
mov rax, rsi
add rax, 0x10
mov rcx, qword [rax]
shl rdi, 4
mov rdx, rdi
mov r8d, 8
call fcn.1804cafa0
mov eax, dword [0x18079ce48]
xor eax, dword [0x18079ce4c]
imul eax, eax, 0xf209549b
add eax, 0xaa697786
imul eax, eax, 0xdf470adf
cmp eax, 0xeca80b3e
jae 0x180427b35
jmp 0x18042763d
mov eax, dword [0x18079ce50]
sub eax, dword [0x18079ce54]
sub eax, 0xe9ff15b
mov ecx, 0xdb75e965
xor edx, edx
div ecx
mov ecx, 0xe77cc266
xor edx, edx
div ecx
mov rdi, rsi
add rdi, 0x30
cmp eax, 0x742f968c
jae 0x18042763d
jmp 0x180427670
mov rax, qword [rdi]
lock dec qword [rax]
sete al
test al, 1
je 0x180427aa6
mov eax, dword [0x18079ce58]
add eax, dword [0x18079ce5c]
xor eax, 0xdc31ca76
mov ecx, 0x161711a4
xor edx, edx
div ecx
sub eax, 0x7ef57208
cmp eax, 0x1e02f71
jb 0x180427b46
mov eax, dword [0x18079ce60]
add eax, dword [0x18079ce64]
or eax, 0x732ee88b
mov ecx, 0xd9fea4df
xor edx, edx
div ecx
mov esi, eax
xor esi, 0x10047a29
mov rcx, rdi
call fcn.1804b9d30
cmp esi, 0xb9fbc2c7
je 0x180427b46
jmp 0x1804276e4
jmp 0x180427aa6
add rsi, 0x10
mov rax, qword [rsi]
lock dec qword [rax]
sete al
test al, 1
jne 0x180427700
jmp 0x180427aa6
mov rcx, rsi
call fcn.1804c1b60
jmp 0x180427aa6
mov eax, dword [0x18079ce68]
or eax, dword [0x18079ce6c]
mov r8d, 0xa048be3c
xor edx, edx
div r8d
or eax, 0x24ce6d39
mov r8d, 0x9eb5ef39
xor edx, edx
div r8d
cmp eax, 0x560759b4
jae 0x180427b5b
jmp 0x180427741
mov eax, dword [0x18079ce70]
xor eax, dword [0x18079ce74]
and eax, 0x7efe9aab
and eax, 0x1894d6c8
sub eax, 0x2f8aa1b9
cmp eax, 0x1a8a67e4
jb 0x180427741
jmp 0x180427765
mov rdi, qword [rcx]
mov eax, dword [0x18079ce78]
xor edx, edx
div dword [0x18079ce7c]
imul eax, eax, 0x6b0a7d78
imul eax, eax, 0x9320f369
or eax, 0xfaa89fa8
cmp eax, 0xaa2ade9a
je 0x180427b6c
mov eax, dword [0x18079ce80]
add eax, dword [0x18079ce84]
xor eax, 0x66e9428a
mov ecx, 0x14a71c35
xor edx, edx
div ecx
xor eax, 0x2e03fa31
movabs rcx, 0x8000000000000000
cmp rdi, rcx
sete cl
cmp eax, 0x10bb2640
jb 0x180427b6c
test cl, 1
jne 0x18042798d
jmp 0x1804277d7
mov rcx, rsi
add rcx, 0x28
mov eax, dword [0x18079ce88]
add eax, dword [0x18079ce8c]
add eax, 0xc18ea5f4
imul eax, eax, 0xc762e6f6
mov r8d, 0xcbc89e8a
xor edx, edx
div r8d
cmp eax, 0x57bad5c0
ja 0x180427b79
jmp 0x18042780d
mov eax, dword [0x18079ce90]
or eax, dword [0x18079ce94]
or eax, 0xf150c7f3
sub eax, 0xb2e92a34
add eax, 0x98d0c220
mov rdx, qword [rcx]
cmp eax, 0x910590d0
jbe 0x18042780d
jmp 0x180427834
cmp rdx, 0
je 0x18042784d
mov rcx, qword [rsi + 0x20]
shl rdx, 5
mov r8d, 8
call fcn.1804cafa0
mov eax, dword [0x18079ce98]
and eax, dword [0x18079ce9c]
and eax, 0x1e85863f
add eax, 0xec3502ab
imul eax, eax, 0xcbfeda03
cmp eax, 0x225c6c29
jbe 0x180427b8a
mov eax, dword [0x18079cea0]
or eax, dword [0x18079cea4]
add eax, 0xc9008b88
mov ecx, 0xdd07ca40
xor edx, edx
div ecx
mov ecx, 0x3c3098a9
xor edx, edx
div ecx
cmp eax, 0x6b8ac3b6
je 0x180427b8a
jmp 0x1804278a4
cmp rdi, 0
sete al
test al, 1
jne 0x180427914
jmp 0x1804278b1
mov eax, dword [0x18079cea8]
sub eax, dword [0x18079ceac]
sub eax, 0xe99061ce
or eax, 0xbf96f8bf
xor eax, 0x6650333c
cmp eax, 0xb199cbcf
jae 0x180427b97
jmp 0x1804278d9
mov eax, dword [0x18079ceb0]
add eax, dword [0x18079ceb4]
imul eax, eax, 0x75cf20c7
xor eax, 0x9e08f103
add eax, 0xe9a3d43f
mov rcx, qword [rsi + 0x10]
cmp eax, 0x48783324
je 0x1804278d9
jmp 0x180427902
shl rdi, 4
mov rdx, rdi
mov r8d, 8
call fcn.1804cafa0
add rsi, 0x30
mov rax, qword [rsi]
lock dec qword [rax]
sete al
test al, 1
jne 0x18042792b
jmp 0x180427aa6
mov rcx, rsi
call fcn.1804b9d30
mov eax, dword [0x18079ceb8]
imul eax, dword [0x18079cebc]
xor eax, 0xa8ba7d79
mov ecx, 0xb9928297
xor edx, edx
div ecx
mov ecx, 0x6223b86
xor edx, edx
div ecx
cmp eax, 0x5b26fea2
ja 0x180427ba8
mov eax, dword [0x18079cec0]
and eax, dword [0x18079cec4]
sub eax, 0x5836b63e
add eax, 0x5162eabf
sub eax, 0x5165fc9e
cmp eax, 0xb49e0efd
jbe 0x180427ba8
jmp 0x180427aa6
mov eax, dword [0x18079cec8]
sub eax, dword [0x18079cecc]
add eax, 0x144fd8c1
imul eax, eax, 0x11f4db30
add eax, 0xc72134e1
cmp eax, 0x1e12874d
ja 0x180427bb5
jmp 0x1804279b6
mov eax, dword [0x18079ced0]
imul eax, dword [0x18079ced4]
or eax, 0x7afa246f
mov ecx, 0x8a1416f9
xor edx, edx
div ecx
and eax, 0xd41f85fc
mov rdi, rsi
add rdi, 0x10
mov rcx, qword [rsi + 0x10]
cmp eax, 0x54dd288e
je 0x1804279b6
jmp 0x1804279ea
lock dec qword [rcx]
sete al
test al, 1
jne 0x1804279fa
jmp 0x180427aa6
mov eax, dword [0x18079ced8]
xor eax, dword [0x18079cedc]
imul eax, eax, 0x34d89018
add eax, 0xa8da60db
and eax, 0x96e18206
cmp eax, 0x71960c82
je 0x180427bc6
mov eax, dword [0x18079cee0]
sub eax, dword [0x18079cee4]
or eax, 0x9a0f0de9
add eax, 0xc381ecd0
imul esi, eax, 0xe90a644b
mov rcx, rdi
call fcn.1804c1b60
cmp esi, 0xeb948998
je 0x180427bc6
jmp 0x180427a53
mov eax, dword [0x18079cee8]
imul eax, dword [0x18079ceec]
sub eax, 0x55b593d1
xor eax, 0xcbe57ce6
sub eax, 0x2ea50375
cmp eax, 0x73c23d45
jbe 0x180427bdf
mov eax, dword [str.RgIF]
xor eax, dword [0x18079cef4]
mov ecx, 0x71de74e
xor edx, edx
div ecx
xor eax, 0xa0d6fe4f
add eax, 0x9e358bd9
cmp eax, 0x30ebb0eb
jbe 0x180427bdf
jmp 0x180427aa6
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
sbb al, 0xf
pop rdx
invalid
clc
call [rbp + rcx*2 - 0x79f6756d]
jmp 0x1804273e7
invalid
push rsp
cdq
rcr dword [rcx - 1], cl
adc dword [rax - 0x2be89b48], edx
mov rdx, r14
shl rdx, 5
mov rcx, rbx
mov r8d, 8
call fcn.1804cafa0
jmp 0x1804274b4
mov ah, 0xcb
scasb al, byte [rdi]
or dl, ah
invalid
or byte [rax], 0x24
cmp dword [rbp + rbp*8 + 0x339cf921], edi
mov edi, 0xfa48e9ea
invalid
sub eax, 0x8a9c8c94
and ecx, dword [rbx - 0x2a104489]
call fcn.1803d0b1d
call [rcx - 0xe]
xchg byte [rbp + 0x53], al
pop rcx
xacquire xchg byte [rbp + 0x53], al
int3
mov esp, 0xbce810d2
cli
adc byte [rsi + 0x48], al
mov ecx, edi
call fcn.1804b9d30
jmp 0x1804276ac
out dx, al
movabs byte [0x14675e8f9f4a9f34], al
cmpsb byte [rsi], byte [rdi]
cmpsd dword [rsi], dword [rdi]
jmp 0x18042773f
fsub dword [rax + rsi*2 - 0x11babfe7]
jmp 0x180427792
fmul dword [rdi + 0x4ba3c67c]
push 0x14
wait
invalid
out dx, al
add ebp, ecx
pop rdx
xor cl, byte [rcx - 0x2216d9f6]
cld
invalid
adc dword [rdi + rcx*8 + 0x65d1fabb], eax
fidiv dword [rbx]
test al, 0x96
jmp 0x1804278d7
xchg dword cs:[rdx + riz + 0x1d], eax
lock and dl, byte [rbx - 0x17]
lodsd eax, dword [rsi]
std
invalid
jne 0x180427bd5
invalid
xor ah, byte [rcx - 0x16]
sbb ch, byte [rcx + rbp]
wait
test dword [rcx + rdx*2 - 0x76b7f706], edi
stc
call fcn.1804c1b60
jmp 0x180427a21
invalid