Function at 0x1006c860
Capabilities:
Enumerate services

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101dff58
mov eax, dword fs:[0]
push eax
sub esp, 0x80
mov eax, dword [0x1026ebc4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 4
push 0
push 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x7c], 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov esi, eax
mov dword [ebp - 0x78], esi
test esi, esi
jne 0x1006c8dc
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Failed_to_open_service_control_manager.
call fcn.100522d0
push 0x100524f0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea eax, [esi + 1]
jmp 0x1006d4d9
mov edi, dword [sym.imp.ADVAPI32.dll_EnumServicesStatusA]
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x70]
push eax
push 0
push 0
push 3
push 0x3ff
push esi
call edi
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0xea
je 0x1006c937
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Failed_to_retrieve_service_information.
call fcn.100522d0
push 0x100524f0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push esi
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov eax, 1
jmp 0x1006d4d9
mov esi, dword [ebp - 0x70]
xor eax, eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], eax
test esi, esi
je 0x1006c9cb
cmp esi, 0x7fffffff
ja 0x1006d4f4
cmp esi, 0x1000
jb 0x1006c993
lea eax, [esi + 0x23]
cmp eax, esi
jbe 0x1006d4f9
push eax
call fcn.101d9536
add esp, 4
test eax, eax
je 0x1006d4c7
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [ebp - 0x6c], ecx
mov dword [ecx - 4], eax
jmp 0x1006c9a1
push esi
call fcn.101d9536
add esp, 4
mov dword [ebp - 0x6c], eax
mov ecx, eax
push esi
lea eax, [ecx + esi]
mov dword [ebp - 0x8c], ecx
push 0
push ecx
mov dword [ebp - 0x84], eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [ebp - 0x84]
add esp, 0xc
mov esi, dword [ebp - 0x70]
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x7c]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x70]
push eax
push esi
mov esi, dword [ebp - 0x6c]
push esi
push 1
push 0x3ff
push dword [ebp - 0x78]
call edi
test eax, eax
jne 0x1006ca23
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Failed_to_retrieve_service_information.
call fcn.100522d0
push 0x100524f0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push dword [ebp - 0x78]
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov esi, 1
jmp 0x1006d49e
xor ecx, ecx
mov dword [ebp - 0x80], ecx
cmp dword [ebp - 0x74], ecx
jbe 0x1006d493
lea eax, [ecx + ecx*8]
mov dword [ebp - 0x30], 0
mov edx, dword [esi + eax*4]
lea esi, [esi + eax*4]
mov ecx, edx
mov dword [ebp - 0x2c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x40], xmm0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1006ca54
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x40]
call fcn.10052900
mov byte [ebp - 4], 1
xorps xmm0, xmm0
mov edx, dword [esi]
mov ecx, edx
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1006ca87
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x28]
call fcn.10052900
mov byte [ebp - 4], 2
mov eax, bind
mov ecx, dword [ebp - 0x30]
sub eax, ecx
cmp eax, 0x22
jb 0x1006d4fe
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
push ecx
cmovae eax, dword [ebp - 0x40]
push eax
push 0x22
push str.SYSTEMCurrentControlSetServices_
push ecx
push dword [ebp - 0x64]
lea ecx, [ebp - 0x58]
call fcn.10052ee0
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x1006cb05
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006cafb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006d4c7
push ecx
push edx
call fcn.101d999a
add esp, 8
movups xmm0, xmmword [ebp - 0x58]
sub esp, 0x18
lea eax, [ebp - 0x40]
mov ecx, esp
movups xmmword [ebp - 0x40], xmm0
movq xmm0, qword [ebp - 0x48]
push eax
movq qword [ebp - 0x30], xmm0
call fcn.1004ee20
lea ecx, [ebp - 0x58]
call fcn.1006c410
add esp, 0x18
mov ecx, 0x10270258
push eax
call fcn.10050d10
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x1006cb6f
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006cb65
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006d4c7
push ecx
push edx
call fcn.101d999a
add esp, 8
cmp dword [0x1027026c], 0x10
mov edi, 0x10270258
mov esi, dword [0x10270258]
mov edx, 0x10270258
mov eax, dword [0x10270268]
setae cl
cmovae edi, esi
test cl, cl
je 0x1006cb99
add eax, esi
jmp 0x1006cba0
add eax, edx
mov esi, 0x10270258
mov dword [ebp - 0x60], eax
cmp esi, eax
je 0x1006cbc6
sub edi, esi
nop dword [eax]
movsx eax, byte [esi]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov byte [edi + esi], al
add esp, 4
inc esi
cmp esi, dword [ebp - 0x60]
jne 0x1006cbb0
cmp dword [ebp - 0x14], 0x10
lea edi, [ebp - 0x28]
mov esi, dword [ebp - 0x28]
lea edx, [ebp - 0x28]
mov eax, dword [ebp - 0x18]
setae cl
cmovae edi, esi
test cl, cl
je 0x1006cbe4
add eax, esi
jmp 0x1006cbe9
add eax, edx
lea esi, [ebp - 0x28]
mov dword [ebp - 0x60], eax
cmp esi, eax
je 0x1006cc08
sub edi, esi
movsx eax, byte [esi]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov byte [edi + esi], al
add esp, 4
inc esi
cmp esi, dword [ebp - 0x60]
jne 0x1006cbf2
sub esp, 0x18
mov ecx, esp
push 0x10270258
call fcn.1004ee20
call fcn.1006c660
add esp, 0x18
cmp eax, 0x32c8
jge 0x1006cc48
sub esp, 0x18
mov ecx, esp
push 0x10270258
call fcn.1004ee20
call fcn.1006c660
add esp, 0x18
cmp eax, 0x1388
jg 0x1006d412
cmp dword [0x1027026c], 0x10
mov ecx, 0x10270258
mov esi, dword [0x10270268]
mov edx, esi
mov edi, dword [0x10270258]
setae byte [ebp - 0x59]
push 4
push str.hack
cmovae ecx, edi
push 0
call fcn.100740a0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x1006d412
cmp byte [ebp - 0x59], 0
mov ecx, 0x10270258
push 7
push str.iqvw64e
cmovne ecx, edi
mov edx, esi
push 0
call fcn.100740a0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x1006d412
cmp byte [ebp - 0x59], 0
mov ecx, 0x10270258
push 0xa
push str.cedriver60
cmovne ecx, edi
mov edx, esi
push 0
call fcn.100740a0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x1006d412
cmp byte [ebp - 0x59], 0
mov ecx, 0x10270258
push 7
push str.aow_drv
cmovne ecx, edi
mov edx, esi
push 0
call fcn.100740a0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x1006d412
cmp byte [ebp - 0x59], 0
mov ecx, 0x10270258
push 7
push str.memusvc
cmovne ecx, edi
mov edx, esi
push 0
call fcn.100740a0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x1006d412
cmp byte [ebp - 0x59], 0
mov ecx, 0x10270258
push 0x11
push str.qmemulatorservice
cmovne ecx, edi
mov edx, esi
push 0
call fcn.100740a0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x1006d412
cmp byte [ebp - 0x59], 0
mov ecx, 0x10270258
push 7
push str.tencent
cmovne ecx, edi
mov edx, esi
push 0
call fcn.100740a0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x1006d412
cmp byte [ebp - 0x59], 0
mov ecx, 0x10270258
push 7
push str.unirsdt
cmovne ecx, edi
mov edx, esi
push 0
call fcn.100740a0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x1006d412
cmp byte [ebp - 0x59], 0
mov ecx, 0x10270258
push 0xc
push str.unifairy_x64
cmovne ecx, edi
mov edx, esi
push 0
call fcn.100740a0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x1006d412
cmp byte [ebp - 0x59], 0
mov ecx, 0x10270258
push 8
push str.unifairy
cmovne ecx, edi
mov edx, esi
push 0
call fcn.100740a0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x1006d412
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x28]
mov edi, dword [ebp - 0x28]
cmovae ecx, edi
mov dword [ebp - 0x60], edi
mov edi, dword [ebp - 0x18]
setae al
mov byte [ebp - 0x59], al
mov dword [ebp - 0x64], ecx
cmp edi, 0xa
jb 0x1006cead
lea eax, [edi - 9]
add eax, ecx
mov dword [ebp - 0x68], eax
sub eax, ecx
push eax
push 0x63
push ecx
call sub.VCRUNTIME140.dll_memchr
mov edi, eax
add esp, 0xc
test edi, edi
je 0x1006cea7
nop dword [eax]
mov ecx, edi
mov edx, str.cedriver60
mov esi, 6
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1006ce51
add ecx, 4
add edx, 4
sub esi, 4
jae 0x1006ce40
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x1006ce78
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1006ce78
cmp esi, 0xfffffffe
je 0x1006ce74
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1006ce78
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x1006ce78
xor eax, eax
jmp 0x1006ce7d
sbb eax, eax
or eax, 1
test eax, eax
je 0x1006ce9b
mov eax, dword [ebp - 0x68]
inc edi
sub eax, edi
push eax
push 0x63
push edi
call sub.VCRUNTIME140.dll_memchr
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x1006ce30
jmp 0x1006cea7
sub edi, dword [ebp - 0x64]
cmp edi, 0xffffffff
jne 0x1006d412
mov edi, dword [ebp - 0x18]
mov al, byte [ebp - 0x59]
mov esi, dword [ebp - 0x60]
lea ecx, [ebp - 0x28]
test al, al
cmovne ecx, esi
mov dword [ebp - 0x68], ecx
cmp edi, 7
jb 0x1006cf5a
lea eax, [edi - 6]
add eax, ecx
mov dword [ebp - 0x64], eax
sub eax, ecx
push eax
push 0x61
push ecx
call sub.VCRUNTIME140.dll_memchr
mov esi, eax
add esp, 0xc
test esi, esi
je 0x1006cf54
mov ecx, esi
mov edx, str.aow_drv
mov edi, 3
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1006cefb
add ecx, 4
add edx, 4
or edi, 0xffffffff
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x1006cf22
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1006cf22
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1006cf22
cmp edi, 0xffffffff
je 0x1006cf1e
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x1006cf22
xor eax, eax
jmp 0x1006cf27
sbb eax, eax
or eax, 1
test eax, eax
je 0x1006cf45
mov eax, dword [ebp - 0x64]
inc esi
sub eax, esi
push eax
push 0x61
push esi
call sub.VCRUNTIME140.dll_memchr
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1006cee0
jmp 0x1006cf51
sub esi, dword [ebp - 0x68]
cmp esi, 0xffffffff
jne 0x1006d412
mov edi, dword [ebp - 0x18]
mov al, byte [ebp - 0x59]
mov esi, dword [ebp - 0x60]
test al, al
lea ecx, [ebp - 0x28]
cmovne ecx, esi
mov dword [ebp - 0x68], ecx
cmp edi, 7
jb 0x1006d00a
lea eax, [ecx - 6]
add eax, edi
mov dword [ebp - 0x64], eax
sub eax, ecx
push eax
push 0x6d
push ecx
call sub.VCRUNTIME140.dll_memchr
mov esi, eax
add esp, 0xc
test esi, esi
je 0x1006d004
nop word [eax + eax]
mov ecx, esi
mov edx, str.memusvc
mov edi, 3
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1006cfab
add ecx, 4
add edx, 4
or edi, 0xffffffff
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x1006cfd2
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1006cfd2
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1006cfd2
cmp edi, 0xffffffff
je 0x1006cfce
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x1006cfd2
xor eax, eax
jmp 0x1006cfd7
sbb eax, eax
or eax, 1
test eax, eax
je 0x1006cff5
mov eax, dword [ebp - 0x64]
inc esi
sub eax, esi
push eax
push 0x6d
push esi
call sub.VCRUNTIME140.dll_memchr
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1006cf90
jmp 0x1006d001
sub esi, dword [ebp - 0x68]
cmp esi, 0xffffffff
jne 0x1006d412
mov edi, dword [ebp - 0x18]
mov al, byte [ebp - 0x59]
mov esi, dword [ebp - 0x60]
test al, al
lea ecx, [ebp - 0x28]
cmovne ecx, esi
mov dword [ebp - 0x68], ecx
cmp edi, 0x11
jb 0x1006d0c0
lea eax, [edi - 0x10]
add eax, ecx
mov dword [ebp - 0x64], eax
sub eax, ecx
push eax
push 0x71
push ecx
call sub.VCRUNTIME140.dll_memchr
mov edi, eax
add esp, 0xc
test edi, edi
je 0x1006d0ba
nop
mov ecx, edi
mov edx, str.qmemulatorservice
mov esi, 0xd
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1006d061
add ecx, 4
add edx, 4
sub esi, 4
jae 0x1006d050
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x1006d088
cmp esi, 0xfffffffd
je 0x1006d084
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1006d088
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1006d088
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x1006d088
xor eax, eax
jmp 0x1006d08d
sbb eax, eax
or eax, 1
test eax, eax
je 0x1006d0ab
mov eax, dword [ebp - 0x64]
inc edi
sub eax, edi
push eax
push 0x71
push edi
call sub.VCRUNTIME140.dll_memchr
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x1006d040
jmp 0x1006d0b7
sub edi, dword [ebp - 0x68]
cmp edi, 0xffffffff
jne 0x1006d412
mov esi, dword [ebp - 0x60]
mov edi, dword [ebp - 0x18]
mov al, byte [ebp - 0x59]
test al, al
lea ecx, [ebp - 0x28]
cmovne ecx, esi
mov dword [ebp - 0x68], ecx
cmp edi, 7
jb 0x1006d16a
lea eax, [ecx - 6]
add eax, edi
mov dword [ebp - 0x64], eax
sub eax, ecx
push eax
push 0x74
push ecx
call sub.VCRUNTIME140.dll_memchr
mov esi, eax
add esp, 0xc
test esi, esi
je 0x1006d164
mov ecx, esi
mov edx, str.tencent
mov edi, 3
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1006d10b
add ecx, 4
add edx, 4
or edi, 0xffffffff
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x1006d132
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1006d132
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1006d132
cmp edi, 0xffffffff
je 0x1006d12e
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x1006d132
xor eax, eax
jmp 0x1006d137
sbb eax, eax
or eax, 1
test eax, eax
je 0x1006d155
mov eax, dword [ebp - 0x64]
inc esi
sub eax, esi
push eax
push 0x74
push esi
call sub.VCRUNTIME140.dll_memchr
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1006d0f0
jmp 0x1006d161
sub esi, dword [ebp - 0x68]
cmp esi, 0xffffffff
jne 0x1006d412
mov edi, dword [ebp - 0x18]
mov al, byte [ebp - 0x59]
mov esi, dword [ebp - 0x60]
test al, al
lea ecx, [ebp - 0x28]
cmovne ecx, esi
mov dword [ebp - 0x68], ecx
cmp edi, 7
jb 0x1006d21a
lea eax, [ecx - 6]
add eax, edi
mov dword [ebp - 0x64], eax
sub eax, ecx
push eax
push 0x75
push ecx
call sub.VCRUNTIME140.dll_memchr
mov esi, eax
add esp, 0xc
test esi, esi
je 0x1006d214
nop word [eax + eax]
mov ecx, esi
mov edx, str.unirsdt
mov edi, 3
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1006d1bb
add ecx, 4
add edx, 4
or edi, 0xffffffff
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x1006d1e2
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1006d1e2
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1006d1e2
cmp edi, 0xffffffff
je 0x1006d1de
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x1006d1e2
xor eax, eax
jmp 0x1006d1e7
sbb eax, eax
or eax, 1
test eax, eax
je 0x1006d205
mov eax, dword [ebp - 0x64]
inc esi
sub eax, esi
push eax
push 0x75
push esi
call sub.VCRUNTIME140.dll_memchr
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1006d1a0
jmp 0x1006d211
sub esi, dword [ebp - 0x68]
cmp esi, 0xffffffff
jne 0x1006d412
mov edi, dword [ebp - 0x18]
mov al, byte [ebp - 0x59]
mov esi, dword [ebp - 0x60]
test al, al
lea ecx, [ebp - 0x28]
cmovne ecx, esi
mov dword [ebp - 0x68], ecx
cmp edi, 0xc
jb 0x1006d2ca
lea eax, [edi - 0xb]
add eax, ecx
mov dword [ebp - 0x64], eax
sub eax, ecx
push eax
push 0x75
push ecx
call sub.VCRUNTIME140.dll_memchr
mov edi, eax
add esp, 0xc
test edi, edi
je 0x1006d2c4
nop word [eax + eax]
mov ecx, edi
mov edx, str.unifairy_x64
mov esi, 8
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1006d275
add ecx, 4
add edx, 4
sub esi, 4
jae 0x1006d260
xor eax, eax
jmp 0x1006d29a
cmp al, byte [edx]
jne 0x1006d295
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1006d295
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1006d295
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x1006d295
xor eax, eax
jmp 0x1006d29a
sbb eax, eax
or eax, 1
test eax, eax
je 0x1006d2b8
mov eax, dword [ebp - 0x64]
inc edi
sub eax, edi
push eax
push 0x75
push edi
call sub.VCRUNTIME140.dll_memchr
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x1006d250
jmp 0x1006d2c4
sub edi, dword [ebp - 0x68]
cmp edi, 0xffffffff
jne 0x1006d412
mov edi, dword [ebp - 0x18]
mov al, byte [ebp - 0x59]
test al, al
lea ecx, [ebp - 0x28]
cmovne ecx, dword [ebp - 0x60]
mov dword [ebp - 0x68], ecx
cmp edi, 8
jb 0x1006d36a
lea eax, [edi - 7]
add eax, ecx
mov dword [ebp - 0x64], eax
sub eax, ecx
push eax
push 0x75
push ecx
call sub.VCRUNTIME140.dll_memchr
mov edi, eax
add esp, 0xc
test edi, edi
je 0x1006d36a
nop dword [eax + eax]
mov ecx, edi
mov edx, str.unifairy
mov esi, 4
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1006d325
add ecx, 4
add edx, 4
sub esi, 4
jae 0x1006d310
xor eax, eax
jmp 0x1006d34a
cmp al, byte [edx]
jne 0x1006d345
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1006d345
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1006d345
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x1006d345
xor eax, eax
jmp 0x1006d34a
sbb eax, eax
or eax, 1
test eax, eax
je 0x1006d406
mov eax, dword [ebp - 0x64]
inc edi
sub eax, edi
push eax
push 0x75
push edi
call sub.VCRUNTIME140.dll_memchr
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x1006d300
mov edi, dword [ebp - 0x60]
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x1006d3a4
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x1006d39a
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006d4c7
push ecx
push edi
call fcn.101d999a
add esp, 8
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp ecx, 0x10
jb 0x1006d3ee
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006d3e4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006d4c7
push ecx
push edx
call fcn.101d999a
add esp, 8
mov ecx, dword [ebp - 0x80]
inc ecx
mov dword [ebp - 0x80], ecx
cmp ecx, dword [ebp - 0x74]
jae 0x1006d493
mov esi, dword [ebp - 0x6c]
jmp 0x1006ca31
sub edi, dword [ebp - 0x68]
cmp edi, 0xffffffff
je 0x1006d36a
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x64], esp
push 0x10270258
call fcn.1004ee20
sub esp, 0x18
mov byte [ebp - 4], 3
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.1004ee20
mov byte [ebp - 4], 2
call fcn.1006c6e0
add esp, 0x30
cmp byte [0x10278c18], 0
je 0x1006d48b
sub esp, 0x18
mov eax, bind
mov ecx, esp
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x18]
sub eax, edx
cmp eax, 7
jb 0x1006d4fe
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
push edx
cmovae eax, dword [ebp - 0x28]
push eax
push 7
push str.Driver:
push ecx
push dword [ebp - 0x64]
call fcn.10052ee0
call fcn.100689b0
add esp, 0x18
mov edi, dword [ebp - 0x28]
jmp 0x1006d36d
push dword [ebp - 0x78]
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
xor esi, esi
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
je 0x1006d4d7
mov edx, dword [ebp - 0x84]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x1006d4cd
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1006d4cd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.101d999a
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.101d9510
mov esp, ebp
pop ebp
ret
call fcn.10054510
call fcn.10047880
call fcn.10047920
int3