Function at 0x40b110
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x585864
mov eax, dword fs:[0]
push eax
sub esp, 0xd8
mov eax, dword [0x6531f0]
xor eax, esp
mov dword [esp + 0xd4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x6531f0]
xor eax, esp
push eax
lea eax, [esp + 0xec]
mov dword fs:[0], eax
mov eax, dword [esp + 0xfc]
xor ebx, ebx
push ebx
mov dword [esp + 0x5c], eax
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jl 0x40bc84
xor eax, eax
push eax
call fcn.00413900
mov ecx, dword [0x66b0a4]
add esp, 4
push ebx
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x40b6ac
mov dword [esp + 0x14], 0x90
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], 0x458b10
xor edi, edi
lea ebp, [ebx + 7]
mov edx, dword [0x66b0a4]
push ebx
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x40b6ac
mov eax, reloc.OLEAUT32.dll_SysReAllocString
call fcn.00413760
xor ecx, ecx
mov word [esp + 0xd0], cx
mov ecx, eax
mov dword [esp + 0xe4], ebp
mov dword [esp + 0xe0], ebx
lea esi, [ecx + 2]
mov edi, edi
mov dx, word [ecx]
add ecx, 2
cmp dx, bx
jne 0x40b1e0
sub ecx, esi
sar ecx, 1
push ecx
lea esi, [esp + 0xd0]
call fcn.0040e430
mov dword [esp + 0xf4], ebx
push 1
mov eax, 0x63132c
mov ecx, esi
call fcn.0040e2a0
mov eax, dword [edi + 0x6564b0]
mov ecx, eax
lea esi, [ecx + 2]
lea esp, [esp]
mov dx, word [ecx]
add ecx, 2
cmp dx, bx
jne 0x40b220
sub ecx, esi
sar ecx, 1
push ecx
lea ecx, [esp + 0xd0]
call fcn.0040e2a0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp eax, ecx
jb 0x40b24f
lea eax, [ecx - 1]
mov dword [esp + 0x18], eax
mov esi, dword [esp + 0x1c]
cmp esi, ebx
je 0x40b26d
imul eax, eax, 0x64
xor edx, edx
div ecx
lea edx, [esp + 0xcc]
inc eax
push eax
push edx
call esi
add esp, 8
inc dword [esp + 0x18]
xor eax, eax
mov word [esp + 0x60], ax
push ebx
mov eax, 0x630230
lea esi, [esp + 0x60]
mov dword [esp + 0x78], ebp
mov dword [esp + 0x74], ebx
call fcn.0040e430
mov byte [esp + 0xf4], 1
mov eax, dword [edi + 0x6564b0]
xor ecx, ecx
mov word [esp + 0x7c], cx
mov ecx, eax
mov dword [esp + 0x90], ebp
mov dword [esp + 0x8c], ebx
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
cmp dx, bx
jne 0x40b2b7
sub ecx, esi
sar ecx, 1
push ecx
lea esi, [esp + 0x7c]
call fcn.0040e430
mov byte [esp + 0xf4], 2
lea edx, [esp + 0x5c]
push edx
mov edx, dword [esp + 0x5c]
push reloc.OLEAUT32.dll_SysReAllocString
mov ecx, esi
call fcn.004093a0
add esp, 8
mov byte [esp + 0xf4], 1
cmp dword [esp + 0x90], 8
jb 0x40b30f
mov eax, dword [esp + 0x7c]
push eax
call fcn.004fdb3f
add esp, 4
xor ecx, ecx
mov dword [esp + 0x90], ebp
mov dword [esp + 0x8c], ebx
mov word [esp + 0x7c], cx
mov byte [esp + 0xf4], bl
mov esi, 8
cmp dword [esp + 0x74], esi
jb 0x40b343
mov edx, dword [esp + 0x60]
push edx
call fcn.004fdb3f
add esp, 4
xor eax, eax
mov dword [esp + 0x74], ebp
mov dword [esp + 0x70], ebx
mov word [esp + 0x60], ax
mov dword [esp + 0xf4], 0xffffffff
cmp dword [esp + 0xe4], esi
jb 0x40b376
mov ecx, dword [esp + 0xd0]
push ecx
call fcn.004fdb3f
add esp, 4
xor edx, edx
add edi, 4
mov dword [esp + 0xe4], ebp
mov dword [esp + 0xe0], ebx
mov word [esp + 0xd0], dx
cmp edi, 0x58
jb 0x40b1a1
mov eax, reloc.OLEAUT32.dll_SysReAllocString
call fcn.00413760
mov ebp, eax
xor edi, edi
mov eax, dword [0x66b0a4]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x40b6ac
xor ecx, ecx
mov eax, ebp
mov dword [esp + 0xc8], 7
mov dword [esp + 0xc4], ebx
mov word [esp + 0xb4], cx
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x40b3e0
sub eax, edx
sar eax, 1
push eax
mov eax, ebp
lea esi, [esp + 0xb4]
call fcn.0040e430
mov dword [esp + 0xf4], 3
push 1
mov eax, 0x63132c
mov ecx, esi
call fcn.0040e2a0
mov eax, dword [edi + 0x656508]
mov ecx, eax
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
cmp dx, bx
jne 0x40b422
sub ecx, esi
sar ecx, 1
push ecx
lea ecx, [esp + 0xb4]
call fcn.0040e2a0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp eax, ecx
jb 0x40b451
lea eax, [ecx - 1]
mov dword [esp + 0x18], eax
mov esi, dword [esp + 0x1c]
cmp esi, ebx
je 0x40b46f
imul eax, eax, 0x64
xor edx, edx
div ecx
lea edx, [esp + 0xb0]
inc eax
push eax
push edx
call esi
add esp, 8
inc dword [esp + 0x18]
xor eax, eax
mov word [esp + 0x24], ax
push ebx
mov eax, 0x630230
lea esi, [esp + 0x24]
mov dword [esp + 0x3c], 7
mov dword [esp + 0x38], ebx
call fcn.0040e430
mov byte [esp + 0xf4], 4
mov eax, dword [edi + 0x656508]
xor ecx, ecx
mov word [esp + 0x40], cx
mov ecx, eax
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], ebx
lea esi, [ecx + 2]
jmp 0x40b4c0
mov dx, word [ecx]
add ecx, 2
cmp dx, bx
jne 0x40b4c0
sub ecx, esi
sar ecx, 1
push ecx
lea esi, [esp + 0x40]
call fcn.0040e430
mov byte [esp + 0xf4], 5
mov ecx, dword [esp + 0x58]
mov edx, esi
push edx
push reloc.OLEAUT32.dll_SysReAllocString
lea edx, [esp + 0x28]
call fcn.00409c70
add esp, 8
mov byte [esp + 0xf4], 4
cmp dword [esp + 0x54], 8
jb 0x40b515
mov eax, dword [esp + 0x40]
push eax
call fcn.004fdb3f
add esp, 4
mov esi, 7
xor ecx, ecx
mov dword [esp + 0x54], esi
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], cx
mov byte [esp + 0xf4], 3
cmp dword [esp + 0x38], 8
jb 0x40b545
mov edx, dword [esp + 0x24]
push edx
call fcn.004fdb3f
add esp, 4
xor eax, eax
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], ebx
mov word [esp + 0x24], ax
mov dword [esp + 0xf4], 0xffffffff
cmp dword [esp + 0xc8], 8
jb 0x40b579
mov ecx, dword [esp + 0xb4]
push ecx
call fcn.004fdb3f
add esp, 4
xor edx, edx
add edi, 4
mov dword [esp + 0xc8], esi
mov dword [esp + 0xc4], ebx
mov word [esp + 0xb4], dx
cmp edi, 0x50
jb 0x40b3a8
xor eax, eax
mov word [esp + 0x98], ax
mov eax, str.HKEY_LOCAL_MACHINE
mov dword [esp + 0xac], esi
mov dword [esp + 0xa8], ebx
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x40b5c0
sub eax, edx
sar eax, 1
push eax
mov eax, str.HKEY_LOCAL_MACHINE
lea esi, [esp + 0x98]
call fcn.0040e430
mov dword [esp + 0xf4], 6
push 1
mov eax, 0x63132c
mov ecx, esi
call fcn.0040e2a0
push 0x32
mov eax, str.SoftwarePoliciesMicrosoftWindowsSystemScripts
mov ecx, esi
call fcn.0040e2a0
push 1
mov eax, 0x63132c
mov ecx, esi
call fcn.0040e2a0
push 5
mov eax, str.Logon
mov ecx, esi
call fcn.0040e2a0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp eax, ecx
jb 0x40b637
lea eax, [ecx - 1]
mov dword [esp + 0x18], eax
mov esi, dword [esp + 0x1c]
cmp esi, ebx
je 0x40b655
imul eax, eax, 0x64
xor edx, edx
div ecx
lea ecx, [esp + 0x94]
inc eax
push eax
push ecx
call esi
add esp, 8
mov edx, dword [0x66b0a4]
inc dword [esp + 0x18]
push ebx
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x40b6b3
mov dword [esp + 0xf4], 0xffffffff
cmp dword [esp + 0xac], 8
jb 0x40b690
mov eax, dword [esp + 0x98]
push eax
call fcn.004fdb3f
add esp, 4
xor ecx, ecx
mov dword [esp + 0xac], 7
mov dword [esp + 0xa8], ebx
mov word [esp + 0x98], cx
mov al, 1
jmp 0x40bc86
xor edx, edx
mov edi, 7
push 5
mov eax, str.Logon
lea esi, [esp + 0x40]
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], ebx
mov word [esp + 0x44], dx
call fcn.0040e430
mov byte [esp + 0xf4], 7
xor eax, eax
mov word [esp + 0x24], ax
push 0x32
mov eax, str.SoftwarePoliciesMicrosoftWindowsSystemScripts
lea esi, [esp + 0x24]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebx
call fcn.0040e430
mov byte [esp + 0xf4], 8
mov ebp, dword [esp + 0x58]
lea ecx, [esp + 0x3c]
push ecx
push reloc.OLEAUT32.dll_SysReAllocString
mov edx, ebp
mov ecx, esi
call fcn.0040a2d0
add esp, 8
mov byte [esp + 0xf4], 7
cmp dword [esp + 0x38], 8
jb 0x40b73c
mov edx, dword [esp + 0x24]
push edx
call fcn.004fdb3f
add esp, 4
xor eax, eax
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], ebx
mov word [esp + 0x24], ax
mov byte [esp + 0xf4], 6
mov esi, 8
cmp dword [esp + 0x54], esi
jb 0x40b76b
mov ecx, dword [esp + 0x40]
push ecx
call fcn.004fdb3f
add esp, 4
mov eax, dword [0x66b0a4]
push ebx
xor edx, edx
push eax
mov dword [esp + 0x5c], edi
mov dword [esp + 0x58], ebx
mov word [esp + 0x48], dx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x40b7ce
mov dword [esp + 0xf4], 0xffffffff
cmp dword [esp + 0xac], esi
jb 0x40b7af
mov ecx, dword [esp + 0x98]
push ecx
call fcn.004fdb3f
add esp, 4
xor edx, edx
mov dword [esp + 0xac], edi
mov dword [esp + 0xa8], ebx
mov word [esp + 0x98], dx
mov al, 1
jmp 0x40bc86
mov eax, str.HKEY_LOCAL_MACHINE
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x40b7d6
sub eax, edx
sar eax, 1
push eax
mov eax, str.HKEY_LOCAL_MACHINE
lea esi, [esp + 0x98]
call fcn.0040e430
push 1
mov eax, 0x63132c
mov ecx, esi
call fcn.0040e2a0
push 0x32
mov eax, str.SoftwarePoliciesMicrosoftWindowsSystemScripts
mov ecx, esi
call fcn.0040e2a0
push 1
mov eax, 0x63132c
mov ecx, esi
call fcn.0040e2a0
push edi
mov eax, str.Startup
mov ecx, esi
call fcn.0040e2a0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp eax, ecx
jb 0x40b841
lea eax, [ecx - 1]
mov dword [esp + 0x18], eax
mov esi, dword [esp + 0x1c]
cmp esi, ebx
je 0x40b85f
imul eax, eax, 0x64
xor edx, edx
div ecx
inc eax
push eax
lea eax, [esp + 0x98]
push eax
call esi
add esp, 8
inc dword [esp + 0x18]
xor ecx, ecx
push edi
mov eax, str.Startup
lea esi, [esp + 0x40]
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], ebx
mov word [esp + 0x44], cx
call fcn.0040e430
mov byte [esp + 0xf4], 9
xor edx, edx
push 0x32
mov eax, str.SoftwarePoliciesMicrosoftWindowsSystemScripts
lea esi, [esp + 0x24]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebx
mov word [esp + 0x28], dx
call fcn.0040e430
mov byte [esp + 0xf4], 0xa
lea eax, [esp + 0x3c]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
mov edx, ebp
mov ecx, esi
call fcn.0040a2d0
add esp, 8
mov byte [esp + 0xf4], 9
cmp dword [esp + 0x38], 8
jb 0x40b8e2
mov ecx, dword [esp + 0x24]
push ecx
call fcn.004fdb3f
add esp, 4
xor edx, edx
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], ebx
mov word [esp + 0x24], dx
mov byte [esp + 0xf4], 6
mov esi, 8
cmp dword [esp + 0x54], esi
jb 0x40b911
mov eax, dword [esp + 0x40]
push eax
call fcn.004fdb3f
add esp, 4
mov edx, dword [0x66b0a4]
push ebx
xor ecx, ecx
push edx
mov dword [esp + 0x5c], edi
mov dword [esp + 0x58], ebx
mov word [esp + 0x48], cx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x40b975
mov dword [esp + 0xf4], 0xffffffff
cmp dword [esp + 0xac], esi
jb 0x40b956
mov eax, dword [esp + 0x98]
push eax
call fcn.004fdb3f
add esp, 4
xor ecx, ecx
mov dword [esp + 0xac], edi
mov dword [esp + 0xa8], ebx
mov word [esp + 0x98], cx
mov al, 1
jmp 0x40bc86
mov eax, str.HKEY_LOCAL_MACHINE
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x40b980
sub eax, edx
sar eax, 1
push eax
mov eax, str.HKEY_LOCAL_MACHINE
lea esi, [esp + 0x98]
call fcn.0040e430
push 1
mov eax, 0x63132c
mov ecx, esi
call fcn.0040e2a0
push 0x32
mov eax, str.SoftwarePoliciesMicrosoftWindowsSystemScripts
mov ecx, esi
call fcn.0040e2a0
push 1
mov eax, 0x63132c
mov ecx, esi
call fcn.0040e2a0
push 8
mov eax, str.Shutdown
mov ecx, esi
call fcn.0040e2a0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp eax, ecx
jb 0x40b9ec
lea eax, [ecx - 1]
mov dword [esp + 0x18], eax
mov esi, dword [esp + 0x1c]
cmp esi, ebx
je 0x40ba0a
imul eax, eax, 0x64
xor edx, edx
div ecx
lea edx, [esp + 0x94]
inc eax
push eax
push edx
call esi
add esp, 8
inc dword [esp + 0x18]
xor eax, eax
mov word [esp + 0x40], ax
push 8
mov eax, str.Shutdown
lea esi, [esp + 0x40]
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], ebx
call fcn.0040e430
mov byte [esp + 0xf4], 0xb
xor ecx, ecx
push 0x32
mov eax, str.SoftwarePoliciesMicrosoftWindowsSystemScripts
lea esi, [esp + 0x24]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebx
mov word [esp + 0x28], cx
call fcn.0040e430
mov byte [esp + 0xf4], 0xc
lea edx, [esp + 0x3c]
push edx
push reloc.OLEAUT32.dll_SysReAllocString
mov edx, ebp
mov ecx, esi
call fcn.0040a2d0
add esp, 8
mov byte [esp + 0xf4], 0xb
cmp dword [esp + 0x38], 8
jb 0x40ba8e
mov eax, dword [esp + 0x24]
push eax
call fcn.004fdb3f
add esp, 4
xor ecx, ecx
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], ebx
mov word [esp + 0x24], cx
mov byte [esp + 0xf4], 6
cmp dword [esp + 0x54], 8
jb 0x40bab9
mov edx, dword [esp + 0x40]
push edx
call fcn.004fdb3f
add esp, 4
mov ecx, dword [0x66b0a4]
mov esi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push ebx
xor eax, eax
push ecx
mov dword [esp + 0x5c], edi
mov dword [esp + 0x58], ebx
mov word [esp + 0x48], ax
call esi
test eax, eax
jne 0x40bb20
mov dword [esp + 0xf4], 0xffffffff
cmp dword [esp + 0xac], 8
jb 0x40bb01
mov edx, dword [esp + 0x98]
push edx
call fcn.004fdb3f
add esp, 4
xor eax, eax
mov word [esp + 0x98], ax
mov dword [esp + 0xac], edi
mov dword [esp + 0xa8], ebx
mov al, 1
jmp 0x40bc86
push ebp
lea edx, [esp + 0x18]
mov ecx, fcn.00413c60
call fcn.00414390
mov ecx, dword [0x66b0a4]
add esp, 4
push ebx
push ecx
call esi
test eax, eax
je 0x40badc
push ebp
lea edx, [esp + 0x18]
mov ecx, 0x414740
call fcn.00414390
mov ecx, dword [0x66b0a4]
add esp, 4
push ebx
push ecx
call esi
test eax, eax
je 0x40bc69
push ebp
lea ecx, [esp + 0x18]
call fcn.00414910
mov edx, dword [0x66b0a4]
add esp, 4
push ebx
push edx
call esi
test eax, eax
je 0x40bc69
lea edi, [esp + 0x14]
mov ecx, ebp
call fcn.00414bd0
mov eax, str.Services
lea ecx, [esp + 0x20]
call fcn.0040c640
mov byte [esp + 0xf4], 0xd
lea eax, [esp + 0x20]
push eax
mov esi, edi
call fcn.0040da70
mov byte [esp + 0xf4], 6
lea esi, [esp + 0x20]
call fcn.0042f9c0
call fcn.00453150
test al, al
jne 0x40bc69
push 0x30
push ebp
call fcn.0040ae80
add esp, 8
mov eax, str.Drivers
lea ecx, [esp + 0x20]
call fcn.0040c640
mov byte [esp + 0xf4], 0xe
lea ecx, [esp + 0x20]
push ecx
mov esi, edi
call fcn.0040da70
mov byte [esp + 0xf4], 6
lea esi, [esp + 0x20]
call fcn.0042f9c0
call fcn.00453150
test al, al
jne 0x40bc69
push 0xb
push ebp
call fcn.0040ae80
add esp, 8
mov eax, str.Scheduled_Tasks
lea ecx, [esp + 0x20]
call fcn.0040c640
mov byte [esp + 0xf4], 0xf
lea edx, [esp + 0x20]
push edx
mov esi, edi
call fcn.0040da70
mov byte [esp + 0xf4], 6
lea esi, [esp + 0x20]
call fcn.0042f9c0
call fcn.00453150
test al, al
jne 0x40bc69
mov esi, ebp
call fcn.004088e0
call dword [sym.imp.ole32.dll_CoUninitialize]
mov dword [esp + 0xf4], 0xffffffff
lea esi, [esp + 0x94]
call fcn.0042f9c0
mov al, 1
jmp 0x40bc86
xor al, al
mov ecx, dword [esp + 0xec]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xd4]
xor ecx, esp
call fcn.004fdb4a
add esp, 0xe4
ret