Function at 0x4d6470
Capabilities:
Query service status
Start service

Disassembly:
push ebp
lea ebp, [esp - 0x1e4]
sub esp, 0x1e4
push 0xffffffffffffffff
push 0x54ad58
mov eax, dword fs:[0]
push eax
sub esp, 0xa0
mov eax, dword [0x596c60]
xor eax, ebp
mov dword [ebp + 0x1e0], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp + 0x18], ecx
mov eax, dword [0x59f554]
mov dword [ebp + 0x10], ecx
test al, 1
jne 0x4d64e6
or eax, 1
mov dword [0x59f554], eax
mov dword [ebp - 4], 0
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x597f88]
test byte [eax + 0x1c], 2
je 0x4d64fb
cmp byte [eax + 0x19], 6
jb 0x4d64fb
mov al, 1
jmp 0x4d64fd
xor al, al
cmp byte [0x59f560], 0
jne 0x4d6517
cmp byte [0x59f561], 0
jne 0x4d6517
test al, al
je 0x4d665c
sub esp, 8
mov dword [ebp - 4], 1
lea ecx, [ebp - 0xa8]
call fcn.0047b4d0
lea ecx, [ebp + 0x1c8]
mov byte [ebp - 4], 2
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xa8]
call fcn.0047ee50
mov edx, str..Service.cpp
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
push 0xcc
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b46c
mov ecx, eax
call fcn.0047f0b0
mov edx, str.Service::StartTheService
mov ecx, eax
call fcn.0047f0b0
mov byte [ebp - 4], 2
cmp dword [ebp + 0x1dc], 0x10
jb 0x4d65b4
mov eax, dword [ebp + 0x1c8]
test eax, eax
je 0x4d65b4
push eax
call fcn.00507b54
add esp, 4
lea eax, [ebp + 0x1c8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 4
cmp dword [esi + 0x14], 0x10
jb 0x4d65d4
mov esi, dword [esi]
mov eax, dword [0x59f554]
test al, 1
jne 0x4d65ff
or eax, 1
mov dword [0x59f554], eax
mov byte [ebp - 4], 5
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 4
push esi
push 6
mov ecx, 0x59f560
call fcn.004a1510
cmp dword [ebp + 0x1dc], 0x10
jb 0x4d6628
mov eax, dword [ebp + 0x1c8]
test eax, eax
je 0x4d6628
push eax
call fcn.00507b54
add esp, 4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 1
call fcn.0047b5a0
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x56b700
push eax
call fcn.00528f2f
add esp, 4
jmp 0x4d6655
mov dword [ebp - 4], 0xffffffff
push 1
xor eax, eax
mov dword [ebp + 0x1a8], 7
push 0x57480c
lea ecx, [ebp + 0x194]
mov dword [ebp + 0x1a4], 0
mov word [ebp + 0x194], ax
call fcn.0047c4b0
mov dword [ebp - 4], 7
lea ecx, [ebp + 0x1c8]
push 5
xor eax, eax
mov dword [ebp + 0x1dc], 7
push str.Start
mov dword [ebp + 0x1d8], 0
mov word [ebp + 0x1c8], ax
call fcn.0047c4b0
lea ecx, [ebp + 0x1c8]
call fcn.00495a20
cmp dword [ebp + 0x1dc], 8
mov bl, al
jb 0x4d66ea
mov ecx, dword [ebp + 0x1c8]
test ecx, ecx
je 0x4d66ea
push ecx
call fcn.00507b54
add esp, 4
test bl, bl
je 0x4d6752
push 5
xor eax, eax
mov dword [ebp + 0x1dc], 7
push str.Start
lea ecx, [ebp + 0x1c8]
mov dword [ebp + 0x1d8], 0
mov word [ebp + 0x1c8], ax
call fcn.0047c4b0
lea edx, [ebp + 0x194]
mov byte [ebp - 4], 8
lea ecx, [ebp + 0x1c8]
call fcn.00495a90
mov byte [ebp - 4], 7
cmp dword [ebp + 0x1dc], 8
jb 0x4d6752
mov eax, dword [ebp + 0x1c8]
test eax, eax
je 0x4d6752
push eax
call fcn.00507b54
add esp, 4
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
call fcn.004d76a0
mov dword [ebp + 0x1c], eax
test eax, eax
jne 0x4d748c
push 1
push 0x5748a0
push dword [ebp + 0x1a4]
push ecx
lea ecx, [ebp + 0x194]
call fcn.00485920
test eax, eax
je 0x4d748c
mov byte [ebp + 0x23], 1
mov dword [ebp + 0x14], 0
cmp dword [ebp + 0x14], 2
jge 0x4d702d
cmp byte [ebp + 0x23], 0
je 0x4d702d
mov eax, dword [0x59f554]
mov byte [ebp + 0x23], 0
test al, 1
jne 0x4d67d5
or dword [0x59f554], 1
mov byte [ebp - 4], 9
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 7
mov eax, dword [0x597f88]
test byte [eax + 0x1c], 2
je 0x4d67ea
cmp byte [eax + 0x19], 4
jb 0x4d67ea
mov al, 1
jmp 0x4d67ec
xor al, al
cmp byte [0x59f560], 0
jne 0x4d6806
cmp byte [0x59f561], 0
jne 0x4d6806
test al, al
je 0x4d6954
sub esp, 8
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xa8]
call fcn.0047b4d0
lea ecx, [ebp + 0x1c8]
mov byte [ebp - 4], 0xb
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xa8]
call fcn.0047ee50
mov edx, str..Service.cpp
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
push 0xd8
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, str.Attempting_StartService:
mov ecx, eax
call fcn.0047f0b0
mov ecx, dword [ebp + 0x14]
inc ecx
push ecx
mov ecx, eax
call fcn.0047b130
mov edx, str._time
mov ecx, eax
call fcn.0047f0b0
mov byte [ebp - 4], 0xb
cmp dword [ebp + 0x1dc], 0x10
jb 0x4d68ac
mov eax, dword [ebp + 0x1c8]
test eax, eax
je 0x4d68ac
push eax
call fcn.00507b54
add esp, 4
lea eax, [ebp + 0x1c8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 0xd
cmp dword [esi + 0x14], 0x10
jb 0x4d68cc
mov esi, dword [esi]
mov eax, dword [0x59f554]
test al, 1
jne 0x4d68f7
or eax, 1
mov dword [0x59f554], eax
mov byte [ebp - 4], 0xe
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 0xd
push esi
push 4
mov ecx, 0x59f560
call fcn.004a1510
cmp dword [ebp + 0x1dc], 0x10
jb 0x4d6920
mov eax, dword [ebp + 0x1c8]
test eax, eax
je 0x4d6920
push eax
call fcn.00507b54
add esp, 4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xa
call fcn.0047b5a0
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x56b700
push eax
call fcn.00528f2f
add esp, 4
jmp 0x4d694d
mov dword [ebp - 4], 7
push 0
push 0
push dword [ebx + 0x50]
call dword [sym.imp.ADVAPI32.dll_StartServiceW]
test eax, eax
jne 0x4d696e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x4d6abf
cmp eax, 0x41d
je 0x4d6abf
call fcn.004a1320
mov edx, eax
mov eax, dword [0x597f88]
test byte [eax + 0x1c], 2
je 0x4d69a0
cmp byte [eax + 0x19], 2
jb 0x4d69a0
mov cl, 1
jmp 0x4d69a2
xor cl, cl
cmp byte [edx], 0
jne 0x4d69b5
cmp byte [edx + 1], 0
jne 0x4d69b5
test cl, cl
je 0x4d7025
sub esp, 8
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xa8]
call fcn.0047b4d0
lea ecx, [ebp + 0x1b0]
mov byte [ebp - 4], 0x11
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0xa8]
call fcn.0047ee50
mov edx, str..Service.cpp
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
push 0xe1
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, str.Failed_to_start_the_Service._Error_Code
mov ecx, eax
call fcn.0047f0b0
push dword [ebp + 0x1c]
mov ecx, eax
call fcn.0047b2d0
lea ecx, [ebp + 0x1b0]
mov byte [ebp - 4], 0x11
call fcn.0047abe0
lea eax, [ebp + 0x1b0]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 0x13
cmp dword [esi + 0x14], 0x10
jb 0x4d6a5c
mov esi, dword [esi]
call fcn.004a1320
push esi
push 2
mov ecx, eax
call fcn.004a1510
lea ecx, [ebp + 0x1b0]
call fcn.0047abe0
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x10
call fcn.0047b5a0
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x56b700
push eax
call fcn.00528f2f
add esp, 4
mov dword [ebp - 4], 7
inc dword [ebp + 0x14]
jmp 0x4d6793
mov dword [ebp + 0x1c], 0x41d
xor edi, edi
mov dword [ebp + 0xc], edi
cmp edi, 4
jge 0x4d6e72
lea eax, [ebp + 0x1ac]
push eax
push dword [ebx + 0x50]
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
test eax, eax
je 0x4d6cce
cmp dword [ebp + 0x1b0], 4
jne 0x4d6b04
inc dword [ebp + 0x14]
mov dword [ebp + 0x1c], 0
jmp 0x4d6793
mov eax, dword [0x59f554]
test al, 1
jne 0x4d6b2f
or eax, 1
mov dword [0x59f554], eax
mov byte [ebp - 4], 0x1c
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 7
mov eax, dword [0x597f88]
test byte [eax + 0x1c], 2
je 0x4d6b44
cmp byte [eax + 0x19], 2
jb 0x4d6b44
mov al, 1
jmp 0x4d6b46
xor al, al
cmp byte [0x59f560], 0
jne 0x4d6b60
cmp byte [0x59f561], 0
jne 0x4d6b60
test al, al
je 0x4d6cad
sub esp, 8
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xa8]
call fcn.0047b4d0
lea ecx, [ebp + 0x1c8]
mov byte [ebp - 4], 0x1e
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0xa8]
call fcn.0047ee50
mov edx, str..Service.cpp
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
push 0xf8
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, str.Waiting_for_the_Service._Current_State
mov ecx, eax
call fcn.0047f0b0
push dword [ebp + 0x1b0]
mov ecx, eax
call fcn.0047b2d0
mov byte [ebp - 4], 0x1e
cmp dword [ebp + 0x1dc], 0x10
jb 0x4d6bfb
mov eax, dword [ebp + 0x1c8]
test eax, eax
je 0x4d6bfb
push eax
call fcn.00507b54
add esp, 4
lea eax, [ebp + 0x1c8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 0x20
cmp dword [esi + 0x14], 0x10
jb 0x4d6c1b
mov esi, dword [esi]
mov eax, dword [0x59f554]
test al, 1
jne 0x4d6c46
or eax, 1
mov dword [0x59f554], eax
mov byte [ebp - 4], 0x21
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 0x20
push esi
push 2
mov ecx, 0x59f560
call fcn.004a1510
cmp dword [ebp + 0x1dc], 0x10
jb 0x4d6c6f
mov eax, dword [ebp + 0x1c8]
test eax, eax
je 0x4d6c6f
push eax
call fcn.00507b54
add esp, 4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x1d
call fcn.0047b5a0
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x56b700
push eax
call fcn.00528f2f
add esp, 4
mov dword [ebp - 4], 7
jmp 0x4d6cad
mov eax, dword [ebx + 0xd8]
imul eax, dword [ebx + 0xd4]
inc eax
imul eax, eax, 0x3e8
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
inc edi
jmp 0x4d6ac8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x1c], eax
mov eax, dword [0x59f554]
test al, 1
jne 0x4d6d01
or dword [0x59f554], 1
mov byte [ebp - 4], 0x15
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 7
mov eax, dword [0x597f88]
test byte [eax + 0x1c], 2
je 0x4d6d16
cmp byte [eax + 0x19], 2
jb 0x4d6d16
mov al, 1
jmp 0x4d6d18
xor al, al
cmp byte [0x59f560], 0
jne 0x4d6d32
cmp byte [0x59f561], 0
jne 0x4d6d32
test al, al
je 0x4d6e72
sub esp, 8
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xa8]
call fcn.0047b4d0
lea ecx, [ebp + 0x1c8]
mov byte [ebp - 4], 0x17
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0xa8]
call fcn.0047ee50
mov edx, str..Service.cpp
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
push 0xf4
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, str.Failed_to_query_the_Service._Error_Code
mov ecx, eax
call fcn.0047f0b0
push dword [ebp + 0x1c]
mov ecx, eax
call fcn.0047b2d0
mov byte [ebp - 4], 0x17
cmp dword [ebp + 0x1dc], 0x10
jb 0x4d6dca
mov eax, dword [ebp + 0x1c8]
test eax, eax
je 0x4d6dca
push eax
call fcn.00507b54
add esp, 4
lea eax, [ebp + 0x1c8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 0x19
cmp dword [esi + 0x14], 0x10
jb 0x4d6dea
mov esi, dword [esi]
mov eax, dword [0x59f554]
test al, 1
jne 0x4d6e15
or eax, 1
mov dword [0x59f554], eax
mov byte [ebp - 4], 0x1a
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 0x19
push esi
push 2
mov ecx, 0x59f560
call fcn.004a1510
cmp dword [ebp + 0x1dc], 0x10
jb 0x4d6e3e
mov eax, dword [ebp + 0x1c8]
test eax, eax
je 0x4d6e3e
push eax
call fcn.00507b54
add esp, 4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x16
call fcn.0047b5a0
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x56b700
push eax
call fcn.00528f2f
add esp, 4
jmp 0x4d6e6b
mov dword [ebp - 4], 7
cmp dword [ebp + 0x1c], 0x41d
jne 0x4d7025
mov eax, dword [0x59f554]
test al, 1
jne 0x4d6ea9
or dword [0x59f554], 1
mov byte [ebp - 4], 0x23
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 7
mov eax, dword [0x597f88]
test byte [eax + 0x1c], 2
je 0x4d6ebe
cmp byte [eax + 0x19], 2
jb 0x4d6ebe
mov al, 1
jmp 0x4d6ec0
xor al, al
cmp byte [0x59f560], 0
jne 0x4d6eda
cmp byte [0x59f561], 0
jne 0x4d6eda
test al, al
je 0x4d7021
sub esp, 8
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xa8]
call fcn.0047b4d0
lea ecx, [ebp + 0x1c8]
mov byte [ebp - 4], 0x25
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0xa8]
call fcn.0047ee50
mov edx, str..Service.cpp
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
push 0xfe
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, str.Failed_to_start_the_Service.
mov ecx, eax
call fcn.0047f0b0
mov byte [ebp - 4], 0x25
cmp dword [ebp + 0x1dc], 0x10
jb 0x4d6f68
mov eax, dword [ebp + 0x1c8]
test eax, eax
je 0x4d6f68
push eax
call fcn.00507b54
add esp, 4
lea eax, [ebp + 0x1c8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 0x27
cmp dword [esi + 0x14], 0x10
jb 0x4d6f88
mov esi, dword [esi]
mov eax, dword [0x59f554]
test al, 1
jne 0x4d6fb3
or eax, 1
mov dword [0x59f554], eax
mov byte [ebp - 4], 0x28
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 0x27
push esi
push 2
mov ecx, 0x59f560
call fcn.004a1510
cmp dword [ebp + 0x1dc], 0x10
jb 0x4d6fdc
mov eax, dword [ebp + 0x1c8]
test eax, eax
je 0x4d6fdc
push eax
call fcn.00507b54
add esp, 4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x24
call fcn.0047b5a0
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x56b700
push eax
call fcn.00528f2f
add esp, 4
mov dword [ebp - 4], 7
inc dword [ebp + 0x14]
mov byte [ebp + 0x23], 1
jmp 0x4d6793
mov byte [ebp + 0x23], 1
inc dword [ebp + 0x14]
jmp 0x4d6793
cmp dword [ebp + 0x1c], 0
jne 0x4d748c
cmp byte [0x59f3c8], 0
je 0x4d748c
lea ecx, [ebp + 0x24]
mov dword [ebp + 0x1c], 0x426
mov dword [ebp + 4], 0
mov dword [ebp + 8], 0
call fcn.004b1df0
lea eax, [ebp + 4]
mov byte [ebp - 4], 0x2a
push 0x10000
push eax
call dword [ebp + 0x60]
mov esi, eax
add esp, 8
test esi, esi
jne 0x4d72dd
xor edi, edi
mov dword [ebp + 0x14], edi
cmp edi, 0xa
jge 0x4d7440
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0xac]
push eax
call dword [ebp + 0x6c]
mov ecx, dword [0x59f554]
add esp, 8
mov ebx, eax
mov dword [ebp], ebx
test cl, 1
jne 0x4d70d0
or ecx, 1
mov dword [0x59f554], ecx
mov byte [ebp - 4], 0x2b
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 0x2a
mov eax, dword [0x597f88]
test byte [eax + 0x1c], 2
je 0x4d70e5
cmp byte [eax + 0x19], 6
jb 0x4d70e5
mov al, 1
jmp 0x4d70e7
xor al, al
cmp byte [0x59f560], 0
jne 0x4d7101
cmp byte [0x59f561], 0
jne 0x4d7101
test al, al
je 0x4d727d
sub esp, 8
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0xa8]
call fcn.0047b4d0
mov byte [ebp - 4], 0x2d
lea ecx, [ebp + 0x1b0]
mov edx, dword [ebp + 0xc]
call fcn.004a8310
mov esi, eax
lea ecx, [ebp + 0x1c8]
mov byte [ebp - 4], 0x2e
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0xa8]
call fcn.0047ee50
mov edx, str..Service.cpp
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
push 0x114
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, str.Server_State_:
mov ecx, eax
call fcn.0047f0b0
mov edx, esi
mov ecx, eax
call fcn.004a1750
cmp dword [ebp + 0x1dc], 0x10
jb 0x4d71a8
mov eax, dword [ebp + 0x1c8]
test eax, eax
je 0x4d71a8
push eax
call fcn.00507b54
add esp, 4
mov byte [ebp - 4], 0x2d
cmp dword [ebp + 0x1c4], 8
mov dword [ebp + 0x1dc], 0xf
mov dword [ebp + 0x1d8], 0
mov byte [ebp + 0x1c8], 0
jb 0x4d71e3
mov eax, dword [ebp + 0x1b0]
test eax, eax
je 0x4d71e3
push eax
call fcn.00507b54
add esp, 4
lea eax, [ebp + 0x1b0]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 0x30
cmp dword [esi + 0x14], 0x10
jb 0x4d7203
mov esi, dword [esi]
mov eax, dword [0x59f554]
test al, 1
jne 0x4d722e
or eax, 1
mov dword [0x59f554], eax
mov byte [ebp - 4], 0x31
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 0x30
push esi
push 6
mov ecx, 0x59f560
call fcn.004a1510
cmp dword [ebp + 0x1c4], 0x10
jb 0x4d7257
mov eax, dword [ebp + 0x1b0]
test eax, eax
je 0x4d7257
push eax
call fcn.00507b54
add esp, 4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x2c
call fcn.0047b5a0
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x56b700
push eax
call fcn.00528f2f
add esp, 4
mov dword [ebp - 4], 0x2a
mov ecx, dword [ebp + 0x18]
test ebx, ebx
jne 0x4d7440
mov eax, dword [ebp + 0xc]
cmp eax, 4
jne 0x4d72b3
mov dword [ebp + 0x1c], ebx
jmp 0x4d7440
cmp eax, 9
jne 0x4d7440
mov eax, dword [ecx + 0xd8]
imul eax, dword [ecx + 0xd4]
inc eax
imul eax, eax, 0x3e8
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
inc edi
jmp 0x4d7080
mov eax, dword [0x59f554]
test al, 1
jne 0x4d7308
or eax, 1
mov dword [0x59f554], eax
mov byte [ebp - 4], 0x33
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 0x2a
mov eax, dword [0x597f88]
test byte [eax + 0x1c], 2
je 0x4d731d
cmp byte [eax + 0x19], 2
jb 0x4d731d
mov al, 1
jmp 0x4d731f
xor al, al
cmp byte [0x59f560], 0
jne 0x4d7339
cmp byte [0x59f561], 0
jne 0x4d7339
test al, al
je 0x4d7440
sub esp, 8
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0xa8]
call fcn.0047b4d0
lea ecx, [ebp + 0x1b0]
mov byte [ebp - 4], 0x35
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0xa8]
call fcn.0047ee50
mov edx, str..Service.cpp
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
push 0x123
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, str.Failed_to_initialize_the_Client._Error_code
mov ecx, eax
call fcn.0047f0b0
push esi
mov ecx, eax
call fcn.0047b2d0
mov byte [ebp - 4], 0x35
cmp dword [ebp + 0x1c4], 0x10
jb 0x4d73cf
mov eax, dword [ebp + 0x1b0]
test eax, eax
je 0x4d73cf
push eax
call fcn.00507b54
add esp, 4
lea eax, [ebp + 0x1b0]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 0x37
cmp dword [esi + 0x14], 0x10
jb 0x4d73ef
mov esi, dword [esi]
call fcn.004a1320
push esi
push 2
mov ecx, eax
call fcn.004a1510
cmp dword [ebp + 0x1c4], 0x10
jb 0x4d741a
mov eax, dword [ebp + 0x1b0]
test eax, eax
je 0x4d741a
push eax
call fcn.00507b54
add esp, 4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x34
call fcn.0047b5a0
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x56b700
push eax
call fcn.00528f2f
add esp, 4
mov dword [ebp - 4], 0x2a
push dword [ebp + 8]
push dword [ebp + 4]
call dword [ebp + 0x64]
mov byte [ebp - 4], 7
add esp, 8
mov eax, dword [ebp + 0x28]
mov dword [ebp + 0x24], 0x574c08
test eax, eax
je 0x4d746c
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp + 0x28], 0
lea eax, [ebp + 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
cmp dword [ebp + 0x40], 8
jb 0x4d748c
mov eax, dword [ebp + 0x2c]
test eax, eax
je 0x4d748c
push eax
call fcn.00507b54
add esp, 4
mov eax, dword [0x59f554]
test al, 1
jne 0x4d74f1
or dword [0x59f554], 1
sub esp, 8
mov byte [ebp - 4], 0x39
mov ecx, 0x59f568
mov word [0x59f560], 0
call fcn.0047b4d0
mov dword [0x59f614], 0xf
mov dword [0x59f610], 0
mov byte [0x59f600], 0
push ecx
mov ecx, 0x59f618
mov byte [ebp - 4], 0x3b
call fcn.004a1a50
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 7
mov eax, dword [0x597f88]
test byte [eax + 0x1c], 2
je 0x4d750c
cmp byte [eax + 0x19], 6
jb 0x4d750c
mov al, 1
jmp 0x4d750e
xor al, al
cmp byte [0x59f560], 0
jne 0x4d7528
cmp byte [0x59f561], 0
jne 0x4d7528
test al, al
je 0x4d7655
sub esp, 8
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0xa8]
call fcn.0047b4d0
lea ecx, [ebp + 0x1b0]
mov byte [ebp - 4], 0x3d
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0xa8]
call fcn.0047ee50
mov edx, str..Service.cpp
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
push 0x129
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b498
mov ecx, eax
call fcn.0047f0b0
mov edx, str.Service::StartTheService
mov ecx, eax
call fcn.0047f0b0
mov byte [ebp - 4], 0x3d
cmp dword [ebp + 0x1c4], 0x10
jb 0x4d75c2
mov eax, dword [ebp + 0x1b0]
test eax, eax
je 0x4d75c2
push eax
call fcn.00507b54
add esp, 4
lea eax, [ebp + 0x1b0]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 0x3f
cmp dword [esi + 0x14], 0x10
jb 0x4d75e2
mov esi, dword [esi]
mov eax, dword [0x59f554]
test al, 1
jne 0x4d760d
or eax, 1
mov dword [0x59f554], eax
mov byte [ebp - 4], 0x40
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 0x3f
push esi
push 6
mov ecx, 0x59f560
call fcn.004a1510
cmp dword [ebp + 0x1c4], 0x10
jb 0x4d7636
mov eax, dword [ebp + 0x1b0]
test eax, eax
je 0x4d7636
push eax
call fcn.00507b54
add esp, 4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x3c
call fcn.0047b5a0
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x56b700
push eax
call fcn.00528f2f
add esp, 4
cmp dword [ebp + 0x1a8], 8
jb 0x4d7671
mov eax, dword [ebp + 0x194]
test eax, eax
je 0x4d7671
push eax
call fcn.00507b54
add esp, 4
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x1e0]
xor ecx, ebp
call fcn.005072fd
lea esp, [ebp + 0x1e4]
pop ebp
ret