Function at 0x4328cc
Capabilities:
Modify service

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb4
push ebx
push esi
push edi
push 1
mov dword [ebp - 0x10], 0x53b26bdd
mov dword [ebp - 0x14], 0xffffffff
pop edi
mov dword [ebp - 0x10], 0
cmp dword [ebp - 0x10], 2
push 3
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], ecx
pop esi
je 0x432a16
push edi
lea ecx, [ebp - 0x2c]
call fcn.00421789
mov dword [ebp - 0xc], 0x8f4a8fe2
lea ecx, [ebp - 0x54]
push esi
call fcn.00421789
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x432933
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + edx*4], 0xfff8
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x432923
mov dword [ebp - 4], eax
jmp 0x432949
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x54]
mov dword [ecx + edx*4], eax
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x43293d
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x2c]
cmp dword [ecx], edi
setne dl
imul ecx, edx, 0xf23e
test ecx, ecx
jne 0x43296f
mov esi, eax
cmp dword [ebp - 0x10], eax
je 0x432971
mov esi, edi
mov ecx, dword [ebp - 0x2c]
xor edx, edx
cmp esi, dword [ecx]
setl dl
cmp edx, dword [ebp - 0x10]
jne 0x432996
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 4], 0xef4a0426
mov ecx, dword [ecx]
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 4], eax
je 0x43299d
jmp 0x4329f6
mov dword [ebp - 0x14], 0xffffffff
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
imul ecx, dword [ebp - 0x10], 0xffff25e7
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
add ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setle dl
xor ecx, ecx
cmp edx, dword [eax]
setl cl
mov dword [ebp - 0xc], ecx
xor ecx, ecx
mov eax, dword [ebp - 0xc]
imul eax, dword [ebp - 0x14]
cmp eax, 0xfa48
setge cl
xor edx, edx
cmp ecx, 7
sete dl
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x54]
neg edx
sbb edx, edx
inc edx
mov dword [eax], edx
lea ecx, [ebp - 0x54]
call fcn.00421a31
lea ecx, [ebp - 0x2c]
call fcn.00421a31
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
push 3
pop esi
jne 0x432903
mov dword [ebp - 0xc], 0x1824a8c6
mov dword [ebp - 0x14], 0x37b1891f
mov dword [ebp - 0xc], 0xfffffff3
jmp 0x432a36
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffff1
jne 0x432a2d
mov byte [ebp - 5], 0
cmp byte [ebp - 5], 0
je 0x432a4c
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push 0xfffffffffffffffe
pop ebx
mov dword [ebp - 0x10], ebx
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x14], 6
mov dword [ebp - 4], 0x6673e7ed
mov dword [ebp - 0xc], 0xf5a8b060
push edi
call fcn.00421789
xor eax, eax
mov dword [ebp - 0x20], 0x55069097
mov dword [ebp - 4], eax
jmp 0x432a8e
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x64]
mov dword [ecx + edx*4], 0xfffffffb
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x432a7e
mov dword [ebp - 4], eax
jmp 0x432aa9
mov ecx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0xa0], 0x69fdb81f
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x432a98
mov ecx, dword [ebp - 0x10]
sub ecx, ebx
neg ecx
sbb ecx, ecx
xor ebx, ebx
inc ecx
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
cmp ecx, edx
mov ecx, dword [ebp - 0x10]
setl bl
neg ebx
sub ebx, 0x6e87
neg ebx
sbb ebx, ebx
sub ecx, dword [ebp - 0x10]
inc ebx
neg ecx
sbb ecx, ecx
inc ecx
cmp ebx, ecx
jl 0x432aec
mov ecx, eax
cmp dword [ebp - 0x14], eax
je 0x432aee
mov ecx, edi
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], eax
je 0x432b52
push dword [ebp + 8]
movdqa xmm0, xmmword [0xaaccf0]
lea ecx, [ebp - 0x64]
push ecx
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x48], eax
push ecx
push eax
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x44], eax
movdqu xmmword [ebp - 0x74], xmm0
mov dword [ebp - 0x40], eax
call fcn.00421d7b
mov dword [ebp - 0x14], 0x93c1de6f
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x432b40
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0xc]
sub eax, 0xf7e4
je 0x432b42
mov eax, edi
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x14], eax
call fcn.00421a31
jmp 0x432bdb
mov dword [ebp - 0x18], 0xcd9796a0
mov dword [ebp - 4], eax
jmp 0x432b6f
mov ecx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0xb0], 0x3c47aa29
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x432b5e
mov dword [ebp - 0x10], esi
jmp 0x432bd5
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 4], 0x9f2b7826
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x432b9b
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
xor eax, eax
mov ecx, dword [ebp - 0xc]
xor edx, edx
cmp ecx, edi
mov ecx, dword [ebp - 0x14]
setge dl
xor ebx, ebx
cmp edx, ecx
setle bl
sub ebx, 0xe1c2
neg ebx
sbb ebx, ebx
inc ebx
cmp dword [ebp - 0x18], 0x9785734c
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, ebx
setl dl
imul edx, dword [ebp - 0x10]
mov dword [ebp - 4], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 7
je 0x432b7a
xor eax, eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], eax
jl 0x432c29
mov dword [ebp - 0x14], 0xffff
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], eax
jl 0x432c21
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x432c1c
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x1b26
push 0x12ae
push 0x23ab
push eax
call dword [sym.imp.ADVAPI32.dll_ChangeServiceConfigW]
xor eax, eax
dec dword [ebp - 0xc]
jns 0x432bf4
dec dword [ebp - 0x14]
dec dword [ebp - 4]
jns 0x432be5
lea ecx, [ebp - 0x64]
call fcn.00421a31
xor eax, eax
mov dword [ebp - 4], 0x928c176b
mov dword [ebp - 4], eax
jmp 0x432cdf
mov dword [ebp - 0x10], eax
jmp 0x432c54
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x90], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x432c47
mov dword [ebp - 0x10], eax
jmp 0x432c6d
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x1c], 0xfffffffd
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x432c5f
mov dword [ebp - 0x10], eax
jmp 0x432c85
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x80], 0xf82baef6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x432c77
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x1c], eax
jl 0x432cdc
mov dword [ebp - 0xc], 0x4bc662a2
mov dword [ebp - 0xc], esi
cmp dword [ebp - 0xc], eax
jl 0x432cc5
mov dword [ebp - 0x18], 0xfffffffc
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + ecx*4 - 0x90], eax
je 0x432cba
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x80], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], edi
dec dword [ebp - 0xc]
jns 0x432ca1
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x432cd7
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
xor eax, eax
dec dword [ebp - 0x1c]
jns 0x432c92
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x1d
jle 0x432c42
mov dword [ebp - 4], eax
mov dword [ebp - 4], eax
jmp 0x432d53
mov dword [ebp - 0xc], 0xb96ca2cb
mov dword [ebp - 0x18], 0xd705
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], 0xf
jmp 0x432d4a
mov dword [ebp - 0x14], 2
xor ebx, ebx
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
cmp edx, ecx
setle bl
xor ecx, ecx
cmp ebx, 0xffffffff
setne cl
xor edx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 4]
cmp dword [ebp - 0x14], ecx
setl dl
mov dword [ebp - 0x14], edx
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffffb
jge 0x432d0b
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x10
je 0x432cf1
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x432d70
push eax
push 0x268f
call dword [sym.imp.USER32.dll_SetWindowTextW]
xor eax, eax
mov dword [ebp - 4], 0x45d811f0
mov dword [ebp - 0x10], 0xfffd
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x14], 0xfffffffc
mov dword [ebp - 0xc], 0xdbfe
mov dword [ebp - 0xc], eax
jmp 0x432dad
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x34], 0xfffffff6
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x432d9f
cmp dword [ebp - 4], eax
je 0x432dc1
mov dword [ebp - 0x34], edi
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
sub edx, ecx
sub edx, dword [ebp - 0x10]
neg edx
sbb edx, edx
inc edx
imul ecx, edx, 0xfbc3
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0xc], 0x4e064826
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x432e15
push eax
push eax
call dword [sym.imp.USER32.dll_LoadCursorA]
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x432e2f
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x432e2c
push eax
call dword [sym.imp.KERNEL32.dll_GetThreadPriority]
xor eax, eax
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffffd
jle 0x432e1a
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], eax
jmp 0x432e4b
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x58], 0xffff
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x432e3d
mov dword [ebp - 4], eax
cmp dword [ebp - 4], eax
jl 0x432e73
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x432e6e
push 0x1cb8
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
xor eax, eax
dec dword [ebp - 4]
jns 0x432e58
mov dword [ebp - 4], eax
jmp 0x432eac
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], eax
jl 0x432ea9
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x432ea4
push 0x1dfa
push eax
push eax
push 0xe9c
call dword [sym.imp.USER32.dll_SetWindowsHookExA]
xor eax, eax
dec dword [ebp - 0xc]
jns 0x432e87
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xffffffed
jge 0x432e78
mov esi, dword [ebp + 8]
xor ebx, ebx
mov edi, dword [ebp + 0x10]
mov eax, dword [esi]
mov ecx, dword [esi]
mov eax, dword [edi]
cmp ecx, eax
mov ecx, dword [ebp + 0x18]
setg bl
mov eax, dword [ecx]
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax]
mov dword [eax + 4], 2
mov eax, dword [edi]
dec dword [ecx]
xor ecx, ecx
mov eax, dword [esi]
add eax, dword [esi]
cmp eax, 0x3d59
mov eax, dword [esi]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [edi]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp + 0x14]
setle cl
mov dword [eax], ecx
xor ecx, ecx
mov eax, dword [eax]
cmp eax, 0xfff8
mov eax, dword [edi]
setne cl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [ebp - 0x3c]
setne dl
sub edx, eax
mov eax, dword [ebp + 0xc]
mov dword [eax], edx
xor edx, edx
mov eax, dword [eax]
mov dword [ecx], eax
mov ecx, dword [ecx]
mov eax, dword [esi]
cmp ecx, eax
mov eax, dword [edi]
mov ecx, dword [ebp - 0x38]
setge dl
sub edx, eax
mov eax, dword [edi]
pop edi
add eax, edx
pop esi
mov dword [ecx], eax
pop ebx
mov esp, ebp
pop ebp
ret