Function at 0x43ba80
Capabilities:
Read .ini file
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
mov eax, dword [0x4e96d0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
mov esi, dword [edi + 0x280]
cmp dword [esi - 0xc], 0
jne 0x43bb2d
push 0x81
lea ecx, [ebp - 0x210]
call fcn.0041d2b0
push 0xa4
lea ecx, [ebp - 0x214]
mov esi, dword [eax]
call fcn.0041d2b0
push 0
push esi
push dword [eax]
push dword [edi + 4]
call dword [sym.imp.USER32.dll_MessageBoxW]
mov edx, dword [ebp - 0x214]
or ebx, 0xffffffff
add edx, 0xfffffff0
mov eax, ebx
lea ecx, [edx + 0xc]
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x43bafa
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x210]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x43bb17
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004712e4
mov esp, ebp
pop ebp
ret
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20a]
push eax
call fcn.0047c2c0
add esp, 0xc
lea eax, [ebp - 0x20c]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0x104
push eax
push 0x4cea78
push str.File
push 0x4d2780
call esi
test eax, eax
je 0x43bb91
mov eax, dword [edi + 0x1b8]
lea ecx, [edi + 0x1b8]
cmp dword [eax - 0xc], 0
jne 0x43bb91
lea eax, [ebp - 0x20c]
push eax
call fcn.00418fb0
push dword [edi + 0x280]
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0x4cea78
push str.Login
push str.Common
call esi
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x43bbd6
push 0x41c
push dword [edi + 4]
call ebx
lea ecx, [ebp - 0x20c]
push ecx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
push dword [edi + 0x280]
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0x4cea78
push str.Password
push str.Common
call esi
test eax, eax
je 0x43bc15
push 0x41d
push dword [edi + 4]
call ebx
lea ecx, [ebp - 0x20c]
push ecx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
push dword [edi + 0x280]
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0x4cea78
push str.PrimaryServerNameIP
push str.Common
call esi
test eax, eax
je 0x43bc54
push 0x41e
push dword [edi + 4]
call ebx
lea ecx, [ebp - 0x20c]
push ecx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
push dword [edi + 0x280]
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0x4cea78
push str.PrimaryServerPort
push str.Common
call esi
test eax, eax
je 0x43bc93
push 0x41f
push dword [edi + 4]
call ebx
lea ecx, [ebp - 0x20c]
push ecx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
push dword [edi + 0x280]
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0x4cea78
push str.AlternateServerNameIP
push str.Common
call esi
test eax, eax
je 0x43bcd2
push 0x420
push dword [edi + 4]
call ebx
lea ecx, [ebp - 0x20c]
push ecx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
push dword [edi + 0x280]
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0x4cea78
push str.AlternateServerPort
push str.Common
call esi
test eax, eax
je 0x43bd11
push 0x421
push dword [edi + 4]
call ebx
lea ecx, [ebp - 0x20c]
push ecx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
push dword [edi + 0x280]
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0x4cea78
push str.CopyParam
push str.Common
call esi
push dword [edi + 0x280]
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0x4cea78
push 0x4d286c
push str.AddComp
call esi
test eax, eax
je 0x43bd85
lea ecx, [ebp - 0x20c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43bd64
sub ecx, edx
lea eax, [ebp - 0x20c]
sar ecx, 1
push ecx
push eax
mov ecx, 0x4f3290
call fcn.00419800
push dword [edi + 0x280]
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0x4cea78
push str.Login
push str.AddComp
call esi
test eax, eax
je 0x43bdd6
lea ecx, [ebp - 0x20c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43bdb5
sub ecx, edx
lea eax, [ebp - 0x20c]
sar ecx, 1
push ecx
push eax
mov ecx, 0x4f327c
call fcn.00419800
push dword [edi + 0x280]
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0x4cea78
push str.Password
push str.AddComp
call esi
test eax, eax
je 0x43be27
lea ecx, [ebp - 0x20c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43be06
sub ecx, edx
lea eax, [ebp - 0x20c]
sar ecx, 1
push ecx
push eax
mov ecx, 0x4f3284
call fcn.00419800
push dword [edi + 0x280]
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0x4cea78
push str.PrimaryServerNameIP
push str.AddComp
call esi
test eax, eax
je 0x43be78
lea ecx, [ebp - 0x20c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43be57
sub ecx, edx
lea eax, [ebp - 0x20c]
sar ecx, 1
push ecx
push eax
mov ecx, 0x4f3288
call fcn.00419800
push dword [edi + 0x280]
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0x4cea78
push str.PrimaryServerPort
push str.AddComp
call esi
test eax, eax
je 0x43bed1
lea ecx, [ebp - 0x20c]
lea edx, [ecx + 2]
jmp 0x43beb0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43beb0
sub ecx, edx
lea eax, [ebp - 0x20c]
sar ecx, 1
push ecx
push eax
mov ecx, 0x4f3278
call fcn.00419800
push dword [edi + 0x280]
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0x4cea78
push str.AlternateServerNameIP
push str.AddComp
call esi
test eax, eax
je 0x43bf22
lea ecx, [ebp - 0x20c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43bf01
sub ecx, edx
lea eax, [ebp - 0x20c]
sar ecx, 1
push ecx
push eax
mov ecx, 0x4f3280
call fcn.00419800
push dword [edi + 0x280]
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0x4cea78
push str.AlternateServerPort
push str.AddComp
call esi
test eax, eax
je 0x43bf73
lea ecx, [ebp - 0x20c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43bf52
sub ecx, edx
lea eax, [ebp - 0x20c]
sar ecx, 1
push ecx
push eax
mov ecx, 0x4f3274
call fcn.00419800
push dword [edi + 0x280]
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0x4cea78
push str.RangeFrom
push str.AddRange
call esi
or ebx, 0xffffffff
test eax, eax
je 0x43bff6
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x210]
call fcn.00418b90
push dword [eax]
call dword [sym.imp.WSOCK32.dll_inet_addr]
mov edx, eax
mov ecx, eax
shr edx, 8
shl ecx, 8
xor edx, ecx
shl eax, 8
and edx, 0xff00ff
mov ecx, ebx
xor edx, eax
rol edx, 0x10
mov dword [0x4f2df0], edx
mov edx, dword [ebp - 0x210]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x43bff6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [edi + 0x280]
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0x4cea78
push str.RangeTo
push str.AddRange
call esi
test eax, eax
je 0x43c074
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x210]
call fcn.00418b90
push dword [eax]
call dword [sym.imp.WSOCK32.dll_inet_addr]
mov edx, eax
mov ecx, eax
shr edx, 8
shl ecx, 8
xor edx, ecx
shl eax, 8
and edx, 0xff00ff
xor edx, eax
rol edx, 0x10
mov dword [0x4f2df4], edx
mov edx, dword [ebp - 0x210]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x43c074
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [edi + 0x280]
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0x4cea78
push str.Login
push str.AddRange
call esi
test eax, eax
je 0x43c0c5
lea ecx, [ebp - 0x20c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43c0a4
sub ecx, edx
lea eax, [ebp - 0x20c]
sar ecx, 1
push ecx
push eax
mov ecx, 0x4f32c0
call fcn.00419800
push dword [edi + 0x280]
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0x4cea78
push str.Password
push str.AddRange
call esi
test eax, eax
je 0x43c116
lea ecx, [ebp - 0x20c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43c0f5
sub ecx, edx
lea eax, [ebp - 0x20c]
sar ecx, 1
push ecx
push eax
mov ecx, 0x4f32b0
call fcn.00419800
push dword [edi + 0x280]
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0x4cea78
push str.PrimaryServerNameIP
push str.AddRange
call esi
test eax, eax
je 0x43c167
lea ecx, [ebp - 0x20c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43c146
sub ecx, edx
lea eax, [ebp - 0x20c]
sar ecx, 1
push ecx
push eax
mov ecx, 0x4f32bc
call fcn.00419800
push dword [edi + 0x280]
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0x4cea78
push str.PrimaryServerPort
push str.AddRange
call esi
test eax, eax
je 0x43c1b8
lea ecx, [ebp - 0x20c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43c197
sub ecx, edx
lea eax, [ebp - 0x20c]
sar ecx, 1
push ecx
push eax
mov ecx, 0x4f32b4
call fcn.00419800
push dword [edi + 0x280]
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0x4cea78
push str.AlternateServerNameIP
push str.AddRange
call esi
test eax, eax
je 0x43c211
lea ecx, [ebp - 0x20c]
lea edx, [ecx + 2]
jmp 0x43c1f0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43c1f0
sub ecx, edx
lea eax, [ebp - 0x20c]
sar ecx, 1
push ecx
push eax
mov ecx, 0x4f32a8
call fcn.00419800
push dword [edi + 0x280]
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0x4cea78
push str.AlternateServerPort
push str.AddRange
call esi
test eax, eax
je 0x43c262
lea ecx, [ebp - 0x20c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43c241
sub ecx, edx
lea eax, [ebp - 0x20c]
sar ecx, 1
push ecx
push eax
mov ecx, 0x4f32ac
call fcn.00419800
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004712e4
mov esp, ebp
pop ebp
ret