Function at 0x4288ae
Capabilities:
Get file attributes
Query service status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x164
push ebx
push esi
mov dword [ebp - 0x20], 0xcbcb1a7a
xor esi, esi
mov dword [ebp - 0x20], 0xbda18461
inc esi
push edi
mov dword [ebp - 0x10], esi
mov edi, ecx
xor ebx, ebx
mov dword [ebp - 0x14], 0xfffc
mov byte [ebp - 0x25], dl
mov dword [ebp - 0x38], edi
mov dword [ebp - 8], ebx
jmp 0x4288f1
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xc4], esi
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x4288e4
mov dword [ebp - 8], ebx
jmp 0x42890a
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x2c], 0x2ba39464
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x4288fc
push 3
pop ecx
mov dword [ebp - 0x2c], ecx
push 2
pop edx
cmp dword [ebp - 0x2c], ebx
jl 0x428a78
mov dword [ebp - 0xac], esi
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xa0], esi
mov dword [ebp - 4], 0x628405ce
mov dword [ebp - 0x1c], 9
mov dword [ebp - 0x18], edx
mov dword [ebp - 8], ebx
jmp 0x428960
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x120], 0x25189d9e
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x42894f
mov dword [ebp - 8], ebx
jmp 0x42897b
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xd8], 0xfffffff8
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x42896a
mov dword [ebp - 8], ebx
jmp 0x428996
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xe8], 0x61131e34
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x428985
mov dword [ebp - 0xac], ecx
cmp dword [ebp - 0xac], ebx
jl 0x428a69
mov dword [ebp - 4], esi
mov dword [ebp - 0x30], 0x77e815f8
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], ebx
jl 0x4289d6
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x4289d1
push ebx
push esi
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventA]
dec dword [ebp - 4]
jns 0x4289bf
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [ebp - 4], eax
inc dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x120]
mov eax, dword [ebp - 4]
cmp eax, ecx
mov ecx, esi
setl dl
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0xc4]
sub ecx, eax
mov eax, dword [ebp - 0xa0]
add eax, ecx
imul eax, eax, 0x457a
sub eax, 0x457a
je 0x428a2b
mov edx, esi
cmp dword [ebp - 0x10], ebx
jne 0x428a2d
mov edx, ebx
mov eax, dword [ebp - 0xac]
xor ecx, ecx
push 3
mov eax, dword [ebp + eax*4 - 0xc4]
cmp eax, edx
mov eax, dword [ebp - 0x1c]
sete cl
imul eax, ecx
pop ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xe8], 0x6c8c5cec
dec dword [ebp - 0xac]
jns 0x4289ad
push 2
pop edx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x2c]
jns 0x428921
mov dword [ebp - 0x20], esi
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc0]
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
test eax, eax
setle cl
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], ebx
je 0x428aa5
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc4]
xor edx, edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
cmp eax, ecx
mov eax, dword [ebp - 0x2c]
setne dl
xor ebx, ebx
cmp edx, eax
setl bl
xor ecx, ecx
mov dword [ebp - 0x2c], ebx
mov eax, dword [ebp - 0xb8]
cmp ebx, eax
setl cl
xor ebx, ebx
cmp dword [ebp - 0x10], ecx
jle 0x428ae3
mov eax, ebx
cmp dword [ebp - 0x20], ebx
je 0x428ae5
mov eax, esi
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0x30], 0xfffffffb
mov dword [ebp - 0x30], 0xef20fe6e
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 8], ebx
jmp 0x428b11
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xfc], ebx
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x428b04
mov dword [ebp - 8], ebx
jmp 0x428b2c
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x164], 0x1a4d63a8
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x428b1b
inc dword [ebp - 0x18]
xor ecx, ecx
mov dword [ebp - 4], esi
mov dword [ebp - 0x14], 0xfffffffe
mov dword [ebp - 8], 0x60be6286
push 0xfffffffffffffff7
pop eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x10], 0xac92d14b
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
cmp eax, 0xdd9ae65c
mov eax, dword [ebp - 0x14]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 4]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 4]
sub edx, eax
mov eax, dword [ebp - 8]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, 0x9dcb
mov eax, dword [ebp - 0x80]
setl cl
imul edx, ecx
xor ecx, ecx
imul edx, eax
mov eax, dword [ebp - 4]
cmp eax, edx
setl cl
xor edx, edx
cmp ecx, 0x14c259db
setne dl
xor ecx, ecx
mov dword [ebp - 0x88], edx
mov eax, dword [ebp - 0x14]
cmp edx, eax
setge cl
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], ebx
je 0x428c30
push 4
mov dword [ebp - 0x1c], 0xbbbbfefa
pop ecx
mov dword [ebp - 0x24], 0xfffffffc
mov dword [ebp - 8], ecx
jmp 0x428c25
mov dword [ebp - 0x10], ebx
jmp 0x428c17
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x88], 0xfffffffa
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x428c06
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xfffffff9
jg 0x428c01
jmp 0x428d0f
mov dword [ebp - 0x18], 0xb496a2a5
mov dword [ebp - 0x18], 0x983b7c1f
mov dword [ebp - 0x10], ebx
jmp 0x428c4d
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x44], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x428c43
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 8], 0xfffffff4
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x80]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x80]
add eax, 8
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x84], 0xffff4793
jle 0x428ce0
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], 0x704422f2
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setg cl
xor eax, eax
cmp ecx, 0xfffffffa
setl al
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 4], esi
jle 0x428cb2
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], 0xfffd
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], esi
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
add edx, 0xe2e8
cmp edx, eax
setne cl
mov dword [ebp - 0x7c], ecx
jmp 0x428d0f
mov dword [ebp - 4], ebx
jmp 0x428cf2
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xe0], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x428ce5
mov dword [ebp - 8], ebx
jmp 0x428d09
mov dword [ebp - 0x30], 0xffffffff
dec dword [ebp - 0x18]
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jle 0x428cfc
mov dword [ebp - 4], ebx
mov dword [ebp - 0x14], 0xfffffffa
mov dword [ebp - 0x34], 0xfffffffe
mov dword [ebp - 4], ebx
jmp 0x428d36
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xb0], 0xfffffff7
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x428d25
mov dword [ebp - 4], 0x1d
jmp 0x428df9
mov dword [ebp - 0x18], 0x1307
mov dword [ebp - 0x10], ebx
jmp 0x428d61
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x70], 9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x428d53
mov dword [ebp - 0x10], ebx
jmp 0x428d79
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x58], 7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x428d6b
mov dword [ebp - 0x54], ebx
jmp 0x428da4
mov byte [ebp - 9], bl
cmp byte [ebp - 9], 0
je 0x428d9e
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
push ebx
push ebx
call dword [sym.imp.USER32.dll_CreateDialogIndirectParamA]
inc dword [ebp - 0x14]
inc dword [ebp - 0x54]
cmp dword [ebp - 0x54], ebx
jle 0x428d84
mov eax, dword [ebp - 0x70]
mov ecx, esi
sub ecx, eax
xor edx, edx
mov dword [ebp - 0xb0], ecx
mov eax, dword [ebp - 0x54]
cmp eax, ecx
mov eax, dword [ebp - 0x14]
setl dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, 0x79ae4f78
jl 0x428dda
cmp dword [ebp - 0x18], ebx
jne 0x428dda
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x34], esi
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x34]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x54], ecx
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xffffffef
jne 0x428d47
mov edx, dword [0x4905ec]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x1c], 0xfffffffb
mov dword [ebp - 0x1c], 0xef20fe6e
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x30], edx
mov dword [ecx], ebx
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], ebx
mov dword [ebp - 0x10], ebx
jmp 0x428e40
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xdc], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x428e33
mov dword [ebp - 0x10], ebx
jmp 0x428e5b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x158], 0x1a4d63a8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x428e4a
inc dword [ebp - 0x18]
cmp byte [ebp - 0x25], 0
je 0x428eca
cmp edx, esi
jne 0x428eca
mov dword [ebp - 0x1c], 4
mov dword [ebp - 0x1c], 0x56915a13
mov dword [ebp - 0x1c], 0x86cce57b
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x1c], 0xf47a6d
mov dword [ebp - 0x18], 8
mov dword [ebp - 4], ebx
jmp 0x428eaa
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x114], 0x1328f6c7
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x428e99
dec dword [ebp - 0x18]
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x1c], eax
mov dword [ecx + 8], 4
mov dword [ecx + 0xc], 0x4905ec
cmp edi, edx
jge 0x4298b7
mov dword [ebp - 4], 0xd94fe5f3
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], 0xfffffff6
mov dword [ebp - 0x1c], 0xa41a80d1
cmp dword [ebp - 4], ebx
je 0x428f3d
mov eax, dword [ebp - 4]
xor edx, edx
imul eax, dword [ebp - 4]
imul eax, eax, 0xffff
cmp eax, 0xe82ca96
mov eax, dword [ebp - 4]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 4]
setle cl
cmp ecx, 0xb3a3fc4b
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
setl dl
add edx, dword [ebp - 4]
je 0x428f2f
mov eax, esi
cmp dword [ebp - 0x14], ebx
jne 0x428f31
mov eax, ebx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x14], ebx
jmp 0x428f74
mov dword [ebp - 0x18], 0xffffffff
mov byte [ebp - 9], bl
cmp byte [ebp - 9], 0
je 0x428f6e
push 0x14f6
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetStretchBltMode]
inc dword [ebp - 0x18]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x11
jg 0x428f45
push 2
pop ecx
mov dword [ebp - 0x14], ecx
mov esi, 0x4905f0
mov dword [ebp - 0x10], 0xa928f0bd
mov dword [ebp - 8], ebx
jmp 0x428f9b
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x4c], ebx
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x428f91
mov dword [ebp - 8], ebx
jmp 0x428fb3
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x40], 0xfff7
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x428fa5
push 3
mov dword [ebp - 8], ebx
pop edx
jmp 0x428fd1
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x14c], 0xfffffff7
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x428fc0
mov dword [ebp - 0x4c], ebx
cmp dword [ebp - 0x4c], 0xb
je 0x4291ff
xor edi, edi
inc edi
mov dword [ebp - 8], 0xdae8c9f3
mov dword [ebp - 4], 0x584d571f
mov dword [ebp - 0x1c], 0xbb70294b
mov dword [ebp - 8], edi
cmp dword [ebp - 8], ebx
jl 0x4291ec
mov dword [ebp - 0x18], edx
mov dword [ebp - 4], ebx
jmp 0x429020
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xf8], 0xbb6e74
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x42900f
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x40]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + eax*4 - 0x40]
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x40], ecx
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x14], ebx
jmp 0x4291d9
mov dword [ebp - 4], ebx
jmp 0x42906f
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x6c], 0xfffffff9
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x429061
mov eax, dword [ebp - 8]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x40]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x10], edi
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x6c]
setne dl
imul eax, dword [ebp - 0x6c]
imul eax, edx
test eax, eax
je 0x4290b8
push 3
mov dword [ebp - 0x10], ebx
pop edx
jmp 0x4290ae
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x6c], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x4290a4
jmp 0x4291b4
mov dword [ebp - 0x1c], 0x8b80bbe9
mov dword [ebp - 0x18], 0xfffffffa
mov eax, dword [ebp - 0xf8]
dec eax
jne 0x4290d4
cmp dword [ebp - 0x4c], ebx
je 0x4290dc
cmp dword [ebp - 0xf0], ebx
jne 0x4290e7
mov eax, dword [ebp - 8]
mov edx, ebx
cmp dword [ebp + eax*4 - 0x40], ebx
je 0x4290e9
mov edx, edi
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, edx
setg cl
imul eax, ecx, 0x13e9
test eax, eax
jne 0x429104
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x40]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0xf8]
dec ecx
neg ecx
sbb ecx, ecx
inc ecx
add eax, ecx
imul eax, eax, 0xffff
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x40]
cmp dword [ebp - 8], ebx
jne 0x42914c
mov edx, ebx
cmp dword [ebp - 0x4c], ebx
je 0x42914e
mov edx, edi
mov eax, dword [ebp - 0x6c]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x6c]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
setle dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 8]
sete bl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x40]
cmp ebx, eax
setl cl
xor ebx, ebx
cmp ecx, 0x4000
jge 0x429190
cmp dword [ebp - 0x40], ebx
jne 0x429190
mov eax, ebx
cmp dword [ebp - 4], ebx
je 0x429192
mov eax, edi
xor ecx, ecx
add eax, 0xf4fa7f9c
cmp eax, 0x2f1
mov eax, dword [ebp - 0x4c]
push 3
setg cl
sub eax, ecx
xor ecx, ecx
cmp eax, 2
pop edx
setge cl
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 4], 0xffffffe4
jmp 0x4291d0
mov dword [ebp - 0x20], 0xb361f3d4
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
inc dword [ebp - 4]
cmp dword [ebp - 4], 0xfffffffb
je 0x4291bd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x11
jl 0x42905c
dec dword [ebp - 8]
jns 0x429007
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0xb
jne 0x428fe6
mov edi, dword [ebp - 0x38]
push 2
pop ecx
test edi, edi
jle 0x4293a9
jmp 0x42920e
push 2
xor ebx, ebx
pop ecx
mov dword [ebp - 4], 0xa4f833fc
mov dword [ebp - 4], ebx
jmp 0x42922b
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x108], 1
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x42921a
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], ebx
jl 0x429249
mov eax, dword [ebp - 4]
cmp dword [ebp + eax*4 - 0x108], ebx
jne 0x429249
dec dword [ebp - 4]
jns 0x429238
mov byte [ebp - 9], bl
cmp byte [ebp - 9], 0
je 0x42925d
push 0x1654
call dword [sym.imp.KERNEL32.dll_IsProcessorFeaturePresent]
mov ebx, dword [esi]
xor ecx, ecx
mov edi, dword [esi + 4]
add esi, 8
mov dword [ebp - 4], 0xc04e
mov dword [ebp - 0x18], 0xd5fa
mov dword [ebp - 0x1c], 0xfffffff8
mov dword [ebp - 0x24], 1
mov dword [ebp - 4], 0x2061f665
cmp dword [ebp - 4], ecx
jne 0x4292be
mov ecx, dword [ebp - 4]
xor edx, edx
mov eax, dword [ebp - 4]
sub ecx, 0x4990069f
cmp ecx, eax
setge dl
sub edx, dword [ebp - 4]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 4]
test eax, eax
jne 0x4292be
mov eax, ecx
jmp 0x4292c1
xor eax, eax
inc eax
cmp eax, dword [ebp - 0x1c]
jg 0x429337
mov dword [ebp - 4], 0x2278213
mov byte [ebp - 9], cl
cmp byte [ebp - 9], 0
je 0x4292f3
push ecx
push 0x252b
push 0x1b7a
push ecx
push 0xb6
push 0x1dc8
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ecx, dword [ebp - 4]
xor edx, edx
mov eax, dword [ebp - 4]
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 4]
setl dl
sub eax, edx
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0xffffffff
mov eax, dword [ebp - 4]
setne cl
xor edx, edx
cmp eax, ecx
mov eax, 0xe5a9864b
setg dl
sub edx, 0xdd972c40
neg edx
sbb edx, edx
inc edx
cmp eax, edx
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
jmp 0x429348
mov byte [ebp - 9], cl
cmp byte [ebp - 9], 0
je 0x42934a
push ecx
push ecx
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
xor ecx, ecx
test edi, edi
jne 0x429351
add esi, 8
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], ecx
jmp 0x42936d
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x140], ecx
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x429360
xor edi, edi
mov dword [ebp - 4], ecx
inc edi
jmp 0x429396
mov byte [ebp - 9], cl
cmp byte [ebp - 9], 0
je 0x429393
push ecx
push ecx
push 0xb18
call dword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
xor ecx, ecx
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jle 0x42937b
add esi, ebx
dec dword [ebp - 0x38]
push 3
pop edx
jne 0x429209
xor ebx, ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], ebx
jmp 0x4293c1
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x60], 0xe8cff0ea
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x4293b3
mov dword [ebp - 0x60], 0xfffffff3
jmp 0x4293e2
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x4293df
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
dec dword [ebp - 0x60]
cmp dword [ebp - 0x60], 0xffffffe7
jl 0x4293d0
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], 8
jg 0x4294b0
xor edi, edi
inc edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 4], ebx
jmp 0x429459
mov dword [ebp - 0x24], 0x31d2
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x18], 0xffffffff
cmp dword [ebp - 0x5c], ebx
jne 0x42941c
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp eax, ecx
mov eax, dword [ebp - 0x60]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x429456
push edi
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorOwner]
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x17
jg 0x429403
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x4294a3
push 0x1a2
push 0xd8a
push 0x416
push 0x237e
push 0x732
push 0xc09
push 0x108b
push 0xdd7
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_Arc]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 8
jle 0x4293f8
mov edi, dword [esi]
mov dword [ebp - 4], 0x2569
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x24], 0x779a7b44
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], 0x9e885dc1
mov dword [ebp - 0x18], 0x3cf81320
mov dword [ebp - 0x1c], 0x73d5943e
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x20], 0xc698dc50
push 3
mov dword [ebp - 0x1c], 0x277ed46
mov dword [ebp - 8], ebx
pop edx
jmp 0x429510
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xd0], 6
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x4294ff
xor ecx, ecx
mov dword [ebp - 8], ebx
inc ecx
cmp dword [ebp - 8], edx
jge 0x42952f
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x138], ecx
inc dword [ebp - 8]
jmp 0x42951b
mov dword [ebp - 8], ebx
jmp 0x429545
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x12c], 0xfffffffd
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x429534
mov eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
dec dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x18]
jl 0x4295b6
cmp dword [ebp - 0x14], ebx
jne 0x4295b0
mov eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x10]
jne 0x42957d
mov eax, ecx
cmp dword [ebp - 0x14], ebx
jne 0x42957f
mov eax, ebx
mov dword [ebp - 0xc8], 0x786c
mov dword [ebp - 0x134], eax
add eax, 0x786c
cmp eax, 0x5534fd39
jge 0x4295a5
mov eax, ecx
cmp dword [ebp - 0xd0], ebx
jne 0x4295a7
mov eax, ebx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
xor edx, edx
mov eax, dword [ebp - 0xd0]
mov eax, dword [ebp - 0x38]
cmp eax, ecx
setg dl
xor ecx, ecx
imul edx, dword [ebp - 0x34]
sub edx, dword [ebp - 0x38]
mov eax, dword [ebp - 4]
cmp edx, eax
mov eax, dword [ebp - 4]
setge cl
xor edx, edx
cmp ecx, eax
setge dl
sub edx, 0x7efbae54
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
imul edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setge cl
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x12c], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x1c], 0x5e314a5e
mov dword [ebp - 0x34], eax
mov dword [ebp - 4], ebx
jmp 0x429632
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x9c], 0xfffffffa
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x429621
xor ecx, ecx
cmp dword [ebp - 0x9c], ebx
je 0x42967a
inc ecx
mov dword [ebp - 4], 6
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], ebx
jl 0x4296a2
mov eax, dword [ebp - 4]
cmp dword [ebp + eax*4 - 0x9c], ebx
jne 0x42969f
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x429673
push 0xc49
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
dec dword [ebp - 4]
jns 0x429652
jmp 0x42969f
mov dword [ebp - 0x1c], 0xc9214a9b
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, 8
setl cl
sub ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
inc ecx
mov dword [ebp - 4], 0x76ff
mov dword [ebp - 0x18], 0x1e6e4042
mov dword [ebp - 0x14], 0xb9ba5e0b
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x10], ebx
jmp 0x4296d4
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x50], 0xfffffff8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x4296c6
mov dword [ebp - 0x10], ebx
jmp 0x4296e8
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x78], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x4296de
cmp dword [ebp - 4], ebx
je 0x4296f8
mov dword [ebp - 0x74], ecx
jmp 0x429702
mov dword [ebp - 0x74], ebx
mov eax, ebx
cmp dword [ebp - 0x74], ebx
je 0x429704
mov eax, ecx
xor edx, edx
cmp eax, 0x67f5
mov eax, dword [ebp - 0x50]
sete dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], ebx
je 0x429725
xor edx, edx
inc edx
jmp 0x429727
mov edx, ebx
mov eax, dword [ebp - 0x50]
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [ebp - 0x14], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x78]
cmp eax, 0x1a812c00
mov eax, dword [ebp - 4]
setle cl
imul eax, ecx
test eax, eax
je 0x42974e
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x50]
xor edx, edx
mov eax, dword [ebp - 4]
cmp ecx, eax
mov eax, dword [ebp - 4]
setle dl
xor ebx, ebx
neg edx
cmp edx, eax
setg bl
sub ebx, dword [ebp - 0x50]
neg ebx
sbb ebx, ebx
xor ecx, ecx
inc ebx
mov dword [ebp - 0x50], ebx
mov eax, dword [ebp - 4]
cmp ebx, eax
mov eax, dword [ebp - 4]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 4]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, 0xe1c
setne cl
xor edx, edx
cmp ecx, 0x61c0f806
setl dl
sub eax, edx
add eax, dword [ebp - 4]
xor ebx, ebx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], ebx
jmp 0x4297c2
mov dword [ebp - 0x1c], 0xfffffff9
inc dword [ebp - 0x1c]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff7
jne 0x4297b5
cmp dword [ebp - 0x34], ebx
jne 0x4298b4
cmp byte [ebp - 0x25], bl
je 0x4297e5
cmp dword [ebp - 0x30], 1
jne 0x4297e5
mov ecx, dword [ebp + 8]
lea eax, [edi + 0x10]
add dword [ecx + 8], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0xc]
add esi, 0x10
push edi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], esi
call fcn.00469c92
pop ecx
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x94]
lea eax, [ebp - 0xb4]
mov dword [ebp - 0xb4], ebx
push eax
push edi
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x8c], ebx
call fcn.0045122c
mov esi, dword [ebp - 0x94]
mov ecx, ebx
test edi, edi
jle 0x42988c
mov ebx, dword [ebp - 0x1c]
mov eax, ecx
and eax, 0x80000001
jns 0x429849
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x30]
add eax, ecx
add eax, dword [ebp - 0x30]
imul eax, dword [ebp - 0x18]
cdq
idiv edi
xor eax, eax
cmp word [esi + edx*2], ax
je 0x429875
xor ebx, ebx
lea eax, [edx + 1]
cdq
idiv edi
cmp word [esi + edx*2], bx
jne 0x429866
mov ebx, dword [ebp - 0x1c]
xor eax, eax
inc eax
mov word [esi + edx*2], ax
mov al, byte [edx + ebx]
mov edx, dword [ebp - 0x24]
mov byte [ecx + edx], al
inc ecx
cmp ecx, edi
jl 0x42983b
xor ebx, ebx
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x24]
mov dword [ecx], edi
mov dword [ecx + 4], eax
test esi, esi
je 0x4298b7
push esi
call fcn.0046b186
pop ecx
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x8c], ebx
mov ecx, dword [ebp + 8]
mov dword [ebp + 8], ebx
mov dword [ebp + 8], ebx
jmp 0x4298da
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], ebx
jne 0x4298d7
mov dword [ebp - 0x30], ebx
cmp dword [ebp - 0x30], ebx
jne 0x4298d7
inc dword [ebp - 0x20]
je 0x4298ca
inc dword [ebp + 8]
cmp dword [ebp + 8], 0xa
jne 0x4298bf
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret