Function at 0x45c6a0
Capabilities:
Create thread
Extract resource via kernel32 functions
Initialize winsock library
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6133ff
mov eax, dword fs:[0]
push eax
sub esp, 0x2dc
mov eax, dword [0x711ab8]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x1e4], edi
mov dword [edi], vtable.CNet.0
lea eax, [edi + 4]
push eax
call fcn.00463360
xor esi, esi
mov dword [ebp - 4], esi
lea ecx, [edi + 0x24]
push ecx
call fcn.00401280
mov byte [ebp - 4], 1
lea edx, [edi + 0x5c]
push edx
call fcn.0045a3a0
mov byte [ebp - 4], 2
mov byte [edi + 0x7c], 0
mov dword [edi + 0x80], esi
mov dword [edi + 0x84], 1
lea eax, [edi + 0x88]
push eax
call fcn.00443eb0
mov byte [ebp - 4], 3
lea eax, [edi + 0xa0]
push eax
mov ebx, dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
call ebx
mov byte [ebp - 4], 4
mov dword [edi + 0xb8], esi
lea ecx, [edi + 0xbc]
push ecx
call fcn.0045c2f0
mov byte [ebp - 4], 5
lea edx, [edi + 0x12c]
push edx
call fcn.00401280
mov byte [ebp - 4], 6
lea eax, [edi + 0x164]
push eax
call fcn.004635b0
mov byte [ebp - 4], 7
lea ecx, [edi + 0x184]
push ecx
call fcn.00401280
mov byte [ebp - 4], 8
lea edx, [edi + 0x1bc]
push edx
call fcn.00463720
mov byte [ebp - 4], 9
lea eax, [edi + 0x1dc]
push eax
call ebx
mov byte [ebp - 4], 0xa
lea eax, [edi + 0x1f4]
push eax
call fcn.00463950
mov byte [ebp - 4], 0xb
lea eax, [edi + 0x210]
push eax
call ebx
mov byte [ebp - 4], 0xc
lea ecx, [edi + 0x228]
push ecx
call fcn.004684b0
mov byte [ebp - 4], 0xd
lea edx, [edi + 0x258]
push edx
call fcn.00463a30
mov byte [ebp - 4], 0xe
lea esi, [edi + 0x278]
call fcn.0044f500
mov byte [ebp - 4], 0xf
lea eax, [edi + 0x2ec]
push eax
call ebx
mov byte [ebp - 4], 0x10
xor eax, eax
mov word [ebp - 0x1e0], ax
push 0x18e
push eax
lea ecx, [ebp - 0x1de]
push ecx
call fcn.005c8fb0
add esp, 0xc
lea edx, [ebp - 0x1e0]
push edx
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
push 0
push 0
push 0
push 0x45d520
push 0
push 0
call fcn.005c4af6
add esp, 0x18
push 0x6d231c
push 0x7d0
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov esi, eax
test esi, esi
je 0x45c8c0
push esi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x45c8c0
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov ebx, eax
push esi
push 0
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov esi, eax
lea eax, [esi + 1]
push eax
call fcn.005c2957
add esp, 4
mov edi, eax
push esi
push ebx
push edi
call fcn.005c7620
add esp, 0xc
mov byte [edi + esi], 0
test edi, edi
jne 0x45c89f
xor eax, eax
jmp 0x45c8ad
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45c8a4
sub eax, edx
push edi
mov edi, eax
mov eax, 0x72a854
call fcn.0040f900
mov edi, dword [ebp - 0x1e4]
push ecx
mov ecx, esp
mov dword [ebp - 0x224], esp
push ecx
mov ecx, 0x6ca128
call fcn.0040b990
mov byte [ebp - 4], 0x11
push ecx
mov edx, esp
mov dword [ebp - 0x1f8], esp
push edx
mov ecx, 0x6d2324
call fcn.0040b990
mov byte [ebp - 4], 0x12
push 0x72b29c
mov byte [ebp - 4], 0x10
lea esi, [ebp - 0x1fc]
call fcn.0044ee30
mov bl, 0x13
mov byte [ebp - 4], bl
mov eax, esi
push eax
mov ecx, edi
call fcn.0045ead0
mov esi, 1
push ecx
mov ecx, esp
mov dword [ebp - 0x1f8], esp
push ecx
mov ecx, str.FilteringEnabled
call fcn.0040b990
mov byte [ebp - 4], 0x14
mov byte [ebp - 4], bl
mov ecx, esi
call fcn.0044ef10
mov dword [edi + 0xb8], eax
push 0x4e41
push 0x72a8f8
call fcn.004b8950
push 0x4e42
push 0x72a858
call fcn.004b8950
push 0x4e44
push 0x72a8a8
call fcn.004b8950
push 0x4e43
push 0x72a998
call fcn.004b8950
push 0x4e45
push 0x72a948
call fcn.004b8950
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x1f0], 0
lea edx, [ebp - 0x1ec]
push edx
call fcn.004c12a0
add esp, 4
mov byte [ebp - 4], 0x16
push eax
lea eax, [ebp - 0x1f4]
push eax
mov ebx, 0x6d2368
call fcn.0041e2b0
mov byte [ebp - 4], 0x17
mov eax, dword [eax]
push 0x6d2364
push eax
lea ecx, [ebp - 0x1f0]
push ecx
call fcn.005c72dd
add esp, 0x14
test eax, eax
sete bl
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x1f4]
call fcn.0040ba40
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x1ec]
call fcn.0040ba40
test bl, bl
je 0x45cb3c
lea edx, [ebp - 0x1e8]
push edx
call fcn.0040b700
mov byte [ebp - 4], 0x18
mov edi, 0x448
lea eax, [ebp - 0x50]
call fcn.0041e470
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x1f0]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
push 0
lea ecx, [ebp - 0x50]
call fcn.0040ad90
push eax
call fcn.005c7744
add esp, 0xc
test eax, eax
je 0x45cb0c
cmp dword [ebp - 0x38], 0x10
mov edx, dword [ebp - 0x4c]
jae 0x45ca57
lea edx, [ebp - 0x4c]
lea ebx, [ebp - 0x1e8]
call fcn.0040b870
push 0x6d09d8
mov eax, ebx
call fcn.0041cd10
lea edx, [ebp - 0x200]
push edx
mov ecx, str._r_nt
call fcn.0040b760
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x200]
push eax
push 0x6d238c
mov ecx, ebx
push ecx
lea edx, [ebp - 0x23c]
push edx
call fcn.004c21d0
add esp, 0x10
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x200]
call fcn.0040b810
mov eax, dword [ebp - 0x22c]
sub eax, dword [ebp - 0x230]
and eax, 0xfffffffc
cmp eax, 8
jne 0x45caf7
lea edi, [eax - 7]
lea esi, [ebp - 0x23c]
call fcn.00424a10
mov ebx, eax
xor edi, edi
call fcn.00424a10
mov ecx, dword [ebp - 0x1e4]
add ecx, 0x5c
push ecx
mov ecx, eax
call fcn.0045a3f0
mov ecx, eax
mov eax, ebx
mov ebx, ecx
call fcn.0040dcb0
mov byte [ebp - 4], 0x19
lea edx, [ebp - 0x23c]
push edx
call fcn.0041cb00
jmp 0x45ca25
mov eax, dword [ebp - 0x1f0]
push eax
call fcn.005c7903
add esp, 4
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x50]
call fcn.0040ac20
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x1e8]
call fcn.0040b810
mov edi, dword [ebp - 0x1e4]
mov dword [ebp - 4], 0x13
jmp 0x45cb58
mov dword [ebp - 0x1c], 0xf
xor ebx, ebx
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x30], bl
mov byte [ebp - 4], 0x1e
mov dword [ebp - 0x18], ebx
mov byte [ebp - 4], 0x1f
push ebx
lea ecx, [ebp - 0x34]
call fcn.0041ec60
test al, al
je 0x45cd3e
lea edx, [edi + 0x258]
lea ecx, [ebp - 0x34]
call fcn.00420ad0
lea ecx, [edi + 0xbc]
push ecx
lea edx, [ebp - 0x34]
push edx
call fcn.00420dd0
lea eax, [ebp - 0x220]
push eax
call fcn.00443eb0
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x220]
push ecx
lea edx, [ebp - 0x34]
push edx
call fcn.00421120
mov eax, dword [ebp - 0x210]
sub eax, dword [ebp - 0x214]
sar eax, 2
cmp eax, ebx
jbe 0x45ccda
mov dword [ebp - 0x208], 0
cmp ebx, eax
jb 0x45cbeb
call fcn.005c475a
mov eax, dword [ebp - 0x214]
mov ecx, dword [eax + ebx*4]
push ecx
lea edx, [ebp - 0x34]
push edx
lea ecx, [ebp - 0x208]
call fcn.00421000
mov dword [ebp - 0x1ec], eax
test eax, eax
je 0x45ccc2
cmp dword [ebp - 0x208], 0xa8
jne 0x45ccc2
push 0xa8
push 0
lea eax, [ebp - 0x2e4]
push eax
call fcn.005c8fb0
add esp, 0xc
mov ecx, dword [ebp - 0x210]
sub ecx, dword [ebp - 0x214]
sar ecx, 2
cmp ebx, ecx
jb 0x45cc50
call fcn.005c475a
mov edx, dword [ebp - 0x214]
lea eax, [edx + ebx*4]
add edi, 0x164
mov dword [ebp - 0x1f4], edi
push edi
call fcn.00463600
mov ecx, 0x2a
lea esi, [ebp - 0x2e4]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x210]
sub eax, dword [ebp - 0x214]
sar eax, 2
cmp ebx, eax
jb 0x45cc92
call fcn.005c475a
mov ecx, dword [ebp - 0x214]
lea eax, [ecx + ebx*4]
push 0xa8
mov edx, dword [ebp - 0x1ec]
push edx
mov ecx, dword [ebp - 0x1f4]
push ecx
call fcn.00463600
push eax
call fcn.005c9060
add esp, 0xc
mov edi, dword [ebp - 0x1e4]
inc ebx
mov eax, dword [ebp - 0x210]
sub eax, dword [ebp - 0x214]
sar eax, 2
cmp ebx, eax
jb 0x45cbd8
lea edx, [edi + 0xd4]
push edx
lea eax, [ebp - 0x34]
push eax
call fcn.004211d0
lea ecx, [edi + 0x1f4]
lea edx, [ebp - 0x34]
push edx
call fcn.004215b0
push 0xe0
call fcn.005c39f5
add esp, 4
mov dword [ebp - 0x1f8], eax
mov byte [ebp - 4], 0x21
xor ebx, ebx
cmp eax, ebx
je 0x45cd22
lea ecx, [ebp - 0x34]
push ecx
push eax
call fcn.004172d0
jmp 0x45cd24
xor eax, eax
mov byte [ebp - 4], 0x20
mov dword [edi + 0x304], eax
mov byte [ebp - 4], 0x1f
lea edx, [ebp - 0x220]
push edx
call fcn.00484970
lea eax, [ebp - 0x204]
push eax
mov ecx, 0x6d2390
call fcn.0040b990
mov byte [ebp - 4], 0x22
mov ecx, dword [0x72b29c]
push ecx
push ebx
mov edx, dword [ebp - 0x204]
push edx
push str.SETTINGS
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov esi, eax
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0x204]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or ebx, 0xffffffff
mov edx, ebx
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x45cd97
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp esi, 1
jne 0x45cda9
push 0
call fcn.0045cfc0
mov edi, dword [ebp - 0x1e4]
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x34]
push ecx
call fcn.00417000
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x1fc]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
mov ecx, ebx
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x45cddb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], ebx
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005c397a
mov esp, ebp
pop ebp
ret