Function at 0x1002d140
Capabilities:
Create thread
Read .ini file

Disassembly:
push ebp
lea ebp, [esp - 0xf40]
sub esp, 0xf40
push 0xfffffffffffffffe
push 0x10185eb8
push 0x10132540
mov eax, dword fs:[0]
push eax
sub esp, 0x18
mov eax, dword [0x10189710]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp + 0xf3c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
xor edi, edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], edi
mov byte [ebp + 0x924], 0
push 0x103
push edi
lea eax, [ebp + 0x925]
push eax
call fcn.1012e060
mov byte [ebp + 0xd34], 0
push 0x207
push edi
lea ecx, [ebp + 0xd35]
push ecx
call fcn.1012e060
add esp, 0x18
call fcn.10016ab0
cmp dword [ebp + 0xf48], edi
je 0x1002d206
xor ecx, ecx
call fcn.1007aaf0
test eax, eax
je 0x1002d206
push str._COMM__User_context_is_SYSTEM__No_point_loading_Comm_Server_
lea edx, [ebp + 0xd34]
push edx
call fcn.10127dc0
lea eax, [ebp + 0xd34]
push eax
push 0x1014d8cc
call fcn.10017540
add esp, 0x10
jmp 0x1002d87f
push edi
push edi
call fcn.10083610
mov ebx, eax
mov dword [ebp - 0x24], ebx
cmp ebx, edi
jne 0x1002d236
push str.commstrt_mutex
push str.PRE__s
lea ecx, [ebp + 0xc30]
push ecx
call fcn.10127dc0
add esp, 0xc
mov ecx, str.commstrt_mutex
jmp 0x1002d256
push ebx
push str.commstrt_mutex
push str.PRE__s_d
lea edx, [ebp + 0xc30]
push edx
call fcn.10127dc0
add esp, 0x10
lea ecx, [ebp + 0xc30]
push 1
call fcn.10067220
mov esi, eax
mov dword [ebp - 0x20], esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, edi
je 0x1002d2f2
cmp eax, 0xb7
jne 0x1002d2af
cmp esi, edi
je 0x1002d2f2
push ebx
push str._COMM__Comm_Server_for_Session__d_already_Running__A__
lea eax, [ebp + 0xd34]
push eax
call fcn.10127dc0
lea ecx, [ebp + 0xd34]
push ecx
push 0x1014d8cc
call fcn.10017540
add esp, 0x14
lea edx, [ebp - 0x20]
push edx
call fcn.10082e10
jmp 0x1002d87f
push 0x104
lea esi, [ebp + 0x924]
call fcn.10065360
push eax
push ebx
lea eax, [ebp + 0xc30]
push eax
push str._COMM__Unable_to_create_mutex__s_for_Session__d__A___Error:__s
lea ecx, [ebp + 0xd34]
push ecx
call fcn.10127dc0
lea edx, [ebp + 0xd34]
push edx
push 0x1014d8cc
call fcn.10017540
add esp, 0x20
jmp 0x1002d87f
push 0x154
push edi
push 0x101b3208
call fcn.1012e060
add esp, 0xc
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [0x101acb68], 0
je 0x1002d3b2
push 0x101acb68
push 0x104
lea eax, [ebp + 0xb2c]
push eax
push str.127.0.0.1
push str.CommServerBindIP
push 0x10156244
call esi
lea ecx, [ebp + 0xb2c]
push ecx
push 0x101b3342
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x101acb68
push 0x104
lea edx, [ebp + 0xb2c]
push edx
push str.2227
push str.CommServerBindPort
push 0x10156244
call esi
lea eax, [ebp + 0xb2c]
push eax
call fcn.10128238
add esp, 4
mov word [0x101b3340], ax
cmp ax, di
jne 0x1002d3b2
push str._COMM__CommServ_Disabled.
lea ecx, [ebp + 0xd34]
push ecx
call fcn.10127dc0
lea edx, [ebp + 0xd34]
push edx
push 0x1014d8cc
call fcn.10017540
add esp, 0x10
jmp 0x1002d87f
cmp byte [0x101b3342], 0
jne 0x1002d3cb
push str.127.0.0.1
push 0x101b3342
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp word [0x101b3340], di
jne 0x1002d3df
mov eax, 0x8b3
mov word [0x101b3340], ax
cmp ebx, edi
jbe 0x1002d3f4
mov ecx, dword [0x101b3340]
lea edx, [ecx + ebx + 2]
mov word [0x101b3340], dx
call fcn.10096e60
test eax, eax
je 0x1002d40c
push edi
push edi
push 0x10097610
call fcn.10127f7d
add esp, 0xc
cmp dword [0x1018ad5c], 0xffffffff
jne 0x1002d41f
call fcn.1005a710
mov dword [0x1018ad5c], eax
call fcn.10011980
mov ebx, eax
mov dword [ebp - 0x28], ebx
cmp dword [0x1018ad5c], 0xb
ja 0x1002d47f
mov byte [ebp + 0xb2c], 0
push 0x103
push 0
lea eax, [ebp + 0xb2d]
push eax
call fcn.1012e060
add esp, 0xc
push 0x101acb68
push 0x104
lea ecx, [ebp + 0xb2c]
push ecx
push 0x1014d5e3
push str.NoUseCT
push 0x10156244
call esi
xor edx, edx
cmp byte [ebp + 0xb2c], 0x31
setne dl
mov edi, edx
push 0x101acb68
push 0x208
lea eax, [ebp + 0xd34]
push eax
push 0x1015f288
push str.UseCT
push 0x10156244
call esi
test ebx, ebx
je 0x1002d4f3
push str._COMM__Classification_Disabled__CG:1_
lea ecx, [ebp + 0xd34]
push ecx
call fcn.10127dc0
lea edx, [ebp + 0xd34]
push edx
push 0x1014d8cc
call fcn.10017540
mov eax, 0x30
mov word [ebp + 0xd34], ax
push 0x10156244
mov esi, 0x101acb68
lea eax, [ebp + 0xd34]
mov ebx, str.UseCT
call fcn.1005f6b0
add esp, 0x14
mov ebx, dword [ebp - 0x28]
mov al, byte [ebp + 0xd34]
mov esi, dword [ebp + 0xf48]
cmp al, 0x32
je 0x1002d50c
test esi, esi
je 0x1002d50c
cmp edi, 1
jne 0x1002d569
test ebx, ebx
jne 0x1002d569
mov byte [ebp + 0xa28], bl
push 0x103
push ebx
lea ecx, [ebp + 0xa29]
push ecx
call fcn.1012e060
push ebx
push edi
push esi
movsx edx, byte [ebp + 0xd34]
push edx
push str._COMM__Invoking_CTServer__B0_c__B1_u__B2_u__CG_u_
lea eax, [ebp + 0xa28]
push eax
call fcn.10127dc0
lea ecx, [ebp + 0xa28]
push ecx
push 0x1014d8cc
call fcn.10017540
push ebx
push ebx
push 0x1002c9a0
call fcn.10127f7d
add esp, 0x38
jmp 0x1002d6b0
push 0x103
push 0
cmp al, 0x31
jne 0x1002d66d
mov byte [ebp + 0x618], 0
lea edx, [ebp + 0x619]
push edx
call fcn.1012e060
mov byte [ebp + 0x208], 0
push 0x207
push 0
lea eax, [ebp + 0x209]
push eax
call fcn.1012e060
mov byte [ebp], 0
push 0x207
push 0
lea ecx, [ebp + 1]
push ecx
call fcn.1012e060
mov byte [ebp + 0x410], 0
push 0x207
push 0
lea edx, [ebp + 0x411]
push edx
call fcn.1012e060
push ebx
push str._COMM__Invoking_eScan_Cloud_Services__CG:_u_
lea eax, [ebp + 0xd34]
push eax
call fcn.10127dc0
lea ecx, [ebp + 0xd34]
push ecx
push 0x1014d8cc
call fcn.10017540
add esp, 0x44
lea edx, [ebp + 0x410]
push edx
lea ebx, [ebp]
lea edx, [ebp + 0x208]
lea ecx, [ebp + 0x618]
call fcn.10071b20
add esp, 4
lea eax, [ebp + 0x410]
push eax
lea ecx, [ebp + 0x71c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [ebp + 0x71c]
call fcn.10065200
push str.Groups.txt
lea edx, [ebp + 0x71c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp + 0x208]
push eax
lea ecx, [ebp + 0x71c]
call fcn.1008d800
push 0
push 0
push 0x1002c770
call fcn.10127f7d
add esp, 0x10
jmp 0x1002d6b0
mov byte [ebp + 0x820], 0
lea ecx, [ebp + 0x821]
push ecx
call fcn.1012e060
push ebx
push edi
push esi
movsx edx, byte [ebp + 0xd34]
push edx
push str._COMM__Not_Starting_Categorization_Server__UseCT_c__B1_u__B2_u__CG_u_
lea eax, [ebp + 0x820]
push eax
call fcn.10127dc0
lea ecx, [ebp + 0x820]
push ecx
push 0x1014d8cc
call fcn.10017540
add esp, 0x2c
mov dword [0x101b320c], 1
push 0
mov ecx, 0x101b3208
call fcn.10020870
add esp, 4
cmp eax, 1
jne 0x1002d829
mov edx, dword [ebp - 0x24]
push edx
movzx eax, word [0x101b3340]
push eax
push 0x101b3342
push str._COMM__Application_CommServer_Started_on__s:_d__ActiveConsoleId:__u_
lea ecx, [ebp + 0xd34]
push ecx
call fcn.10127dc0
lea edx, [ebp + 0xd34]
push edx
push 0x1014d8cc
call fcn.10017540
add esp, 0x1c
push 0
push 0
call fcn.10083610
mov edi, eax
test edi, edi
jne 0x1002d737
push str.commstrt_mutex
push 0x1014d8cc
lea eax, [ebp + 0xc30]
push eax
call fcn.10127dc0
add esp, 0xc
mov ecx, str.commstrt_mutex
jmp 0x1002d757
push edi
push str.commstrt_mutex
push str._s_d
lea ecx, [ebp + 0xc30]
push ecx
call fcn.10127dc0
add esp, 0x10
lea ecx, [ebp + 0xc30]
push 1
call fcn.10067220
mov esi, eax
mov dword [ebp - 0x1c], esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x1002d7f3
cmp eax, 0xb7
jne 0x1002d7b0
test esi, esi
je 0x1002d7f3
push edi
push str._COMM__Comm_Server_for_Session__d_already_Running__B__
lea edx, [ebp + 0xd34]
push edx
call fcn.10127dc0
lea eax, [ebp + 0xd34]
push eax
push 0x1014d8cc
call fcn.10017540
add esp, 0x14
lea ecx, [ebp - 0x1c]
push ecx
call fcn.10082e10
jmp 0x1002d87f
push 0x104
lea esi, [ebp + 0x924]
call fcn.10065360
push eax
push edi
lea edx, [ebp + 0xc30]
push edx
push str._COMM__Unable_to_create_mutex__s_for_Session__d__B___Error:__s
lea eax, [ebp + 0xd34]
push eax
call fcn.10127dc0
lea ecx, [ebp + 0xd34]
push ecx
push 0x1014d8cc
call fcn.10017540
add esp, 0x20
jmp 0x1002d87f
push str._COMM__Application_CommServer_Mutex_Created
lea edx, [ebp + 0xd34]
push edx
call fcn.10127dc0
lea eax, [ebp + 0xd34]
push eax
push 0x1014d8cc
call fcn.10017540
add esp, 0x10
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, edi
push 0x3e8
call esi
jmp 0x1002d820
lea ecx, [ebp - 0x1c]
push ecx
call fcn.10082e10
lea edx, [ebp - 0x20]
push edx
call fcn.10082e10
call fcn.10096dc0
push str._COMM__StartCommServer_Failed_
lea eax, [ebp + 0xd34]
push eax
call fcn.10127dc0
lea ecx, [ebp + 0xd34]
push ecx
push 0x1014d8cc
call fcn.10017540
add esp, 0x10
jmp 0x1002d87f
mov dword [ebp - 4], 0xfffffffe
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0xf3c]
xor ecx, ebp
call fcn.10127db1
add ebp, 0xf40
mov esp, ebp
pop ebp
ret