Function at 0x8ae250
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x744
mov eax, dword [0xb196ec]
xor eax, esp
mov dword [esp + 0x740], eax
push ebx
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0xb55508
lea eax, [esp + 0x118]
push eax
mov esi, ecx
mov ebx, edx
call edi
cmp byte [esp + 0x114], 0
je 0x8ae2c0
lea eax, [esp + 0x114]
inc eax
cmp byte [eax], 0
jne 0x8ae297
lea ecx, [esp + 0x114]
sub eax, ecx
je 0x8ae2c0
cmp byte [esp + eax + 0x113], 0x5c
je 0x8ae2c0
push 0xaa1564
mov edx, ecx
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [esp + 0x118]
push eax
call esi
push 0xb55508
lea ecx, [esp + 0x14]
push ecx
call edi
cmp byte [esp + 0x10], 0
je 0x8ae307
lea eax, [esp + 0x10]
inc eax
cmp byte [eax], 0
jne 0x8ae2e8
lea edx, [esp + 0x10]
sub eax, edx
je 0x8ae307
cmp byte [esp + eax + 0xf], 0x5c
je 0x8ae307
push 0xaa1564
mov eax, edx
push eax
call esi
push ebx
lea ecx, [esp + 0x14]
push ecx
call esi
mov esi, dword [ebp + 8]
lea edx, [esp + 0x218]
mov eax, esi
sub edx, esi
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x8ae320
lea edx, [esp + 0x640]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x8ae335
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
xor ebx, ebx
mov dword [esp + 0x320], edx
mov dword [esp + 0x31c], ecx
push 1
push ebx
xor edx, edx
lea ecx, [esp + 0x18]
mov dword [esp + 0x334], ebx
mov dword [esp + 0x32c], ebx
mov dword [esp + 0x330], eax
xor esi, esi
call fcn.0095a0f0
add esp, 8
test eax, eax
jne 0x8ae389
lea esi, [ebx + 1]
jmp 0x8ae3bb
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x43c]
push str._RRServ__RestServ_NOT_starting_as_foll_file_missing:__s
push eax
call fcn.00a78f30
add esp, 0xc
push ebx
push 1
lea ecx, [esp + 0x440]
push ecx
push 0xb54ce8
call fcn.008808e0
add esp, 0x10
push 1
push ebx
xor edx, edx
lea ecx, [esp + 0x11c]
call fcn.0095a0f0
add esp, 8
test eax, eax
jne 0x8ae3d8
lea ebx, [eax + 1]
jmp 0x8ae40d
lea edx, [esp + 0x114]
push edx
lea eax, [esp + 0x43c]
push str._RRServ__RestServ_NOT_starting_as_foll_file_missing:__s
push eax
call fcn.00a78f30
add esp, 0xc
push ebx
push 1
lea ecx, [esp + 0x440]
push ecx
push 0xb54ce8
call fcn.008808e0
add esp, 0x10
xor edi, edi
lea ecx, [esp + 0x640]
call fcn.009620b0
test eax, eax
je 0x8ae424
lea eax, [edi + 1]
jmp 0x8ae45c
lea edx, [esp + 0x640]
push edx
lea eax, [esp + 0x43c]
push str._RRServ__RestServ_NOT_starting_as_Service_missing:__s
push eax
call fcn.00a78f30
add esp, 0xc
push 0
push 1
lea ecx, [esp + 0x440]
push ecx
push 0xb54ce8
call fcn.008808e0
add esp, 0x10
mov eax, edi
test esi, esi
je 0x8ae544
test ebx, ebx
je 0x8ae544
test eax, eax
je 0x8ae544
mov edx, dword [ebp + 0x10]
push edx
lea eax, [esp + 0x644]
push eax
lea ecx, [esp + 0x440]
push str._RRServ__RestServ_started_for__s__OnlyIfStopped:_u_
push ecx
call fcn.00a78f30
push 0
push 1
lea edx, [esp + 0x450]
push edx
push 0xb54ce8
call fcn.008808e0
lea eax, [esp + 0x30]
push eax
push 0
push 0x8ad3a0
call fcn.00a791b2
add esp, 0x2c
cmp eax, 0xffffffff
jne 0x8ae517
push 0x103
lea ecx, [esp + 0x335]
push 0
push ecx
mov byte [esp + 0x33c], 0
call fcn.00a7ffb0
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea edx, [esp + 0x334]
push str.Error:_beginthread_q5__fails_with_error__d
push edx
call fcn.00a78f30
add esp, 0xc
push 0
push 1
lea eax, [esp + 0x338]
push eax
push 0xb54ce8
call fcn.008808e0
add esp, 0x10
jmp 0x8ae528
push str.CBD_5w
xor ebx, ebx
mov esi, eax
call fcn.0085df20
add esp, 4
cmp dword [esp + 0x32c], edi
jne 0x8ae544
mov esi, 5
call fcn.0094d160
cmp dword [esp + 0x32c], edi
je 0x8ae531
mov ecx, dword [esp + 0x74c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00a78f21
mov esp, ebp
pop ebp
ret