Function at 0x180455cb0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
push rax
mov rbp, rsp
mov rbx, rdx
mov rsi, rcx
mov eax, dword [0x1807a21b0]
and eax, dword [0x1807a21b4]
add eax, 0xe1214316
and eax, 0x127fa6ca
imul eax, eax, 0xae161c8c
cmp eax, 0x40d3647f
jb 0x180456102
mov eax, dword [0x1807a21b8]
mov ecx, dword [0x1807a21bc]
imul eax, ecx
xor eax, 0x2f4c6fc1
imul ecx, eax, 0x5c29bbee
add ecx, 0x8c79144d
mov eax, 0x20
call fcn.180698e80
sub rsp, rax
mov r15, rsp
cmp ecx, 0x97dee44b
je 0x180456102
jmp 0x180455d27
mov eax, 0x20
call fcn.180698e80
sub rsp, rax
mov rdi, rsp
mov r14, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
sub rsp, 0x20
mov rcx, r15
mov rdx, r14
call fcn.180506bf0
mov rcx, rdi
mov rdx, r15
call fcn.1803e5b40
add rsp, 0x20
mov r8, qword [rbx]
cmp r8, 0
sete cl
mov eax, dword [0x1807a21c0]
xor edx, edx
div dword [0x1807a21c4]
xor eax, 0xb413e2f9
xor eax, 0x764d8e70
sub eax, 0xdcb7fbe7
cmp eax, 0x797b8395
je 0x180456113
jmp 0x180455d91
mov eax, dword [0x1807a21c8]
add eax, dword [0x1807a21cc]
and eax, 0x66cfe0d3
sub eax, 0xc25a75b
add eax, 0x8e07e3fb
cmp eax, 0x9d11062d
jb 0x180455d91
test cl, 1
jne 0x180455e23
jmp 0x180455dba
sub rsp, 0x20
mov rcx, r14
mov rdx, r8
mov r8d, 1
call fcn.1804cafa0
add rsp, 0x20
mov eax, dword [0x1807a21d0]
xor eax, dword [0x1807a21d4]
imul eax, eax, 0xe13b0995
and eax, 0x1c2541e9
or eax, 0x2177f2ca
cmp eax, 0x4e7daa03
je 0x180456120
mov eax, dword [0x1807a21d8]
imul eax, dword [0x1807a21dc]
and eax, 0x6157064a
sub eax, 0xa6da425b
xor eax, 0x6e2825ff
cmp eax, 0xfd945e36
je 0x180456120
jmp 0x180455e23
mov eax, dword [0x1807a21e0]
imul eax, dword [0x1807a21e4]
add eax, 0xae02d6d3
mov ecx, 0x58627de8
xor edx, edx
div ecx
and eax, 0xb9c7feec
cmp eax, 0xb9eb02b4
jae 0x180456131
mov eax, dword [str._tba]
and eax, dword [0x1807a21ec]
mov ecx, 0x674c309f
xor edx, edx
div ecx
add eax, 0xb192da60
xor eax, 0xb4ff66df
mov rdx, qword [rdi]
cmp eax, 0x51adff7a
je 0x180456131
jmp 0x180455e7d
movabs rax, 0x8000000000000000
mov rcx, rdx
sub rcx, rax
je 0x180455f74
jmp 0x180455e95
movabs rax, 0x8000000000000001
mov rcx, rdx
sub rcx, rax
je 0x180455eb7
jmp 0x180455ea9
test rdx, rdx
je 0x180455f74
jmp 0x180455f58
mov eax, dword [0x1807a21f0]
xor edx, edx
div dword [0x1807a21f4]
mov ecx, 0x307d9d8
xor edx, edx
div ecx
add eax, 0xeb6b8b2e
mov ecx, 0x14d6df60
xor edx, edx
div ecx
cmp eax, 0x71a96f14
je 0x18045613e
mov ecx, dword [0x1807a21f8]
xor ecx, dword [0x1807a21fc]
or ecx, 0x98f56fcb
sub ecx, 0x3413186a
or ecx, 0xdbe0ade4
mov rbx, qword [rdi + 8]
mov rax, rdi
add rax, 0x10
cmp ecx, 0x41572c9b
jbe 0x18045613e
jmp 0x180455f1e
mov rdi, qword [rax]
lea rdx, [0x180455ab0]
sub rsp, 0x20
mov rcx, rbx
mov r8d, 1
call qword [sym.imp.advapi32.dll_RegisterServiceCtrlHandlerExW]
add rsp, 0x20
movabs rcx, 0x8000000000000007
cmp rax, 0
je 0x180455ff1
jmp 0x180456073
mov rcx, qword [rdi + 8]
shl rdx, 1
sub rsp, 0x20
mov r8d, 2
call fcn.1804cafa0
add rsp, 0x20
jmp 0x180455f74
movabs rax, 0x8000000000000004
mov qword [rsi], rax
lea rax, str.service_name
mov qword [rsi + 8], rax
mov rax, rsi
add rax, 0x10
mov ecx, dword [0x1807a2200]
sub ecx, dword [0x1807a2204]
and ecx, 0x66cbad0b
xor ecx, 0x8c7e44bf
add ecx, 0x3c4f8f38
cmp ecx, 0xb368dd2b
ja 0x18045614f
jmp 0x180455fbf
mov ecx, dword [0x1807a2208]
sub ecx, dword [0x1807a220c]
xor ecx, 0xee91b44
and ecx, 0x65d958a0
and ecx, 0xb476c7eb
mov qword [rax], 0xc
cmp ecx, 0xf06d725e
ja 0x180455fbf
jmp 0x1804560f2
sub rsp, 0x20
call sub.kernel32.dll_GetLastError
add rsp, 0x20
movsxd r8, eax
shl r8, 0x20
mov eax, dword [0x1807a2210]
xor edx, edx
div dword [0x1807a2214]
imul eax, eax, 0x42c7ab5b
mov ecx, 0x74d48d20
xor edx, edx
div ecx
add eax, 0xad89d3c1
cmp eax, 0xd3784439
je 0x180456167
mov eax, dword [0x1807a2218]
imul eax, dword [0x1807a221c]
add eax, 0xd380db09
and eax, 0x2fb44506
mov ecx, 0xf467faa4
xor edx, edx
div ecx
mov ecx, eax
mov rax, r8
or rax, 2
cmp ecx, 0xb164a55
ja 0x180456167
movabs rcx, 0x8000000000000006
jmp 0x180456073
mov qword [rsi], rcx
mov qword [rsi + 8], rax
mov word [rbx], 0
cmp rdi, 0
je 0x1804560f2
mov eax, dword [0x1807a2220]
and eax, dword [0x1807a2224]
add eax, 0xfde2c09c
add eax, 0x56f57832
add eax, 0x24f3d863
cmp eax, 0x7e5d8d37
jbe 0x180456178
jmp 0x1804560ad
mov eax, dword [0x1807a2228]
imul eax, dword [0x1807a222c]
imul eax, eax, 0x1f1801f1
imul eax, eax, 0xbeedc960
or eax, 0x7a3011
mov rdx, rdi
shl rdx, 1
cmp eax, 0x5e51b04d
jb 0x1804560ad
jmp 0x1804560da
sub rsp, 0x20
mov rcx, rbx
mov r8d, 2
call fcn.1804cafa0
add rsp, 0x20
jmp 0x1804560f2
mov rax, rsi
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
push rax
jnp 0x180456154
clc
jno 0x18045612c
and ebx, ecx
dec eax
sbb ecx, dword [rax - 0x17]
invalid
sti
retf
movsd dword [rdi], dword [rsi]
adc ebx, 7
xor esi, dword [rax + 0x18f390af]
cmp cl, ch
leave
cld
invalid
jmp 0x180455dfa
sbb al, 0x4d
push rbx
not dword [rsi - 0x16622060]
adc ch, bh
invalid
movsd dword [rdi], dword ss:[rsi]
in eax, 0x24
push 0x20a08924
clc
mov ecx, 0xfffd98e9
invalid
jg 0x180456158
invalid
xchg esp, eax
pop rsi
add eax, 0xc74833e5
add byte [rax + rax], cl
add byte [rax], al
jmp 0x180455fbd
push rsi
add al, 0xdd
and eax, 0x4105a952
fstp qword [rsi]
cli
cli
jmp 0x180456032
in al, dx
and ch, byte ds:[rbp + 1]
jp 0x180456179
jmp 0x1804560ab