Function at 0x10044544
Capabilities:
Start service

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006a98a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xd8
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x100445b1
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x48], eax
lea eax, [ebp + 0x10]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
movzx eax, byte [eax]
test eax, eax
je 0x100445a0
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
movzx eax, byte [eax]
test eax, eax
je 0x1004459e
push 0
call dword [sym.imp.GDI32.dll_CreatePenIndirect]
jmp 0x100445ac
push 0
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_StartServiceW]
jmp 0x100449b7
lea eax, [ebp + 8]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x40], eax
lea eax, [ebp + 0x1c]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
movzx eax, byte [eax]
test eax, eax
je 0x100445e0
push 0
push 0
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_RegGetKeySecurity]
jmp 0x100449b7
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x3c], eax
mov eax, dword [0x10617424]
and eax, 1
jne 0x10044620
mov eax, dword [0x10617424]
or eax, 1
mov dword [0x10617424], eax
and dword [ebp - 4], 0
mov ecx, 0x10617404
call fcn.1002470b
push 0x1006ad86
call fcn.10050f3c
pop ecx
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0xb4]
push eax
mov ecx, 0x10617404
call fcn.100247c2
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0xb8]
push eax
mov ecx, 0x10617404
call fcn.100247d9
mov ecx, eax
call fcn.10024692
movzx eax, al
test eax, eax
je 0x100446c4
mov dword [ebp - 0x78], 0xffffffff
mov byte [ebp - 0x13], 0
movzx eax, byte [ebp - 0x13]
test eax, eax
je 0x10044678
push 0
call fcn.10041839
pop ecx
push 0
push 0x3c05
push 0
push 0x78b
lea eax, [ebp - 0x78]
push eax
push 0x4e9a
push 0x521
call fcn.10046c15
add esp, 0x1c
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x84]
push eax
mov ecx, 0x10617404
call fcn.1004a58d
mov ecx, dword [ebp - 0x3c]
mov al, byte [eax]
mov byte [ecx], al
jmp 0x100449b7
mov dword [ebp - 0x10], 0x8a1f9496
mov dword [ebp - 0x18], 1
mov dword [ebp - 0xa4], 0xfffffffd
mov dword [ebp - 0xa0], 0xfffffffd
mov dword [ebp - 0x9c], 0xfffffffd
mov dword [ebp - 0x98], 0xfffffffd
lea ecx, [ebp - 0x1d]
call fcn.1000c1e4
push eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0xcc]
call fcn.1000c1e7
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x90]
call fcn.1000c193
mov dword [ebp - 4], 1
mov dword [ebp - 0x2c], 3
cmp dword [ebp - 0x10], 0
je 0x10044868
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x10], 0
jne 0x10044759
mov dword [ebp - 0x30], 1
jmp 0x1004475d
and dword [ebp - 0x30], 0
push 2
lea ecx, [ebp - 0x90]
call fcn.1000c1d5
mov ecx, dword [ebp - 0x30]
mov dword [eax], ecx
push 2
lea ecx, [ebp - 0x90]
call fcn.1000c1d5
cmp dword [eax], 0
je 0x10044790
mov eax, 0x6bc6
test eax, eax
je 0x10044790
cmp dword [ebp - 0x10], 0
jne 0x1004479c
cmp dword [ebp - 0x10], 0
jne 0x1004479c
and dword [ebp - 0x38], 0
jmp 0x100447a3
mov dword [ebp - 0x38], 1
imul eax, dword [ebp - 0x38], 0xfc65
cmp eax, dword [ebp - 0x10]
jg 0x100447c7
push 2
lea ecx, [ebp - 0x90]
call fcn.1000c1d5
cmp dword [eax], 0
jne 0x100447c7
and dword [ebp - 0x24], 0
jmp 0x100447ce
mov dword [ebp - 0x24], 1
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x24], eax
jle 0x100447df
mov dword [ebp - 0x28], 1
jmp 0x100447e3
and dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x10], eax
jg 0x100447fa
mov dword [ebp - 0x6c], 1
jmp 0x100447fe
and dword [ebp - 0x6c], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0x18], 0
je 0x10044868
mov dword [ebp - 0x18], 0x17
jmp 0x10044826
mov eax, dword [ebp - 0x18]
dec eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xffffffe9
jg 0x10044866
mov dword [ebp - 0x10], 0
jmp 0x1004483c
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jg 0x10044864
mov byte [ebp - 0x12], 0
lea eax, [ebp - 0x12]
push eax
push 1
push 0xdbe
push 0
push 0x42de
push 1
call fcn.100461db
add esp, 0x18
jmp 0x10044835
jmp 0x1004481f
jmp 0x100448cc
push 2
lea ecx, [ebp - 0xb0]
call fcn.1000c137
mov byte [ebp - 4], 2
push 0
push 0xe64
push 1
lea eax, [ebp - 0xb0]
push eax
push 0x764
lea eax, [ebp - 0xc4]
push eax
push 0x653
call fcn.10046c15
add esp, 0x1c
push 0
lea ecx, [ebp - 0xb0]
call fcn.1000c1d5
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xb0]
call fcn.1000c1b9
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x90]
call fcn.1000c1b9
mov eax, dword [ebp - 0x1c]
push dword [eax]
lea eax, [ebp - 0xe4]
push eax
call fcn.1004062e
pop ecx
pop ecx
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x74], eax
mov dword [ebp - 4], 3
mov ecx, dword [ebp - 0x74]
call fcn.1000c002
mov al, byte [eax]
mov byte [ebp - 0x11], al
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe4]
call fcn.10024635
mov dword [ebp - 0x7c], 0x73bf
mov dword [ebp - 0x44], 0x16de6eab
mov dword [ebp - 0x4c], 0x3ca30775
mov dword [ebp - 0x54], 0xfffffffd
lea eax, [ebp - 0x7c]
push eax
push 0x36f5
lea eax, [ebp - 0x44]
push eax
push 0
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.10046331
add esp, 0x18
mov byte [ebp - 0x14], 0
lea eax, [ebp - 0x14]
push eax
push 0x453d
push 0x4c12
push 0x430f
push 1
push 1
call fcn.10040880
add esp, 0x18
lea eax, [ebp - 0x11]
push eax
push dword [ebp - 0x1c]
push 0
push 0x10617404
call fcn.10044456
add esp, 0x10
mov dword [ebp - 0x5c], 0x9f9b3198
push 1
lea eax, [ebp - 0x5c]
push eax
push 0xe30
push 1
push 0x53f2
call fcn.10040a7d
add esp, 0x14
mov eax, dword [ebp - 0x3c]
mov cl, byte [ebp - 0x11]
mov byte [eax], cl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret