Function at 0x430e5c
Capabilities:
Modify service

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
push ebx
mov dword [ebp - 0x28], 9
mov ebx, edx
mov dword [ebp - 0x28], 0x2971c1e
push esi
or esi, 0xffffffff
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x28], esi
push edi
mov edi, ecx
mov dword [ebp - 0x28], esi
xor ecx, ecx
mov dword [ebp - 0x1c], 0xf75d
mov dword [ebp - 8], ecx
jmp 0x430e9e
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x30], ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], 1
jl 0x430e94
mov dword [ebp - 8], ecx
jmp 0x430eb7
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x38], 0xac54c975
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x430ea9
mov byte [ebp - 1], cl
cmp byte [ebp - 1], cl
je 0x430ee4
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push 0x1cc8
push 0x7d9
push 0x6fc
push ecx
call dword [sym.imp.ADVAPI32.dll_ChangeServiceConfigW]
xor ecx, ecx
inc dword [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x67e307b5
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x18], esi
push 3
call fcn.0041257d
mov dword [ebp - 0x20], 0xfe831e34
xor esi, esi
mov dword [ebp - 0x14], 0xeeff
xor edx, edx
mov dword [ebp - 0x24], 0x73439d6f
inc edx
mov dword [ebp - 8], esi
jmp 0x430f27
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xc], edx
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x430f1d
mov dword [ebp - 8], esi
jmp 0x430f3f
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x10], 0x4dde9ab
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x430f31
mov dword [ebp - 8], esi
jmp 0x430f55
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x50]
mov dword [eax + ecx*4], esi
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x430f49
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
inc dword [ebp - 0x10]
cmp eax, ecx
mov eax, edx
cmovl eax, esi
cmp dword [ebp - 0x1c], esi
je 0x430f75
cmp dword [ebp - 0xc], esi
jne 0x430f77
mov edx, esi
imul eax, eax, 0xfbe5
xor ecx, ecx
cmp eax, 0x9968
setl cl
xor eax, eax
cmp edx, 0xcd9796a
sete al
sub ecx, eax
mov eax, 0xfffb
cmp eax, ecx
mov eax, dword [ebp - 0xc]
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x20], esi
je 0x43102b
mov dword [ebp - 0x18], 0x33e235bd
xor ecx, ecx
mov dword [ebp - 0x14], 0xf9d9
mov dword [ebp - 8], 0x714a8a5a
mov dword [ebp - 8], esi
mov dword [ebp - 0x2c], 4
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x50]
cmp dword [eax], esi
setge cl
cmp dword [ebp - 0xc], ecx
jge 0x431018
cmp dword [ebp - 0x14], esi
je 0x431018
xor eax, eax
inc eax
jmp 0x43101a
mov eax, esi
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 8], eax
inc dword [ebp - 0x24]
jmp 0x4310ca
mov dword [ebp - 0x1c], 0x7bd5
lea ecx, [ebp - 0x44]
mov dword [ebp - 8], esi
push 2
call fcn.0041257d
mov dword [ebp - 8], esi
jmp 0x431054
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x44]
mov dword [eax + ecx*4], 0xfffffffa
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x431044
cmp dword [ebp - 0x1c], esi
je 0x431064
xor eax, eax
inc eax
jmp 0x431066
mov eax, esi
mov dword [ebp - 8], eax
mov esi, dword [ebp - 8]
mov ebx, dword [ebp - 0x44]
mov dword [ebp - 0xc], esi
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
sub ecx, eax
mov eax, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, 0xfffffff9
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp esi, ecx
setl al
mov dword [ebx + 4], eax
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x4310b9
mov dword [ebp - 8], eax
cmp dword [ebp - 8], eax
jl 0x4310b6
mov dword [ebx + 4], 0x1f29c70a
dec dword [ebp - 8]
jns 0x4310aa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 5
jg 0x4310a2
lea ecx, [ebp - 0x44]
call fcn.004129c0
mov ebx, dword [ebp - 0x2c]
lea ecx, [ebp - 0x50]
call fcn.004129c0
mov dword [ebp - 0x14], 0x39b6
xor edx, edx
mov dword [ebp - 0x24], 0x39e3cf95
mov dword [ebp - 0x2c], 0x277ebd00
mov byte [ebp - 1], dl
cmp byte [ebp - 1], dl
je 0x4310ff
push 0x338
push edx
call dword [sym.imp.KERNEL32.dll_EnumSystemLocalesW]
xor edx, edx
cmp dword [ebp - 0x14], edx
je 0x431172
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], 0xc01e6e2b
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x24], eax
jle 0x431125
cmp dword [ebp - 0x20], edx
jne 0x431125
mov ecx, edx
jmp 0x431128
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
inc eax
imul eax, ecx
test eax, eax
je 0x43114a
cmp dword [ebp - 0x2c], edx
je 0x43114a
xor ecx, ecx
inc ecx
jmp 0x43114c
mov ecx, edx
xor eax, eax
cmp ecx, 0xde9a
setle al
xor edx, edx
cmp eax, 0xfffffff7
setle dl
xor ecx, ecx
imul edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setg cl
mov dword [ebp - 0x28], ecx
jmp 0x431187
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x431189
push edx
push 0xf06
call dword [sym.imp.GDI32.dll_SetTextColor]
xor edx, edx
mov dword [edi], edx
xor edx, edx
inc edx
jmp 0x431199
mov ecx, dword [edi]
mov eax, dword [ebx]
mov dword [eax + ecx*4], edx
inc dword [edi]
cmp dword [edi], edx
jl 0x431190
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret