Function at 0x10001450
Capabilities:
Delete service
Get system information on windows
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push esi
and esp, 0xfffffff8
sub esp, 0x110
xor eax, eax
mov ecx, 0x34
lea edx, [esp + 0xa8]
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], 0x34
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa0], ecx
call sub.msvcrt.dll_memset
mov eax, esp
lea ecx, [esp + 0xa8]
mov dword [eax + 4], ecx
mov dword [eax + 8], 0xdef
mov dword [eax], 0x6d0c2f
mov eax, dword [sym.imp.KERNEL32.dll_SetCommConfig]
call eax
sub esp, 0xc
xor ecx, ecx
lea edx, [esp + 0xe0]
mov dword [esp + 0x9c], eax
mov dword [esp + 0x98], edx
mov dword [esp + 0x94], ecx
jmp 0x1000156d
mov eax, esp
mov dword [eax], 0xc3b4c4
mov eax, dword [sym.imp.USER32.dll_ShowCaret]
call eax
sub esp, 4
mov ecx, dword [sym.imp.KERNEL32.dll_GetConsoleCP]
mov dword [esp + 0x90], eax
call ecx
mov ecx, esp
mov dword [ecx + 4], 0x4b6
mov dword [ecx], 0xf05043
mov ecx, dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov dword [esp + 0x8c], eax
call ecx
sub esp, 8
mov dword [esp + 0x88], eax
jmp 0x10001528
lea esp, [ebp - 4]
pop esi
pop ebp
ret
mov eax, esp
mov dword [eax + 4], 0xcb4
mov dword [eax], 0x6c5
mov eax, dword [sym.imp.USER32.dll_UnregisterHotKey]
call eax
sub esp, 8
mov dword [esp + 0x84], eax
jmp 0x100017ff
mov eax, dword [esp + 0x80]
add eax, 1
cmp eax, 0x167
mov dword [esp + 0x7c], eax
je 0x100016f4
jmp 0x10001643
mov eax, dword [esp + 0x94]
mov ecx, esp
mov dword [ecx], 0xc
mov ecx, dword [sym.imp.KERNEL32.dll_GlobalDeleteAtom]
mov dword [esp + 0x78], eax
call ecx
sub esp, 4
mov ecx, esp
mov dword [ecx], 0x776056
mov ecx, dword [sym.imp.ADVAPI32.dll_DeleteService]
mov word [esp + 0x76], ax
call ecx
sub esp, 4
mov ecx, esp
mov dword [ecx + 4], 0x4c9477
mov dword [ecx], 0x5e4c3a
mov ecx, dword [sym.imp.USER32.dll_SetMenu]
mov dword [esp + 0x70], eax
call ecx
sub esp, 8
mov ecx, esp
mov dword [ecx], 0x39e
mov ecx, dword [sym.imp.KERNEL32.dll_DebugActiveProcess]
mov dword [esp + 0x6c], eax
call ecx
sub esp, 4
mov ecx, esp
mov dword [ecx + 4], 0x518
mov dword [ecx], 0xe0ca7d
mov ecx, dword [sym.imp.GDI32.dll_GetNearestColor]
mov dword [esp + 0x68], eax
call ecx
sub esp, 8
xor ecx, ecx
mov edx, 0x24
mov esi, dword [esp + 0x98]
mov dword [esp], esi
mov dword [esp + 4], 0
mov dword [esp + 8], 0x24
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], edx
call sub.msvcrt.dll_memset
mov eax, esp
lea ecx, [esp + 0xe0]
mov dword [eax], ecx
mov eax, dword [sym.imp.KERNEL32.dll_GetSystemInfo]
call eax
sub esp, 4
xor eax, eax
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x7c]
mov ecx, 0x38e38e39
mov dword [esp + 0x80], eax
mul ecx
shr edx, 2
imul eax, edx, 0x12
mov ecx, dword [esp + 0x80]
sub ecx, eax
mov eax, ecx
sub eax, 0xb
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], eax
je 0x100016d9
jmp 0x10001675
mov eax, dword [esp + 0x58]
sub eax, 4
mov dword [esp + 0x50], eax
jne 0x1000154d
jmp 0x10001688
mov byte [esp + 0x10b], 1
mov word [esp + 0x108], 1
mov eax, esp
lea ecx, [esp + 0x108]
mov dword [eax + 0xc], ecx
lea ecx, [esp + 0x10b]
mov dword [eax + 8], ecx
mov dword [eax + 0x14], 0xa673d4
mov dword [eax + 0x10], 0xee
mov dword [eax + 4], 0xee
mov dword [eax], 0xee
mov eax, dword [sym.imp.USER32.dll_ToAsciiEx]
call eax
sub esp, 0x18
mov dword [esp + 0x4c], eax
mov eax, esp
mov dword [eax], 0xbc11a
mov eax, dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
call eax
sub esp, 4
mov dword [esp + 0x48], eax
jmp 0x1000154d
mov eax, dword [esp + 0x78]
sub eax, 8
mov dword [esp + 0x44], eax
je 0x10001528
jmp 0x10001707
mov eax, dword [esp + 0x78]
sub eax, 0x2c
mov dword [esp + 0x40], eax
je 0x100014d7
jmp 0x1000171a
mov eax, esp
mov dword [eax], 0xf6888b
mov eax, dword [sym.imp.GDI32.dll_FillPath]
call eax
sub esp, 4
mov ecx, esp
mov dword [ecx], 0xf6888b
mov ecx, dword [sym.imp.GDI32.dll_FillPath]
mov dword [esp + 0x3c], eax
call ecx
sub esp, 4
mov ecx, esp
mov dword [ecx], 0xf6888b
mov ecx, dword [sym.imp.GDI32.dll_FillPath]
mov dword [esp + 0x38], eax
call ecx
sub esp, 4
mov ecx, esp
mov dword [ecx], 0xf6888b
mov ecx, dword [sym.imp.GDI32.dll_FillPath]
mov dword [esp + 0x34], eax
call ecx
sub esp, 4
mov ecx, esp
mov dword [ecx], 0xf6888b
mov ecx, dword [sym.imp.GDI32.dll_FillPath]
mov dword [esp + 0x30], eax
call ecx
sub esp, 4
mov ecx, esp
mov dword [ecx], 0xf6888b
mov ecx, dword [sym.imp.GDI32.dll_FillPath]
mov dword [esp + 0x2c], eax
call ecx
sub esp, 4
mov ecx, esp
mov dword [ecx], 0xf6888b
mov ecx, dword [sym.imp.GDI32.dll_FillPath]
mov dword [esp + 0x28], eax
call ecx
sub esp, 4
mov ecx, esp
mov dword [ecx], 0xf6888b
mov ecx, dword [sym.imp.GDI32.dll_FillPath]
mov dword [esp + 0x24], eax
call ecx
sub esp, 4
mov ecx, esp
mov dword [ecx], 0xf6888b
mov ecx, dword [sym.imp.GDI32.dll_FillPath]
mov dword [esp + 0x20], eax
call ecx
sub esp, 4
mov ecx, esp
mov dword [ecx], 0xf6888b
mov ecx, dword [sym.imp.GDI32.dll_FillPath]
mov dword [esp + 0x1c], eax
call ecx
sub esp, 4
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x78]
add eax, 1
cmp eax, 0xf8
mov dword [esp + 0x94], eax
je 0x10001522
jmp 0x1000156d