Function at 0x423a32
Capabilities:
Check for time delay via gettickcount
Get local ipv4 addresses
Get socket information
Receive data
Receive data on socket
Resolve dns

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48cd97
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x488c
call fcn.00465440
push esi
push edi
mov dword [ebp - 0x4864], ecx
mov eax, dword [ebp + 0x10]
cmp dword [eax], 2
je 0x423a6b
xor eax, eax
jmp 0x424d18
mov ecx, dword [ebp + 0x10]
cmp dword [ecx + 4], 0xffffffff
jne 0x423a7b
xor eax, eax
jmp 0x424d18
mov dword [ebp - 0x102c], 0
mov edx, dword [ebp + 0x10]
cmp dword [edx + 0x18], 0x4b03e8
jne 0x423a9b
mov dword [ebp - 0x102c], 0x40
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x18], 0x4b00d0
jne 0x423ab1
mov dword [ebp - 0x102c], 2
mov ecx, dword [ebp + 0x10]
cmp dword [ecx + 0x18], 0x4b0098
jne 0x423ac7
mov dword [ebp - 0x102c], 0x80
mov edx, dword [ebp + 0x10]
cmp dword [edx + 0x18], 0x4b00b0
jne 0x423add
mov dword [ebp - 0x102c], 0x20
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x18], 0x4b0180
jne 0x423af3
mov dword [ebp - 0x102c], 0x80
mov ecx, dword [ebp + 0x10]
cmp dword [ecx + 0x18], 0x4b01d8
jne 0x423b09
mov dword [ebp - 0x102c], 0x80
mov edx, dword [ebp + 0x10]
cmp dword [edx + 0x18], 0x4b02b0
jne 0x423b1f
mov dword [ebp - 0x102c], 4
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x18], 0x4b0360
jne 0x423b35
mov dword [ebp - 0x102c], 4
mov ecx, dword [ebp + 0x10]
cmp dword [ecx + 0x18], 0x4b0468
jne 0x423b4b
mov dword [ebp - 0x102c], 8
mov edx, dword [ebp + 0x10]
cmp dword [edx + 0x18], 0x4aff98
jne 0x423b61
mov dword [ebp - 0x102c], 0xfe
cmp dword [0x4baa14], 0
je 0x423dac
mov eax, dword [ebp - 0x4864]
cmp dword [eax + 0x14], 1
je 0x423dac
mov dword [ebp - 0x1064], 0x10
lea ecx, [ebp - 0x1064]
push ecx
lea edx, [ebp - 0x105c]
push edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.WS2_32.dll_getsockname]
mov edx, dword [ebp - 0x1058]
mov dword [ebp - 0x1068], edx
mov dword [ebp - 0x1060], 0
cmp dword [0x4d366c], 0
je 0x423cc4
cmp dword [0x4bae48], 0
je 0x423c63
cmp dword [0x4bae18], 0
je 0x423c61
push 0
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov dword [ebp - 0x1070], eax
mov dword [ebp - 0x106c], 0
cmp dword [ebp - 0x1070], 0
je 0x423c40
mov dword [ebp - 0x1074], 0
mov eax, dword [ebp - 0x1070]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x1074]
cmp dword [ecx + edx*4], 0
je 0x423c40
mov eax, dword [ebp - 0x1074]
add eax, 1
mov dword [ebp - 0x1074], eax
mov ecx, dword [ebp - 0x106c]
add ecx, 1
mov dword [ebp - 0x106c], ecx
jmp 0x423c0b
cmp dword [ebp - 0x106c], 1
jle 0x423c61
mov edx, dword [ebp - 0x1068]
cmp edx, dword [0x4bae18]
jne 0x423c61
mov dword [ebp - 0x1060], 1
jmp 0x423cc4
mov dword [ebp - 0x1060], 1
mov dword [ebp - 0x1078], 0
jmp 0x423c88
mov eax, dword [ebp - 0x1078]
add eax, 1
mov dword [ebp - 0x1078], eax
cmp dword [ebp - 0x1078], 0xa
jge 0x423cc4
mov ecx, dword [ebp - 0x1078]
cmp dword [ecx*4 + 0x4bae1c], 0
je 0x423cc4
mov edx, dword [ebp - 0x1078]
mov eax, dword [ebp - 0x1068]
cmp eax, dword [edx*4 + 0x4bae1c]
jne 0x423cc2
mov dword [ebp - 0x1060], 0
jmp 0x423cc4
jmp 0x423c79
cmp dword [ebp - 0x1060], 0
je 0x423dac
mov cl, byte [0x4afec8]
mov byte [ebp - 0x207c], cl
mov ecx, 0x400
xor eax, eax
lea edi, [ebp - 0x207b]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x2084], 0x1001
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x4864]
call fcn.004359a6
xor ecx, ecx
test ecx, ecx
je 0x423d30
push 0
lea edx, [ebp - 0x2084]
push edx
lea eax, [ebp - 0x207c]
push eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 4]
push edx
mov ecx, dword [ebp - 0x4864]
call fcn.00435dcb
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x2080], ecx
push str.is_external_user__blocked
lea edx, [ebp - 0x4810]
push edx
call fcn.00411930
add esp, 8
mov dword [ebp - 0x4868], eax
mov eax, dword [ebp - 0x4868]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x2080]
push edx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
push str._s__s
lea eax, [ebp - 0x207c]
push eax
call fcn.004650e4
add esp, 0x10
lea ecx, [ebp - 0x4810]
call fcn.00480fc4
lea ecx, [ebp - 0x207c]
push ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x4864]
call fcn.00435fa8
xor eax, eax
jmp 0x424d18
mov ecx, dword [ebp - 0x4864]
add ecx, 0x464
call fcn.0040a260
lea ecx, [ebp - 0x4814]
push ecx
lea ecx, [ebp - 0x1048]
call fcn.004046b0
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x4864]
add edx, 0x420
push edx
lea ecx, [ebp - 0x1048]
call fcn.0040af20
mov ecx, dword [ebp - 0x4864]
add ecx, 0x464
mov eax, dword [ebp - 0x4864]
mov edx, dword [eax + 0x464]
call dword [edx + 0x14]
mov eax, dword [ebp - 0x4864]
cmp dword [eax + 0x14], 0
jne 0x423e7e
cmp dword [ebp + 0x14], 0
jne 0x423e57
mov ecx, dword [ebp + 0x10]
push ecx
push 0x4afecc
push 0x4a6410
mov ecx, dword [ebp - 0x4864]
call fcn.00424d39
mov dword [ebp - 0x4818], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1048]
call fcn.004045b0
mov eax, dword [ebp - 0x4818]
jmp 0x424d18
mov dword [ebp - 0x481c], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1048]
call fcn.004045b0
mov eax, dword [ebp - 0x481c]
jmp 0x424d18
mov dword [ebp - 0x1018], 0
mov dword [ebp - 0x1030], 0
mov dword [ebp - 0x1014], 0
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x104c], eax
mov dword [ebp - 0x1038], 0
mov cl, byte [0x4afed0]
mov byte [ebp - 0x100c], cl
mov ecx, 0x3ff
xor eax, eax
lea edi, [ebp - 0x100b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x1010], 0
mov dl, byte [0x4afed4]
mov byte [ebp - 0x1028], dl
xor eax, eax
mov dword [ebp - 0x1027], eax
mov dword [ebp - 0x1023], eax
mov dword [ebp - 0x101f], eax
mov dword [ebp - 0x1034], 0
jmp 0x423f15
mov ecx, dword [ebp - 0x1034]
add ecx, 1
mov dword [ebp - 0x1034], ecx
lea ecx, [ebp - 0x1048]
call fcn.00404620
cmp dword [ebp - 0x1034], eax
jae 0x42472d
cmp dword [ebp - 0x1038], 0
jne 0x42472d
mov edx, dword [ebp - 0x1034]
push edx
lea ecx, [ebp - 0x1048]
call fcn.00404660
cmp dword [eax + 0x17c], 0
jne 0x423f56
jmp 0x423f06
mov eax, dword [ebp - 0x1034]
push eax
lea ecx, [ebp - 0x1048]
call fcn.00404660
cmp dword [eax + 0x288], 0
je 0x423f73
jmp 0x423f06
mov ecx, dword [ebp - 0x1034]
push ecx
lea ecx, [ebp - 0x1048]
call fcn.00404660
cmp dword [eax + 0x15c], 0
jne 0x423f93
jmp 0x423f06
mov edx, dword [ebp - 0x1034]
push edx
lea ecx, [ebp - 0x1048]
call fcn.00404660
cmp dword [eax + 0x28c], 0
je 0x424054
lea eax, [ebp - 0x4820]
push eax
call fcn.0047b53c
push eax
lea ecx, [ebp - 0x40a8]
call fcn.0042b730
mov ecx, dword [ebp - 0x1034]
push ecx
lea ecx, [ebp - 0x1048]
call fcn.00404660
add eax, 0x290
push eax
push str._Y__m__d__H:_M:_S
lea edx, [ebp - 0x4828]
push edx
lea ecx, [ebp - 0x40a8]
call fcn.0047b57e
mov dword [ebp - 0x486c], eax
mov eax, dword [ebp - 0x486c]
mov dword [ebp - 0x4870], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x4870]
call fcn.0042e500
push eax
call fcn.00465060
add esp, 8
xor ecx, ecx
test eax, eax
setg cl
mov byte [ebp - 0x4824], cl
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4828]
call fcn.00480fc4
mov edx, dword [ebp - 0x4824]
and edx, 0xff
test edx, edx
je 0x424054
jmp 0x423f06
mov eax, dword [ebp - 0x1034]
push eax
lea ecx, [ebp - 0x1048]
call fcn.00404660
cmp dword [eax + 0x154], 0
je 0x4240d8
mov ecx, dword [ebp - 0x104c]
push ecx
call dword [sym.imp.WS2_32.dll_ntohl]
mov esi, eax
mov edx, dword [ebp - 0x1034]
push edx
lea ecx, [ebp - 0x1048]
call fcn.00404660
mov eax, dword [eax + 0x150]
push eax
call dword [sym.imp.WS2_32.dll_ntohl]
cmp esi, eax
ja 0x4240d3
mov ecx, dword [ebp - 0x104c]
push ecx
call dword [sym.imp.WS2_32.dll_ntohl]
mov esi, eax
mov edx, dword [ebp - 0x1034]
push edx
lea ecx, [ebp - 0x1048]
call fcn.00404660
mov eax, dword [eax + 0x14c]
push eax
call dword [sym.imp.WS2_32.dll_ntohl]
cmp esi, eax
jae 0x4240d8
jmp 0x423f06
mov ecx, dword [ebp - 0x1034]
push ecx
lea ecx, [ebp - 0x1048]
call fcn.00404660
cmp dword [eax + 0x148], 0
je 0x4242df
lea ecx, [ebp - 0x40b0]
call fcn.00403ac0
mov byte [ebp - 4], 2
xor edx, edx
mov dl, byte [0x4af9e4]
and edx, 1
test edx, edx
jne 0x42412c
mov al, byte [0x4af9e4]
or al, 1
mov byte [0x4af9e4], al
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x4af9e0], eax
xor ecx, ecx
mov cl, byte [0x4af9e4]
and ecx, 2
test ecx, ecx
jne 0x424161
mov dl, byte [0x4af9e4]
or dl, 2
mov byte [0x4af9e4], dl
mov ecx, 0x4af9c0
call fcn.0042b580
push 0x424d2a
call fcn.00466de5
add esp, 4
mov ecx, 0x4af9c0
call fcn.0040a260
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x4af9e0]
cmp eax, 0x927c0
jbe 0x42419a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x4af9e0], eax
mov ecx, dword [ebp - 0x4864]
add ecx, 0x484
call fcn.0042f350
lea eax, [ebp - 0x40b0]
push eax
mov ecx, dword [ebp - 0x104c]
push ecx
mov ecx, dword [ebp - 0x4864]
add ecx, 0x484
call fcn.0042f2b0
mov dword [ebp - 0x40ac], eax
mov ecx, 0x4af9c0
call fcn.0042b650
cmp dword [ebp - 0x40ac], 0
jne 0x424245
movsx edx, byte [ebp - 0x1028]
test edx, edx
jne 0x424214
lea eax, [ebp - 0x44b0]
push eax
lea ecx, [ebp - 0x1028]
push ecx
mov edx, dword [ebp - 0x104c]
push edx
call fcn.00416f60
add esp, 0xc
test eax, eax
jne 0x424214
lea eax, [ebp - 0x1028]
push eax
mov ecx, dword [ebp - 0x104c]
push ecx
call fcn.0042b750
add esp, 8
movsx edx, byte [ebp - 0x1028]
test edx, edx
jne 0x424233
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x40b0]
call fcn.00480fc4
jmp 0x423f06
lea eax, [ebp - 0x1028]
push eax
lea ecx, [ebp - 0x40b0]
call fcn.0048114d
mov ecx, dword [ebp - 0x1034]
push ecx
lea ecx, [ebp - 0x1048]
call fcn.00404660
add eax, 0x138
push eax
lea ecx, [ebp - 0x40b0]
call fcn.0042e500
push eax
call fcn.0046b9a0
add esp, 8
test eax, eax
je 0x424289
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x40b0]
call fcn.00480fc4
jmp 0x423f06
mov ecx, 0x4af9c0
call fcn.0040a260
push ecx
mov ecx, esp
mov dword [ebp - 0x482c], esp
lea edx, [ebp - 0x40b0]
push edx
call fcn.00480d39
mov dword [ebp - 0x4874], eax
mov eax, dword [ebp - 0x104c]
push eax
mov ecx, dword [ebp - 0x4864]
add ecx, 0x484
call fcn.0042f2f0
mov ecx, 0x4af9c0
call fcn.0042b650
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x40b0]
call fcn.00480fc4
mov ecx, dword [ebp - 0x1034]
push ecx
lea ecx, [ebp - 0x1048]
call fcn.00404660
cmp dword [eax + 0x134], 0
je 0x424423
cmp dword [ebp - 0x102c], 0x40
je 0x424314
cmp dword [ebp - 0x102c], 2
jne 0x424423
mov dword [ebp - 0x1010], 1
cmp dword [ebp + 8], 0
je 0x424357
mov edx, dword [ebp + 8]
push edx
call fcn.00465470
add esp, 4
test eax, eax
je 0x424357
mov eax, dword [ebp - 0x1034]
push eax
lea ecx, [ebp - 0x1048]
call fcn.00404660
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0046b9a0
add esp, 8
test eax, eax
je 0x42435c
jmp 0x423f06
cmp dword [ebp + 0xc], 0
jne 0x424367
jmp 0x423f06
push 0x4a642c
mov edx, dword [ebp - 0x1034]
push edx
lea ecx, [ebp - 0x1048]
call fcn.00404660
add eax, 0x101
push eax
call fcn.00465060
add esp, 8
test eax, eax
jne 0x4243f6
mov eax, dword [ebp - 0x4864]
cmp dword [eax + 0x1c], 0
jne 0x4243a1
jmp 0x423f06
lea ecx, [ebp - 0x44d8]
call fcn.004579e0
mov byte [ebp - 4], 3
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x4864]
add eax, 0x20
push eax
lea ecx, [ebp - 0x44d8]
call fcn.00458115
test eax, eax
jne 0x4243e5
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x44d8]
call fcn.00457a3d
jmp 0x423f06
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x44d8]
call fcn.00457a3d
jmp 0x424423
mov ecx, dword [ebp - 0x1034]
push ecx
lea ecx, [ebp - 0x1048]
call fcn.00404660
add eax, 0x101
push eax
mov edx, dword [ebp + 0xc]
push edx
call fcn.00465060
add esp, 8
test eax, eax
je 0x424423
jmp 0x423f06
mov eax, dword [ebp - 0x1034]
push eax
lea ecx, [ebp - 0x1048]
call fcn.00404660
cmp dword [eax + 0x154], 0
jne 0x424490
mov ecx, dword [ebp - 0x1034]
push ecx
lea ecx, [ebp - 0x1048]
call fcn.00404660
cmp dword [eax + 0x148], 0
jne 0x424490
mov edx, dword [ebp - 0x1034]
push edx
lea ecx, [ebp - 0x1048]
call fcn.00404660
cmp dword [eax + 0x134], 0
jne 0x424479
jmp 0x423f06
cmp dword [ebp - 0x102c], 0x40
je 0x424490
cmp dword [ebp - 0x102c], 2
je 0x424490
jmp 0x423f06
mov eax, dword [ebp - 0x1034]
push eax
lea ecx, [ebp - 0x1048]
call fcn.00404660
mov ecx, dword [eax + 0x158]
and ecx, dword [ebp - 0x102c]
test ecx, ecx
jne 0x4244c1
mov dword [ebp - 0x1018], 1
jmp 0x423f06
mov edx, dword [ebp - 0x1034]
push edx
lea ecx, [ebp - 0x1048]
call fcn.00404660
cmp dword [eax + 0x168], 0xffffffff
jne 0x4244eb
mov dword [ebp - 0x1038], 1
jmp 0x42472d
lea eax, [ebp - 0x2098]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov ecx, dword [ebp - 0x1034]
push ecx
lea ecx, [ebp - 0x1048]
call fcn.00404660
mov edx, dword [eax + 0x168]
push edx
mov ecx, dword [ebp - 0x4864]
add ecx, 0x440
call fcn.00404950
mov ecx, dword [ebp - 0x2094]
and ecx, 0xffff
mov edx, dword [eax + ecx*4 + 0x7038]
and edx, dword [ebp - 0x102c]
test edx, edx
jne 0x42454e
mov dword [ebp - 0x1038], 1
jmp 0x42472d
push 0x4a643c
mov eax, dword [ebp - 0x1034]
push eax
lea ecx, [ebp - 0x1048]
call fcn.00404660
mov ecx, dword [eax + 0x168]
push ecx
mov ecx, dword [ebp - 0x4864]
add ecx, 0x440
call fcn.00404950
mov edx, dword [ebp - 0x2094]
and edx, 0xffff
imul edx, edx, 0x1001
lea eax, [eax + edx + 0x31]
push eax
lea ecx, [ebp - 0x40a4]
call fcn.0044f570
mov dword [ebp - 0x2088], 0
lea ecx, [ebp - 0x40a4]
call fcn.0044f642
test eax, eax
je 0x424713
lea ecx, [ebp - 0x40a4]
call fcn.0044f5b1
mov dword [ebp - 0x47f8], eax
mov cl, byte [0x4afed8]
mov byte [ebp - 0x47f4], cl
mov ecx, 0x41
xor eax, eax
lea edi, [ebp - 0x47f3]
rep stosd dword es:[edi], eax
mov dl, byte [0x4afedc]
mov byte [ebp - 0x46ec], dl
mov ecx, 0x41
xor eax, eax
lea edi, [ebp - 0x46eb]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x47f8]
push eax
lea ecx, [ebp - 0x47f4]
push ecx
call fcn.00465350
add esp, 8
push 0x4a6440
lea edx, [ebp - 0x47f4]
push edx
call fcn.00404260
add esp, 8
push 0x4a6444
lea eax, [ebp - 0x47f4]
push eax
call fcn.004652d0
add esp, 8
mov dword [ebp - 0x45e4], eax
cmp dword [ebp - 0x45e4], 0
je 0x424686
mov ecx, dword [ebp - 0x45e4]
mov byte [ecx], 0
mov edx, dword [ebp - 0x45e4]
add edx, 1
push edx
lea eax, [ebp - 0x46ec]
push eax
call fcn.00465350
add esp, 8
push 0x4a6448
lea ecx, [ebp - 0x46ec]
push ecx
call fcn.00404260
add esp, 8
mov dl, byte [0x4afee0]
mov byte [ebp - 0x45e0], dl
mov ecx, 0x41
xor eax, eax
lea edi, [ebp - 0x45df]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x208e]
and eax, 0xffff
push eax
mov ecx, dword [ebp - 0x2090]
and ecx, 0xffff
push ecx
push 0x4a644c
lea edx, [ebp - 0x45e0]
push edx
call fcn.004650e4
add esp, 0x10
lea eax, [ebp - 0x45e0]
push eax
lea ecx, [ebp - 0x47f4]
push ecx
call fcn.00465060
add esp, 8
test eax, eax
jg 0x42470e
lea edx, [ebp - 0x46ec]
push edx
lea eax, [ebp - 0x45e0]
push eax
call fcn.00465060
add esp, 8
test eax, eax
jg 0x42470e
mov dword [ebp - 0x1038], 1
jmp 0x424713
jmp 0x4245a9
cmp dword [ebp - 0x1038], 0
je 0x42471e
jmp 0x42472d
mov dword [ebp - 0x1030], 1
jmp 0x423f06
cmp dword [ebp - 0x1038], 1
jne 0x424aff
mov ecx, dword [ebp - 0x1034]
push ecx
lea ecx, [ebp - 0x1048]
call fcn.00404660
cmp dword [eax + 0x15c], 0
jge 0x4247cb
cmp dword [ebp + 0x14], 0
jne 0x4247a4
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0x1034]
push ecx
lea ecx, [ebp - 0x1048]
call fcn.00404660
push eax
mov ecx, dword [ebp - 0x4864]
call fcn.00424d39
mov dword [ebp - 0x4830], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1048]
call fcn.004045b0
mov eax, dword [ebp - 0x4830]
jmp 0x424d18
mov dword [ebp - 0x4834], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1048]
call fcn.004045b0
mov eax, dword [ebp - 0x4834]
jmp 0x424d18
mov edx, dword [ebp - 0x1034]
push edx
lea ecx, [ebp - 0x1048]
call fcn.00404660
cmp dword [eax + 0x15c], 0
jne 0x42480d
mov dword [ebp - 0x4838], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1048]
call fcn.004045b0
mov eax, dword [ebp - 0x4838]
jmp 0x424d18
mov eax, dword [ebp - 0x1034]
push eax
lea ecx, [ebp - 0x1048]
call fcn.00404660
mov ecx, dword [eax + 0x15c]
mov dword [ebp - 0x47fc], ecx
mov edx, dword [ebp - 0x1034]
push edx
lea ecx, [ebp - 0x1048]
call fcn.00404660
push eax
lea ecx, [ebp - 0x4804]
call fcn.00481032
mov byte [ebp - 4], 4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x4800], eax
mov eax, dword [ebp + 0x10]
cmp dword [eax], 2
jne 0x424ac9
mov ecx, dword [ebp - 0x4864]
add ecx, 0x464
call fcn.0040a260
mov dword [ebp - 0x480c], 0
mov dword [ebp - 0x4808], 0
jmp 0x42489b
mov ecx, dword [ebp - 0x4808]
add ecx, 1
mov dword [ebp - 0x4808], ecx
mov ecx, dword [ebp - 0x4864]
add ecx, 0x430
call fcn.0042c2f0
cmp dword [ebp - 0x4808], eax
jae 0x42492c
lea ecx, [ebp - 0x4804]
call fcn.0042e500
push eax
mov edx, dword [ebp - 0x4808]
push edx
mov ecx, dword [ebp - 0x4864]
add ecx, 0x430
call fcn.0042c330
push eax
call fcn.0046b9a0
add esp, 8
test eax, eax
jne 0x424927
push 0x10
mov eax, dword [ebp + 0x10]
add eax, 8
push eax
mov ecx, dword [ebp - 0x4808]
push ecx
mov ecx, dword [ebp - 0x4864]
add ecx, 0x430
call fcn.0042c330
add eax, 0x13c
push eax
call fcn.004672c0
add esp, 0xc
test eax, eax
je 0x424927
mov edx, dword [ebp - 0x480c]
add edx, 1
mov dword [ebp - 0x480c], edx
jmp 0x42488c
mov ecx, dword [ebp - 0x4864]
add ecx, 0x464
mov eax, dword [ebp - 0x4864]
mov edx, dword [eax + 0x464]
call dword [edx + 0x14]
mov eax, dword [ebp - 0x480c]
cmp eax, dword [ebp - 0x47fc]
jge 0x4249e6
cmp dword [ebp + 0x14], 0
jne 0x4249b0
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
lea ecx, [ebp - 0x4804]
call fcn.0042e500
push eax
mov ecx, dword [ebp - 0x4864]
call fcn.00424d39
mov dword [ebp - 0x483c], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4804]
call fcn.00480fc4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1048]
call fcn.004045b0
mov eax, dword [ebp - 0x483c]
jmp 0x424d18
mov dword [ebp - 0x4840], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4804]
call fcn.00480fc4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1048]
call fcn.004045b0
mov eax, dword [ebp - 0x4840]
jmp 0x424d18
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x4800]
cmp eax, 0x7530
jae 0x424a09
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x424859
push 0
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0x4864]
call fcn.00435816
test eax, eax
je 0x424a3c
push 0
push 0x1000
lea edx, [ebp - 0x100c]
push edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.WS2_32.dll_recv]
push str.Too_many_connections.
lea edx, [ebp - 0x4844]
push edx
call fcn.00411930
add esp, 8
mov dword [ebp - 0x4878], eax
mov eax, dword [ebp - 0x4878]
mov dword [ebp - 0x487c], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x487c]
call fcn.0042e500
push eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 4]
push edx
mov ecx, dword [ebp - 0x4864]
call fcn.00435fa8
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4844]
call fcn.00480fc4
mov dword [ebp - 0x4848], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4804]
call fcn.00480fc4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1048]
call fcn.004045b0
mov eax, dword [ebp - 0x4848]
jmp 0x424d18
mov dword [ebp - 0x484c], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4804]
call fcn.00480fc4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1048]
call fcn.004045b0
mov eax, dword [ebp - 0x484c]
jmp 0x424d18
cmp dword [ebp - 0x1010], 0
je 0x424b2f
mov dword [ebp - 0x4850], 0xffffffff
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1048]
call fcn.004045b0
mov eax, dword [ebp - 0x4850]
jmp 0x424d18
cmp dword [ebp - 0x102c], 2
jne 0x424ba5
push 0
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0x4864]
call fcn.00435816
test eax, eax
je 0x424b6b
push 0
push 0x1000
lea edx, [ebp - 0x100c]
push edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.WS2_32.dll_recv]
cmp dword [0x4b2940], 0
je 0x424b82
mov edx, dword [0x4b2940]
mov dword [ebp - 0x4880], edx
jmp 0x424b8c
mov dword [ebp - 0x4880], 0x4b2540
mov eax, dword [ebp - 0x4880]
push eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 4]
push edx
mov ecx, dword [ebp - 0x4864]
call fcn.00435fa8
push 0
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0x4864]
call fcn.00435816
test eax, eax
je 0x424bd8
push 0
push 0x1000
lea edx, [ebp - 0x100c]
push edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.WS2_32.dll_recv]
cmp dword [ebp - 0x1030], 0
je 0x424c3d
push str.Invalid_time.
lea edx, [ebp - 0x4854]
push edx
call fcn.00411930
add esp, 8
mov dword [ebp - 0x4884], eax
mov eax, dword [ebp - 0x4884]
mov dword [ebp - 0x4888], eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x4888]
call fcn.0042e500
push eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 4]
push edx
mov ecx, dword [ebp - 0x4864]
call fcn.00435fa8
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4854]
call fcn.00480fc4
jmp 0x424cf6
cmp dword [ebp - 0x1018], 0
je 0x424c9f
push str.Invalid_service.
lea eax, [ebp - 0x4858]
push eax
call fcn.00411930
add esp, 8
mov dword [ebp - 0x488c], eax
mov ecx, dword [ebp - 0x488c]
mov dword [ebp - 0x4890], ecx
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x4890]
call fcn.0042e500
push eax
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x4864]
call fcn.00435fa8
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4858]
call fcn.00480fc4
jmp 0x424cf6
push str.Invalid_user.
lea ecx, [ebp - 0x485c]
push ecx
call fcn.00411930
add esp, 8
mov dword [ebp - 0x4894], eax
mov edx, dword [ebp - 0x4894]
mov dword [ebp - 0x4898], edx
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x4898]
call fcn.0042e500
push eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0x4864]
call fcn.00435fa8
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x485c]
call fcn.00480fc4
mov dword [ebp - 0x4860], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1048]
call fcn.004045b0
mov eax, dword [ebp - 0x4860]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10