Function at 0x42a090
Capabilities:
Create tcp socket
Create thread
Get socket status
Initialize winsock library
Receive data
Receive data on socket
Resolve dns
Set socket configuration
Start tcp server

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47e580
mov eax, dword fs:[0]
push eax
sub esp, 0x314
mov eax, dword [0x49b024]
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
xor edi, edi
push pe_nt_image_headers32
lea eax, [ebp - 0x13c]
mov ebx, ecx
push edi
push eax
mov dword [ebp - 0x2d8], ebx
mov dword [ebp - 0x2e4], edi
mov dword [ebp - 0x2dc], edi
mov dword [ebp - 0x318], 4
mov dword [ebp - 0x314], edi
mov dword [ebp - 0x140], edi
call fcn.00437410
add esp, 0xc
lea ecx, [ebp - 0x2d0]
push ecx
push 0x202
mov byte [ebp - 0x2d1], 1
mov dword [ebp - 4], edi
call dword [sym.imp.WS2_32.dll_WSAStartup]
cmp eax, edi
je 0x42a13d
push 0x49704c
lea edx, [ebp - 0x2f8]
push edx
mov dword [ebp - 0x2f8], 1
call fcn.00435ff8
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov esi, 2
mov eax, esi
push edi
mov word [ebp - 0x24], ax
call dword [sym.imp.WS2_32.dll_htonl]
movzx ecx, word [ebx + 0x938]
push ecx
mov dword [ebp - 0x20], eax
call dword [sym.imp.WS2_32.dll_htons]
movzx edx, word [ebp - 0x24]
push 6
push 1
push edx
mov word [ebp - 0x22], ax
call dword [sym.imp.WS2_32.dll_socket]
mov edi, eax
mov dword [ebp - 0x2e0], edi
cmp edi, 0xffffffff
jne 0x42a1a5
push 0x49704c
lea eax, [ebp - 0x2f4]
push eax
mov dword [ebp - 0x2f4], esi
call fcn.00435ff8
push 1
lea ecx, [ebp - 0x2d1]
push ecx
push 4
push 0xffff
push edi
call dword [sym.imp.WS2_32.dll_setsockopt]
push 0x10
lea edx, [ebp - 0x24]
push edx
push edi
call dword [sym.imp.WS2_32.dll_bind]
test eax, eax
jns 0x42a204
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push 0x520
push str._CloudUpdate_...__d_bind_failed:__d
call fcn.0042de30
add esp, 0xc
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
push 0x49704c
lea eax, [ebp - 0x308]
push eax
mov dword [ebp - 0x308], esi
call fcn.00435ff8
push 0xa
push edi
call dword [sym.imp.WS2_32.dll_listen]
test eax, eax
jns 0x42a241
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push 0x527
push str._CloudUpdate_...__d_listen_failed:__d
call fcn.0042de30
add esp, 0xc
push 0x49704c
lea ecx, [ebp - 0x310]
push ecx
mov dword [ebp - 0x310], esi
call fcn.00435ff8
mov edx, dword [ebx + 0xd14]
push edx
call fcn.00428800
xor eax, eax
push 0x490e1c
mov dword [ebp - 0x30c], 0x10
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov dword [ebp - 0x2e8], eax
xor ecx, ecx
mov dword [ebp - 0x140], ecx
xor eax, eax
cmp eax, ecx
jae 0x42a292
cmp dword [ebp + eax*4 - 0x13c], edi
je 0x42a290
inc eax
jmp 0x42a280
cmp eax, ecx
jne 0x42a2a6
cmp ecx, 0x40
jae 0x42a2a6
mov dword [ebp + eax*4 - 0x13c], edi
inc dword [ebp - 0x140]
push 0x458
lea eax, [ebx + 0x460]
push 0
push eax
call fcn.00437410
add esp, 0xc
lea ecx, [ebp - 0x318]
push ecx
push 0
push 0
lea edx, [ebp - 0x140]
push edx
push 0
call dword [sym.imp.WS2_32.dll_select]
lea eax, [ebp - 0x140]
push eax
push edi
call dword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
je 0x42a394
lea ecx, [ebp - 0x30c]
push ecx
lea edx, [ebp - 0x34]
push edx
push edi
call dword [sym.imp.WS2_32.dll_accept]
mov esi, eax
cmp esi, 0xffffffff
je 0x42a39b
push 0xc
call fcn.0042ecc3
add esp, 4
test eax, eax
jne 0x42a332
push 0x49704c
lea eax, [ebp - 0x2f0]
push eax
mov dword [ebp - 0x2f0], 2
call fcn.00435ff8
mov ecx, dword [ebp - 0x2e8]
mov edx, dword [ecx + 0xc]
mov ecx, dword [edx]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x30]
cmp cl, dl
jne 0x42a385
mov ebx, ecx
shr ebx, 8
cmp bl, dh
jne 0x42a379
shr ecx, 0x10
cmp cl, byte [ebp - 0x2e]
jne 0x42a379
mov edx, dword [ebp - 0x2d8]
mov dword [eax + 4], esi
mov dword [eax + 8], 0
mov ecx, dword [edx + 0xd14]
push eax
call fcn.004288e0
inc dword [ebp - 0x2dc]
mov ebx, dword [ebp - 0x2d8]
mov edi, dword [ebp - 0x2e0]
cmp dword [ebp - 0x2dc], 0xa
jb 0x42a276
jmp 0x42a3a1
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov esi, dword [ebp - 0x2dc]
test esi, esi
jne 0x42a3c6
push 0x49704c
lea eax, [ebp - 0x2fc]
push eax
mov dword [ebp - 0x2fc], 2
call fcn.00435ff8
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
xor edx, edx
div esi
xor esi, esi
mov edi, edx
cmp esi, edi
jae 0x42a3f7
mov ecx, dword [ebx + 0xd14]
mov eax, dword [ecx + 8]
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
test eax, eax
je 0x42a3f4
push eax
call fcn.0042ec89
add esp, 4
inc esi
jmp 0x42a3d4
mov eax, dword [ebx + 0xd14]
mov ecx, dword [eax + 8]
mov edi, dword [ecx + 4]
jmp 0x42a416
mov ebx, dword [ebp - 0x2d8]
xor ecx, ecx
mov edx, 1
mov dword [ebp - 0x2ec], edx
mov dword [ebp - 0x2e8], ecx
mov dword [ebp - 0x140], ecx
xor eax, eax
cmp eax, ecx
jae 0x42a444
cmp dword [ebp + eax*4 - 0x13c], edi
je 0x42a442
add eax, edx
jmp 0x42a431
cmp eax, ecx
jne 0x42a458
cmp ecx, 0x40
jae 0x42a458
mov dword [ebp + eax*4 - 0x13c], edi
add dword [ebp - 0x140], edx
push 0x458
push ecx
lea esi, [ebx + 0x460]
push esi
call fcn.00437410
add esp, 0xc
lea edx, [ebp - 0x2ec]
push edx
push 0
push 0
lea eax, [ebp - 0x140]
push eax
push 0
call dword [sym.imp.WS2_32.dll_select]
lea ecx, [ebp - 0x140]
push ecx
push edi
call dword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
je 0x42a5c2
push 0
mov ebx, 0x458
push ebx
push esi
push edi
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
jne 0x42a4cd
push 0x49704c
lea edx, [ebp - 0x300]
push edx
mov dword [ebp - 0x300], 2
call fcn.00435ff8
test eax, eax
je 0x42a5a0
cmp eax, ebx
jb 0x42a410
cmp eax, 0x458
jne 0x42a5a0
mov esi, dword [ebp - 0x2d8]
cmp dword [esi + 0xd10], 0
jne 0x42a596
cmp dword [esi + 0x944], 0
jne 0x42a596
mov ax, word [esi + 0x478]
mov ecx, esi
mov dword [esi + 0x944], 1
mov word [esi + 0x940], ax
call fcn.0042b3d0
mov eax, dword [esi + 0x498]
push eax
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
push 0x594
push 0x491778
call fcn.0042de30
mov ecx, dword [esi + 0xd14]
mov eax, dword [esi + 0x498]
mov edx, dword [ecx + 8]
mov dword [edx], eax
mov eax, dword [ebp - 0x2e0]
add esp, 0xc
cmp eax, 0xffffffff
je 0x42a56a
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
cmp edi, 0xffffffff
je 0x42a576
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
push 0
push 0
push esi
push 0x42b730
push 0
push 0
call dword [sym.imp.KERNEL32.DLL_CreateThread]
mov dword [esi + 0xe88], eax
mov dword [ebp - 0x2e4], 1
mov eax, dword [ebp - 0x2e4]
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.0042ec7a
mov esp, ebp
pop ebp
ret
push 0x49704c
lea ecx, [ebp - 0x304]
push ecx
mov dword [ebp - 0x304], 2
call fcn.00435ff8
mov edx, dword [ebp - 0x31c]
push edx
push 0x5a8
push str._CloudUpdate_...__d_WaitForCfg_except__exception_code___d
call fcn.0042de30
add esp, 0xc
mov eax, 0x42a5fc
ret