Function at 0x4d5c90
Capabilities:
Query service status
Start service

Disassembly:
push ebp
lea ebp, [esp - 0x1e4]
sub esp, 0x1e4
push 0xffffffffffffffff
push 0x54a558
mov eax, dword fs:[0]
push eax
sub esp, 0xa0
mov eax, dword [0x595c60]
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 [0x59e598]
mov dword [ebp + 0x10], ecx
test al, 1
jne 0x4d5d06
or eax, 1
mov dword [0x59e598], eax
mov dword [ebp - 4], 0
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x596f88]
test byte [eax + 0x1c], 2
je 0x4d5d1b
cmp byte [eax + 0x19], 6
jb 0x4d5d1b
mov al, 1
jmp 0x4d5d1d
xor al, al
cmp byte [0x59e5a8], 0
jne 0x4d5d37
cmp byte [0x59e5a9], 0
jne 0x4d5d37
test al, al
je 0x4d5e7c
sub esp, 8
mov dword [ebp - 4], 1
lea ecx, [ebp - 0xa8]
call fcn.0047b550
lea ecx, [ebp + 0x1c8]
mov byte [ebp - 4], 2
call fcn.004a0cb0
mov edx, eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xa8]
call fcn.0047eed0
mov edx, str..Service.cpp
mov ecx, eax
call fcn.0047f130
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
push 0xcc
mov ecx, eax
call fcn.0047b1b0
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
mov edx, 0x56a46c
mov ecx, eax
call fcn.0047f130
mov edx, str.Service::StartTheService
mov ecx, eax
call fcn.0047f130
mov byte [ebp - 4], 2
cmp dword [ebp + 0x1dc], 0x10
jb 0x4d5dd4
mov eax, dword [ebp + 0x1c8]
test eax, eax
je 0x4d5dd4
push eax
call fcn.005074d4
add esp, 4
lea eax, [ebp + 0x1c8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b6a0
mov esi, eax
mov byte [ebp - 4], 4
cmp dword [esi + 0x14], 0x10
jb 0x4d5df4
mov esi, dword [esi]
mov eax, dword [0x59e598]
test al, 1
jne 0x4d5e1f
or eax, 1
mov dword [0x59e598], eax
mov byte [ebp - 4], 5
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov byte [ebp - 4], 4
push esi
push 6
mov ecx, 0x59e5a8
call fcn.004a0b40
cmp dword [ebp + 0x1dc], 0x10
jb 0x4d5e48
mov eax, dword [ebp + 0x1c8]
test eax, eax
je 0x4d5e48
push eax
call fcn.005074d4
add esp, 4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 1
call fcn.0047b620
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x56a6f8
push eax
call fcn.0052889f
add esp, 4
jmp 0x4d5e75
mov dword [ebp - 4], 0xffffffff
push 1
xor eax, eax
mov dword [ebp + 0x1a8], 7
push 0x5737dc
lea ecx, [ebp + 0x194]
mov dword [ebp + 0x1a4], 0
mov word [ebp + 0x194], ax
call fcn.0047c530
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.0047c530
lea ecx, [ebp + 0x1c8]
call fcn.00495060
cmp dword [ebp + 0x1dc], 8
mov bl, al
jb 0x4d5f0a
mov ecx, dword [ebp + 0x1c8]
test ecx, ecx
je 0x4d5f0a
push ecx
call fcn.005074d4
add esp, 4
test bl, bl
je 0x4d5f72
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.0047c530
lea edx, [ebp + 0x194]
mov byte [ebp - 4], 8
lea ecx, [ebp + 0x1c8]
call fcn.004950d0
mov byte [ebp - 4], 7
cmp dword [ebp + 0x1dc], 8
jb 0x4d5f72
mov eax, dword [ebp + 0x1c8]
test eax, eax
je 0x4d5f72
push eax
call fcn.005074d4
add esp, 4
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
call fcn.004d6ec0
mov dword [ebp + 0x1c], eax
test eax, eax
jne 0x4d6cac
push 1
push 0x573870
push dword [ebp + 0x1a4]
push ecx
lea ecx, [ebp + 0x194]
call fcn.004859a0
test eax, eax
je 0x4d6cac
mov byte [ebp + 0x23], 1
mov dword [ebp + 0x14], 0
cmp dword [ebp + 0x14], 2
jge 0x4d684d
cmp byte [ebp + 0x23], 0
je 0x4d684d
mov eax, dword [0x59e598]
mov byte [ebp + 0x23], 0
test al, 1
jne 0x4d5ff5
or dword [0x59e598], 1
mov byte [ebp - 4], 9
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov byte [ebp - 4], 7
mov eax, dword [0x596f88]
test byte [eax + 0x1c], 2
je 0x4d600a
cmp byte [eax + 0x19], 4
jb 0x4d600a
mov al, 1
jmp 0x4d600c
xor al, al
cmp byte [0x59e5a8], 0
jne 0x4d6026
cmp byte [0x59e5a9], 0
jne 0x4d6026
test al, al
je 0x4d6174
sub esp, 8
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xa8]
call fcn.0047b550
lea ecx, [ebp + 0x1c8]
mov byte [ebp - 4], 0xb
call fcn.004a0cb0
mov edx, eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xa8]
call fcn.0047eed0
mov edx, str..Service.cpp
mov ecx, eax
call fcn.0047f130
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
push 0xd8
mov ecx, eax
call fcn.0047b1b0
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
mov edx, str.Attempting_StartService:
mov ecx, eax
call fcn.0047f130
mov ecx, dword [ebp + 0x14]
inc ecx
push ecx
mov ecx, eax
call fcn.0047b1b0
mov edx, str._time
mov ecx, eax
call fcn.0047f130
mov byte [ebp - 4], 0xb
cmp dword [ebp + 0x1dc], 0x10
jb 0x4d60cc
mov eax, dword [ebp + 0x1c8]
test eax, eax
je 0x4d60cc
push eax
call fcn.005074d4
add esp, 4
lea eax, [ebp + 0x1c8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b6a0
mov esi, eax
mov byte [ebp - 4], 0xd
cmp dword [esi + 0x14], 0x10
jb 0x4d60ec
mov esi, dword [esi]
mov eax, dword [0x59e598]
test al, 1
jne 0x4d6117
or eax, 1
mov dword [0x59e598], eax
mov byte [ebp - 4], 0xe
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov byte [ebp - 4], 0xd
push esi
push 4
mov ecx, 0x59e5a8
call fcn.004a0b40
cmp dword [ebp + 0x1dc], 0x10
jb 0x4d6140
mov eax, dword [ebp + 0x1c8]
test eax, eax
je 0x4d6140
push eax
call fcn.005074d4
add esp, 4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xa
call fcn.0047b620
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x56a6f8
push eax
call fcn.0052889f
add esp, 4
jmp 0x4d616d
mov dword [ebp - 4], 7
push 0
push 0
push dword [ebx + 0x50]
call dword [sym.imp.ADVAPI32.dll_StartServiceW]
test eax, eax
jne 0x4d618e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x4d62df
cmp eax, 0x41d
je 0x4d62df
call fcn.004a0950
mov edx, eax
mov eax, dword [0x596f88]
test byte [eax + 0x1c], 2
je 0x4d61c0
cmp byte [eax + 0x19], 2
jb 0x4d61c0
mov cl, 1
jmp 0x4d61c2
xor cl, cl
cmp byte [edx], 0
jne 0x4d61d5
cmp byte [edx + 1], 0
jne 0x4d61d5
test cl, cl
je 0x4d6845
sub esp, 8
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xa8]
call fcn.0047b550
lea ecx, [ebp + 0x1b0]
mov byte [ebp - 4], 0x11
call fcn.004a0cb0
mov edx, eax
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0xa8]
call fcn.0047eed0
mov edx, str..Service.cpp
mov ecx, eax
call fcn.0047f130
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
push 0xe1
mov ecx, eax
call fcn.0047b1b0
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
mov edx, str.Failed_to_start_the_Service._Error_Code
mov ecx, eax
call fcn.0047f130
push dword [ebp + 0x1c]
mov ecx, eax
call fcn.0047b350
lea ecx, [ebp + 0x1b0]
mov byte [ebp - 4], 0x11
call fcn.0047ac60
lea eax, [ebp + 0x1b0]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b6a0
mov esi, eax
mov byte [ebp - 4], 0x13
cmp dword [esi + 0x14], 0x10
jb 0x4d627c
mov esi, dword [esi]
call fcn.004a0950
push esi
push 2
mov ecx, eax
call fcn.004a0b40
lea ecx, [ebp + 0x1b0]
call fcn.0047ac60
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x10
call fcn.0047b620
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x56a6f8
push eax
call fcn.0052889f
add esp, 4
mov dword [ebp - 4], 7
inc dword [ebp + 0x14]
jmp 0x4d5fb3
mov dword [ebp + 0x1c], 0x41d
xor edi, edi
mov dword [ebp + 0xc], edi
cmp edi, 4
jge 0x4d6692
lea eax, [ebp + 0x1ac]
push eax
push dword [ebx + 0x50]
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
test eax, eax
je 0x4d64ee
cmp dword [ebp + 0x1b0], 4
jne 0x4d6324
inc dword [ebp + 0x14]
mov dword [ebp + 0x1c], 0
jmp 0x4d5fb3
mov eax, dword [0x59e598]
test al, 1
jne 0x4d634f
or eax, 1
mov dword [0x59e598], eax
mov byte [ebp - 4], 0x1c
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov byte [ebp - 4], 7
mov eax, dword [0x596f88]
test byte [eax + 0x1c], 2
je 0x4d6364
cmp byte [eax + 0x19], 2
jb 0x4d6364
mov al, 1
jmp 0x4d6366
xor al, al
cmp byte [0x59e5a8], 0
jne 0x4d6380
cmp byte [0x59e5a9], 0
jne 0x4d6380
test al, al
je 0x4d64cd
sub esp, 8
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xa8]
call fcn.0047b550
lea ecx, [ebp + 0x1c8]
mov byte [ebp - 4], 0x1e
call fcn.004a0cb0
mov edx, eax
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0xa8]
call fcn.0047eed0
mov edx, str..Service.cpp
mov ecx, eax
call fcn.0047f130
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
push 0xf8
mov ecx, eax
call fcn.0047b1b0
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
mov edx, str.Waiting_for_the_Service._Current_State
mov ecx, eax
call fcn.0047f130
push dword [ebp + 0x1b0]
mov ecx, eax
call fcn.0047b350
mov byte [ebp - 4], 0x1e
cmp dword [ebp + 0x1dc], 0x10
jb 0x4d641b
mov eax, dword [ebp + 0x1c8]
test eax, eax
je 0x4d641b
push eax
call fcn.005074d4
add esp, 4
lea eax, [ebp + 0x1c8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b6a0
mov esi, eax
mov byte [ebp - 4], 0x20
cmp dword [esi + 0x14], 0x10
jb 0x4d643b
mov esi, dword [esi]
mov eax, dword [0x59e598]
test al, 1
jne 0x4d6466
or eax, 1
mov dword [0x59e598], eax
mov byte [ebp - 4], 0x21
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov byte [ebp - 4], 0x20
push esi
push 2
mov ecx, 0x59e5a8
call fcn.004a0b40
cmp dword [ebp + 0x1dc], 0x10
jb 0x4d648f
mov eax, dword [ebp + 0x1c8]
test eax, eax
je 0x4d648f
push eax
call fcn.005074d4
add esp, 4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x1d
call fcn.0047b620
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x56a6f8
push eax
call fcn.0052889f
add esp, 4
mov dword [ebp - 4], 7
jmp 0x4d64cd
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 0x4d62e8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x1c], eax
mov eax, dword [0x59e598]
test al, 1
jne 0x4d6521
or dword [0x59e598], 1
mov byte [ebp - 4], 0x15
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov byte [ebp - 4], 7
mov eax, dword [0x596f88]
test byte [eax + 0x1c], 2
je 0x4d6536
cmp byte [eax + 0x19], 2
jb 0x4d6536
mov al, 1
jmp 0x4d6538
xor al, al
cmp byte [0x59e5a8], 0
jne 0x4d6552
cmp byte [0x59e5a9], 0
jne 0x4d6552
test al, al
je 0x4d6692
sub esp, 8
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xa8]
call fcn.0047b550
lea ecx, [ebp + 0x1c8]
mov byte [ebp - 4], 0x17
call fcn.004a0cb0
mov edx, eax
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0xa8]
call fcn.0047eed0
mov edx, str..Service.cpp
mov ecx, eax
call fcn.0047f130
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
push 0xf4
mov ecx, eax
call fcn.0047b1b0
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
mov edx, str.Failed_to_query_the_Service._Error_Code
mov ecx, eax
call fcn.0047f130
push dword [ebp + 0x1c]
mov ecx, eax
call fcn.0047b350
mov byte [ebp - 4], 0x17
cmp dword [ebp + 0x1dc], 0x10
jb 0x4d65ea
mov eax, dword [ebp + 0x1c8]
test eax, eax
je 0x4d65ea
push eax
call fcn.005074d4
add esp, 4
lea eax, [ebp + 0x1c8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b6a0
mov esi, eax
mov byte [ebp - 4], 0x19
cmp dword [esi + 0x14], 0x10
jb 0x4d660a
mov esi, dword [esi]
mov eax, dword [0x59e598]
test al, 1
jne 0x4d6635
or eax, 1
mov dword [0x59e598], eax
mov byte [ebp - 4], 0x1a
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov byte [ebp - 4], 0x19
push esi
push 2
mov ecx, 0x59e5a8
call fcn.004a0b40
cmp dword [ebp + 0x1dc], 0x10
jb 0x4d665e
mov eax, dword [ebp + 0x1c8]
test eax, eax
je 0x4d665e
push eax
call fcn.005074d4
add esp, 4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x16
call fcn.0047b620
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x56a6f8
push eax
call fcn.0052889f
add esp, 4
jmp 0x4d668b
mov dword [ebp - 4], 7
cmp dword [ebp + 0x1c], 0x41d
jne 0x4d6845
mov eax, dword [0x59e598]
test al, 1
jne 0x4d66c9
or dword [0x59e598], 1
mov byte [ebp - 4], 0x23
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov byte [ebp - 4], 7
mov eax, dword [0x596f88]
test byte [eax + 0x1c], 2
je 0x4d66de
cmp byte [eax + 0x19], 2
jb 0x4d66de
mov al, 1
jmp 0x4d66e0
xor al, al
cmp byte [0x59e5a8], 0
jne 0x4d66fa
cmp byte [0x59e5a9], 0
jne 0x4d66fa
test al, al
je 0x4d6841
sub esp, 8
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xa8]
call fcn.0047b550
lea ecx, [ebp + 0x1c8]
mov byte [ebp - 4], 0x25
call fcn.004a0cb0
mov edx, eax
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0xa8]
call fcn.0047eed0
mov edx, str..Service.cpp
mov ecx, eax
call fcn.0047f130
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
push 0xfe
mov ecx, eax
call fcn.0047b1b0
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
mov edx, str.Failed_to_start_the_Service.
mov ecx, eax
call fcn.0047f130
mov byte [ebp - 4], 0x25
cmp dword [ebp + 0x1dc], 0x10
jb 0x4d6788
mov eax, dword [ebp + 0x1c8]
test eax, eax
je 0x4d6788
push eax
call fcn.005074d4
add esp, 4
lea eax, [ebp + 0x1c8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b6a0
mov esi, eax
mov byte [ebp - 4], 0x27
cmp dword [esi + 0x14], 0x10
jb 0x4d67a8
mov esi, dword [esi]
mov eax, dword [0x59e598]
test al, 1
jne 0x4d67d3
or eax, 1
mov dword [0x59e598], eax
mov byte [ebp - 4], 0x28
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov byte [ebp - 4], 0x27
push esi
push 2
mov ecx, 0x59e5a8
call fcn.004a0b40
cmp dword [ebp + 0x1dc], 0x10
jb 0x4d67fc
mov eax, dword [ebp + 0x1c8]
test eax, eax
je 0x4d67fc
push eax
call fcn.005074d4
add esp, 4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x24
call fcn.0047b620
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x56a6f8
push eax
call fcn.0052889f
add esp, 4
mov dword [ebp - 4], 7
inc dword [ebp + 0x14]
mov byte [ebp + 0x23], 1
jmp 0x4d5fb3
mov byte [ebp + 0x23], 1
inc dword [ebp + 0x14]
jmp 0x4d5fb3
cmp dword [ebp + 0x1c], 0
jne 0x4d6cac
cmp byte [0x59e408], 0
je 0x4d6cac
lea ecx, [ebp + 0x24]
mov dword [ebp + 0x1c], 0x426
mov dword [ebp + 4], 0
mov dword [ebp + 8], 0
call fcn.004b15d0
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 0x4d6afd
xor edi, edi
mov dword [ebp + 0x14], edi
cmp edi, 0xa
jge 0x4d6c60
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0xac]
push eax
call dword [ebp + 0x6c]
mov ecx, dword [0x59e598]
add esp, 8
mov ebx, eax
mov dword [ebp], ebx
test cl, 1
jne 0x4d68f0
or ecx, 1
mov dword [0x59e598], ecx
mov byte [ebp - 4], 0x2b
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov byte [ebp - 4], 0x2a
mov eax, dword [0x596f88]
test byte [eax + 0x1c], 2
je 0x4d6905
cmp byte [eax + 0x19], 6
jb 0x4d6905
mov al, 1
jmp 0x4d6907
xor al, al
cmp byte [0x59e5a8], 0
jne 0x4d6921
cmp byte [0x59e5a9], 0
jne 0x4d6921
test al, al
je 0x4d6a9d
sub esp, 8
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0xa8]
call fcn.0047b550
mov byte [ebp - 4], 0x2d
lea ecx, [ebp + 0x1b0]
mov edx, dword [ebp + 0xc]
call fcn.004a7940
mov esi, eax
lea ecx, [ebp + 0x1c8]
mov byte [ebp - 4], 0x2e
call fcn.004a0cb0
mov edx, eax
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0xa8]
call fcn.0047eed0
mov edx, str..Service.cpp
mov ecx, eax
call fcn.0047f130
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
push 0x114
mov ecx, eax
call fcn.0047b1b0
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
mov edx, str.Server_State_:
mov ecx, eax
call fcn.0047f130
mov edx, esi
mov ecx, eax
call fcn.004a0d80
cmp dword [ebp + 0x1dc], 0x10
jb 0x4d69c8
mov eax, dword [ebp + 0x1c8]
test eax, eax
je 0x4d69c8
push eax
call fcn.005074d4
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 0x4d6a03
mov eax, dword [ebp + 0x1b0]
test eax, eax
je 0x4d6a03
push eax
call fcn.005074d4
add esp, 4
lea eax, [ebp + 0x1b0]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b6a0
mov esi, eax
mov byte [ebp - 4], 0x30
cmp dword [esi + 0x14], 0x10
jb 0x4d6a23
mov esi, dword [esi]
mov eax, dword [0x59e598]
test al, 1
jne 0x4d6a4e
or eax, 1
mov dword [0x59e598], eax
mov byte [ebp - 4], 0x31
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov byte [ebp - 4], 0x30
push esi
push 6
mov ecx, 0x59e5a8
call fcn.004a0b40
cmp dword [ebp + 0x1c4], 0x10
jb 0x4d6a77
mov eax, dword [ebp + 0x1b0]
test eax, eax
je 0x4d6a77
push eax
call fcn.005074d4
add esp, 4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x2c
call fcn.0047b620
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x56a6f8
push eax
call fcn.0052889f
add esp, 4
mov dword [ebp - 4], 0x2a
mov ecx, dword [ebp + 0x18]
test ebx, ebx
jne 0x4d6c60
mov eax, dword [ebp + 0xc]
cmp eax, 4
jne 0x4d6ad3
mov dword [ebp + 0x1c], ebx
jmp 0x4d6c60
cmp eax, 9
jne 0x4d6c60
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 0x4d68a0
mov eax, dword [0x59e598]
test al, 1
jne 0x4d6b28
or eax, 1
mov dword [0x59e598], eax
mov byte [ebp - 4], 0x33
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov byte [ebp - 4], 0x2a
mov eax, dword [0x596f88]
test byte [eax + 0x1c], 2
je 0x4d6b3d
cmp byte [eax + 0x19], 2
jb 0x4d6b3d
mov al, 1
jmp 0x4d6b3f
xor al, al
cmp byte [0x59e5a8], 0
jne 0x4d6b59
cmp byte [0x59e5a9], 0
jne 0x4d6b59
test al, al
je 0x4d6c60
sub esp, 8
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0xa8]
call fcn.0047b550
lea ecx, [ebp + 0x1b0]
mov byte [ebp - 4], 0x35
call fcn.004a0cb0
mov edx, eax
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0xa8]
call fcn.0047eed0
mov edx, str..Service.cpp
mov ecx, eax
call fcn.0047f130
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
push 0x123
mov ecx, eax
call fcn.0047b1b0
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
mov edx, str.Failed_to_initialize_the_Client._Error_code
mov ecx, eax
call fcn.0047f130
push esi
mov ecx, eax
call fcn.0047b350
mov byte [ebp - 4], 0x35
cmp dword [ebp + 0x1c4], 0x10
jb 0x4d6bef
mov eax, dword [ebp + 0x1b0]
test eax, eax
je 0x4d6bef
push eax
call fcn.005074d4
add esp, 4
lea eax, [ebp + 0x1b0]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b6a0
mov esi, eax
mov byte [ebp - 4], 0x37
cmp dword [esi + 0x14], 0x10
jb 0x4d6c0f
mov esi, dword [esi]
call fcn.004a0950
push esi
push 2
mov ecx, eax
call fcn.004a0b40
cmp dword [ebp + 0x1c4], 0x10
jb 0x4d6c3a
mov eax, dword [ebp + 0x1b0]
test eax, eax
je 0x4d6c3a
push eax
call fcn.005074d4
add esp, 4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x34
call fcn.0047b620
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x56a6f8
push eax
call fcn.0052889f
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], 0x573bd8
test eax, eax
je 0x4d6c8c
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 0x4d6cac
mov eax, dword [ebp + 0x2c]
test eax, eax
je 0x4d6cac
push eax
call fcn.005074d4
add esp, 4
mov eax, dword [0x59e598]
test al, 1
jne 0x4d6d11
or dword [0x59e598], 1
sub esp, 8
mov byte [ebp - 4], 0x39
mov ecx, 0x59e5b0
mov word [0x59e5a8], 0
call fcn.0047b550
mov dword [0x59e65c], 0xf
mov dword [0x59e658], 0
mov byte [0x59e648], 0
push ecx
mov ecx, 0x59e660
mov byte [ebp - 4], 0x3b
call fcn.004a1080
push 0x54e860
call fcn.0050765d
add esp, 4
mov byte [ebp - 4], 7
mov eax, dword [0x596f88]
test byte [eax + 0x1c], 2
je 0x4d6d2c
cmp byte [eax + 0x19], 6
jb 0x4d6d2c
mov al, 1
jmp 0x4d6d2e
xor al, al
cmp byte [0x59e5a8], 0
jne 0x4d6d48
cmp byte [0x59e5a9], 0
jne 0x4d6d48
test al, al
je 0x4d6e75
sub esp, 8
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0xa8]
call fcn.0047b550
lea ecx, [ebp + 0x1b0]
mov byte [ebp - 4], 0x3d
call fcn.004a0cb0
mov edx, eax
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0xa8]
call fcn.0047eed0
mov edx, str..Service.cpp
mov ecx, eax
call fcn.0047f130
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
push 0x129
mov ecx, eax
call fcn.0047b1b0
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
mov edx, 0x56a498
mov ecx, eax
call fcn.0047f130
mov edx, str.Service::StartTheService
mov ecx, eax
call fcn.0047f130
mov byte [ebp - 4], 0x3d
cmp dword [ebp + 0x1c4], 0x10
jb 0x4d6de2
mov eax, dword [ebp + 0x1b0]
test eax, eax
je 0x4d6de2
push eax
call fcn.005074d4
add esp, 4
lea eax, [ebp + 0x1b0]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b6a0
mov esi, eax
mov byte [ebp - 4], 0x3f
cmp dword [esi + 0x14], 0x10
jb 0x4d6e02
mov esi, dword [esi]
mov eax, dword [0x59e598]
test al, 1
jne 0x4d6e2d
or eax, 1
mov dword [0x59e598], eax
mov byte [ebp - 4], 0x40
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov byte [ebp - 4], 0x3f
push esi
push 6
mov ecx, 0x59e5a8
call fcn.004a0b40
cmp dword [ebp + 0x1c4], 0x10
jb 0x4d6e56
mov eax, dword [ebp + 0x1b0]
test eax, eax
je 0x4d6e56
push eax
call fcn.005074d4
add esp, 4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x3c
call fcn.0047b620
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x56a6f8
push eax
call fcn.0052889f
add esp, 4
cmp dword [ebp + 0x1a8], 8
jb 0x4d6e91
mov eax, dword [ebp + 0x194]
test eax, eax
je 0x4d6e91
push eax
call fcn.005074d4
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.00506c7d
lea esp, [ebp + 0x1e4]
pop ebp
ret