Function at 0x4038a0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x426c71
mov eax, dword fs:[0]
push eax
sub esp, 0x168
mov eax, dword [0x431c44]
xor eax, esp
mov dword [esp + 0x130], eax
push ebx
push esi
push edi
mov eax, dword [0x431c44]
xor eax, esp
push eax
lea eax, [esp + 0x178]
mov dword fs:[0], eax
lea edi, [esp + 0xbc]
call section..text
xor ebx, ebx
mov esi, edi
mov dword [esp + 0x180], ebx
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x50], ebx
call fcn.00401140
test al, al
jne 0x403973
push str.CCommunicate_init_failure.
call fcn.0041129d
add esp, 4
mov dword [esp + 0xbc], vtable.CCommunicate.0
call dword [sym.imp.WS2_32.dll_WSACleanup]
push str.WSACleanup_Success__n
call fcn.0041129d
add esp, 4
lea eax, [esp + 0xf0]
call fcn.00401550
lea eax, [esp + 0xcc]
call fcn.00401550
mov ecx, dword [esp + 0x178]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x130]
xor ecx, esp
call fcn.0041128e
mov esp, ebp
pop ebp
ret
push 0x435ad0
push ebx
push str.autononote
push str.svchstrun
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push ebx
mov dword [esp + 0x58], eax
call fcn.004113b3
add esp, 4
push eax
call fcn.00411e70
add esp, 4
nop
mov eax, dword [esp + 0x130]
cmp eax, 2
je 0x403bbe
cmp eax, ebx
je 0x403bbe
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0xd0]
lea eax, [eax + ecx - 1]
cdq
idiv ecx
mov ecx, dword [esp + 0xcc]
lea edi, [esp + 0x5c]
lea eax, [esp + 0xcc]
mov edx, dword [ecx + edx*4]
mov esi, edx
mov ecx, 0x18
rep movsd dword es:[edi], dword [esi]
call fcn.00401650
mov eax, dword [esp + 0xd4]
cmp eax, ebx
jne 0x403a04
mov dword [esp + 0x130], ebx
jmp 0x403a0a
jl 0x403bbe
push str.Receive_a_digit_message:_n
call fcn.0041129d
mov edi, dword [esp + 0x60]
add esp, 4
push edi
push str.____msgCode___d_n
call fcn.0041129d
mov edx, dword [esp + 0xb4]
push edx
push str.____Receiver___d_n
call fcn.0041129d
mov eax, dword [esp + 0xc0]
push eax
push str.____RecvModule___d_n
call fcn.0041129d
mov ecx, dword [esp + 0xcc]
push ecx
push str.____Sender___d_n
call fcn.0041129d
mov edx, dword [esp + 0xd8]
push edx
push str.____SendModule___d_n
call fcn.0041129d
push str.____param:
call fcn.0041129d
add esp, 0x2c
xor esi, esi
lea ecx, [ecx]
fld qword [0x42bca8]
fcomp qword [esp + esi*8 + 0x64]
fnstsw ax
test ah, 0x44
jnp 0x403aa9
fld qword [esp + esi*8 + 0x64]
sub esp, 8
fstp qword [esp]
push esi
push str.__d_:_.1f
call fcn.0041129d
add esp, 0x10
inc esi
cmp esi, 9
jl 0x403a80
push 0x42bc78
call fcn.0041129d
add esp, 4
cmp edi, 0x2711
jne 0x403ace
call fcn.004022f0
jmp 0x403bbe
cmp edi, 0x2712
jne 0x403bec
call fcn.00406171
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
je 0x403d2d
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x4c], eax
mov eax, 0x4358c0
mov byte [esp + 0x180], 1
lea ecx, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x403b10
sub eax, ecx
push eax
push 0x4358c0
lea ecx, [esp + 0x54]
call fcn.004042a0
mov esi, dword [esp + 0x4c]
push ecx
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
mov dword [esp + 0x5c], esp
mov ebx, esp
call eax
cmp dword [esi + 0xc], 0
lea edx, [esi + 0xc]
jl 0x403b5a
cmp eax, dword [esi]
jne 0x403b5a
mov edi, esi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x403b8e
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x403d37
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
lea ecx, [esi + 0x10]
push ecx
push eax
lea edx, [edi + 0x10]
push edx
call fcn.00411404
add esp, 0x10
add edi, 0x10
mov dword [ebx], edi
call fcn.00401b20
add esp, 4
mov byte [esp + 0x180], 0
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x403bbc
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
xor ebx, ebx
cmp dword [esp + 0x54], 1
jne 0x403d06
call fcn.00411e82
cdq
mov ecx, 0x23280
idiv ecx
cmp edx, 1
jne 0x403bfd
cmp dword [esp + 0x48], ebx
jge 0x403c03
call fcn.004022f0
mov dword [esp + 0x48], ebx
jmp 0x403c03
cmp edi, 0x2713
jne 0x403bbe
mov dword [esp + 0x54], ebx
jmp 0x403d06
cmp dword [esp + 0x48], ebx
jl 0x403c08
add dword [esp + 0x48], 2
cmp dword [esp + 0x48], 0xb4
jle 0x403d06
call fcn.00406171
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
je 0x403d2d
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x4c], eax
mov eax, 0x4358c0
mov byte [esp + 0x180], 2
lea ecx, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x403c50
sub eax, ecx
push eax
push 0x4358c0
lea ecx, [esp + 0x54]
call fcn.004042a0
mov esi, dword [esp + 0x4c]
push ecx
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
mov dword [esp + 0x5c], esp
mov ebx, esp
call eax
cmp dword [esi + 0xc], 0
lea edx, [esi + 0xc]
jl 0x403c9a
cmp eax, dword [esi]
jne 0x403c9a
mov edi, esi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x403cce
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x403d37
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
lea ecx, [esi + 0x10]
push ecx
push eax
lea edx, [edi + 0x10]
push edx
call fcn.00411404
add esp, 0x10
add edi, 0x10
mov dword [ebx], edi
call fcn.00401b20
add esp, 4
mov dword [esp + 0x48], 0xffffffff
mov byte [esp + 0x180], 0
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x403d04
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
xor ebx, ebx
cmp dword [esp + 0x50], 0xf0
jle 0x403d19
call fcn.004023d0
mov dword [esp + 0x50], ebx
inc dword [esp + 0x50]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4039a0
push 0x80004005
call fcn.00401850
call fcn.00404330
int3