Function at 0x10016f47
Capabilities:
Modify service

Disassembly:
mov eax, 0x1005613b
call fcn.1005557c
sub esp, 0x94
cmp byte [ebp + 0xc], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x58], ecx
je 0x10016f84
mov eax, dword [ebp + 0x24]
cmp byte [eax], 0
je 0x100173b5
push 0x1d68
push 0
call dword [sym.imp.USER32.dll_CharLowerBuffW]
jmp 0x100173b5
mov esi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x18], 0x1b18d408
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
je 0x10016fcd
mov eax, 0xe6e83846
xor edx, edx
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
inc dword [ebp - 0x68]
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
cmp ecx, eax
setle dl
xor edi, edi
sub edx, 0x54a6cbdf
inc edi
jmp 0x10017052
mov dword [ebp - 0x14], 0x5546
xor edi, edi
mov dword [ebp - 0x1c], 0xa2ca335c
inc edi
mov dword [ebp - 0x1c], 0xd2a7e9f2
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x14], ebx
je 0x10016ff3
mov dword [ebp - 0x20], edi
mov eax, dword [ebp - 0x14]
mov ecx, 0x92085949
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
sbb ecx, ecx
xor eax, eax
neg ecx
sub ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x14]
cmp ecx, 0xdd75
setg al
xor ecx, ecx
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
add edx, 2
cmp edx, eax
setne cl
add ecx, dword [ebp - 0x20]
cmp dword [ebp - 0x14], ecx
je 0x10017040
mov eax, edi
cmp dword [ebp - 0x18], ebx
jne 0x10017042
mov eax, ebx
mov dword [ebp - 0x1c], eax
xor edx, edx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setg dl
mov al, byte [esi]
mov dword [ebp - 0x18], edx
mov byte [ebp - 0x21], al
mov dword [ebp - 0x3c], 0x4168
cmp dword [ebp - 0x3c], 0x41c6
jle 0x100170cf
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x1206
push 0x1e3f
push 0x27b
push ebx
call dword [sym.imp.ADVAPI32.dll_ChangeServiceConfigW]
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x1c], ebx
mov edi, ebx
mov ecx, eax
mov ebx, esi
shl ebx, cl
mov ecx, edi
mov eax, ebx
shl eax, cl
mov ecx, 0x1006f688
cdq
push edx
push eax
call fcn.10002383
inc edi
cmp edi, 0x4dfe
jl 0x10017096
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
push 0
pop ebx
cmp eax, 0x4bba
jl 0x1001708e
inc esi
cmp esi, 0x2d5c
jl 0x10017089
xor edi, edi
inc edi
mov dword [ebp - 0x4c], 0xa48bbca6
mov dword [ebp - 0x18], 0x4b9c
cmp dword [ebp - 0x18], 0x4d16
jle 0x10017151
mov esi, ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x28], ebx
mov eax, esi
mov dword [ebp - 0x20], 0x4fe4
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
cdq
lea ecx, [ebp - 0xa0]
push edx
push eax
call fcn.100042e3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10017115
mov eax, dword [eax]
push eax
call fcn.10039f30
pop ecx
push ebx
push edi
lea ecx, [ebp - 0xa0]
call fcn.10002764
mov eax, dword [ebp - 0x1c]
add eax, esi
dec dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jne 0x100170fd
dec esi
mov dword [ebp - 0x28], esi
cmp esi, 0xffffd826
mov esi, dword [ebp - 0x14]
jg 0x100170ee
inc esi
mov dword [ebp - 0x14], esi
cmp esi, 0x5a9f
jl 0x100170eb
mov dword [ebp - 0x5c], 0xfffffffb
cmp dword [ebp - 0x18], 0x480d
jge 0x1001716c
push str.qjez_dumt_mjqtamme_hla_cws_hfenzebj_rcq
call fcn.10039f30
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x34], 0xfffffff7
push 3
mov dword [ebp - 0x34], ebx
pop ecx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x34], 0x733582f8
mov dword [ebp - 0x14], ebx
jmp 0x1001719d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x88], 0x707dfe4d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1001718c
lea eax, [ebp - 0x4c]
mov edx, 0x3099
push eax
lea eax, [ebp - 0x5c]
xor cl, cl
push eax
call fcn.10017854
pop ecx
pop ecx
push 0x16a9
push 0x31bf
lea eax, [ebp - 0x50]
push eax
push 0x1b76
push ecx
xor cl, cl
call fcn.10017fd8
add esp, 0x14
mov dword [ebp - 4], 2
cmp dword [ebp - 0x3c], 0x3ed6
jge 0x100171f5
mov edx, str.ajyt_pajosk_hyzmxva_zkjeodnw_elnssurx_yabudeh_pjkir_jhywu_xxhd_xsyxdyk_srd_rdc
mov ecx, 0x1006f688
call fcn.10003d52
or dword [ebp - 4], 0xffffffff
push ecx
lea eax, [ebp - 0x48]
mov edx, 0x4a96
push eax
push ecx
push ebx
push ecx
push ecx
lea ecx, [ebp - 0x21]
call fcn.10016dca
mov esi, dword [ebp - 0x48]
add esp, 0x18
mov dl, 0x30
mov cl, byte [esi]
call fcn.100201d8
mov byte [esi], al
mov dword [ebp - 0x14], 0x7834d8a9
mov dword [ebp - 0x3c], 3
mov dword [ebp - 0x14], ebx
jmp 0x10017266
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x44], 5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10017258
mov dword [ebp - 0x44], ebx
jmp 0x100172b0
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x30], 0xfe01bd97
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10017271
mov dword [ebp - 0x30], ebx
jmp 0x100172a7
mov dword [ebp - 0x54], 0xffffffff
lea ecx, [ebp - 0x54]
call fcn.10016e1f
xor dl, dl
mov ecx, 0x491f
call fcn.1001a150
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xf
jl 0x10017289
dec dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xffffffe8
mov dword [ebp - 0x14], ebx
jne 0x1001727f
jmp 0x100173a3
mov dword [ebp - 0x20], 0xb24ce554
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x100172df
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x7c], 0x46c38250
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x100172d1
mov dword [ebp - 0x18], ebx
jmp 0x100172f4
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x38], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x100172ea
mov dword [ebp - 0x20], ebx
jmp 0x10017396
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x18], ebx
jmp 0x1001738b
mov dword [ebp - 0x1c], 9
dec dword [ebp - 0x38]
mov dword [ebp - 0x1c], edi
cmp dword [ebp - 0x1c], ebx
jl 0x10017388
mov dword [ebp - 0x28], ebx
jmp 0x10017335
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x70], 0xccce
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x10017327
mov byte [ebp - 0x29], bl
lea ecx, [ebp - 0x29]
push 0x1c5c
xor dl, dl
call fcn.100178ac
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x18]
pop ecx
mov eax, dword [ebp + eax*4 - 0x44]
mov esi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
dec esi
neg esi
sbb esi, esi
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x44]
inc esi
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setl dl
sub esi, eax
sub edx, esi
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x70], edx
dec dword [ebp - 0x1c]
jns 0x10017322
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jle 0x10017310
mov eax, dword [ebp - 0x38]
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff7
je 0x10017301
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xd
jg 0x100172be
mov ecx, dword [ebp - 0x58]
mov al, byte [ebp - 0x21]
mov byte [ecx], al
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret