Function at 0x440510
Capabilities:
Check for time delay via gettickcount
Create tcp socket
Create udp socket
Get local ipv4 addresses
Get socket information
Get socket status
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48eca2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x4264
call fcn.0046b3f0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x4230], ecx
mov eax, dword [ebp + 0x14]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov dword [ebp - 0x1024], eax
cmp dword [ebp - 0x1024], 0
je 0x44056d
mov ecx, dword [ebp - 0x1024]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx]
mov ecx, dword [eax]
mov dword [ebp - 0x2044], ecx
jmp 0x440574
xor eax, eax
jmp 0x441799
mov dl, byte [0x49818a]
mov byte [ebp - 0x2040], dl
mov ecx, 0x400
xor eax, eax
lea edi, [ebp - 0x203f]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x1034], 0x1000
push 0
lea eax, [ebp - 0x1034]
push eax
lea ecx, [ebp - 0x2040]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0x4230]
call fcn.00438bc0
test eax, eax
jne 0x4405c3
xor eax, eax
jmp 0x441799
mov eax, dword [ebp - 0x1034]
push eax
lea ecx, [ebp - 0x2040]
push ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x4230]
call fcn.00438d00
test eax, eax
jne 0x4405ed
xor eax, eax
jmp 0x441799
mov dword [ebp - 0x1034], 0x1000
push 0
lea ecx, [ebp - 0x1034]
push ecx
lea edx, [ebp - 0x2040]
push edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
mov ecx, dword [ebp - 0x4230]
call fcn.00438bc0
test eax, eax
jne 0x440623
xor eax, eax
jmp 0x441799
mov edx, dword [ebp - 0x1034]
push edx
lea eax, [ebp - 0x2040]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [ebp - 0x4230]
call fcn.00438d00
test eax, eax
jne 0x44064b
xor eax, eax
jmp 0x441799
mov dl, byte [0x49818b]
mov byte [ebp - 0x3050], dl
mov ecx, 0x400
xor eax, eax
lea edi, [ebp - 0x304f]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x2040]
push eax
push 0x49818c
lea ecx, [ebp - 0x3050]
push ecx
call fcn.0046b198
add esp, 0xc
push 0x498190
lea edx, [ebp - 0x3050]
push edx
call fcn.0046b360
add esp, 8
mov dword [ebp - 0x102c], eax
cmp dword [ebp - 0x102c], 0
je 0x4406af
mov eax, dword [ebp - 0x102c]
mov byte [eax], 0
jmp 0x4406b6
xor eax, eax
jmp 0x441799
push ecx
mov ecx, esp
mov dword [ebp - 0x41c8], esp
lea edx, [ebp - 0x3050]
push edx
call fcn.00407a50
mov dword [ebp - 0x4234], eax
mov eax, dword [ebp - 0x4234]
mov dword [ebp - 0x4238], eax
mov dword [ebp - 4], 0
push ecx
mov ecx, esp
mov dword [ebp - 0x41cc], esp
push 0x498194
call fcn.00407a50
mov dword [ebp - 0x423c], eax
mov ecx, dword [ebp - 0x423c]
mov dword [ebp - 0x4240], ecx
mov byte [ebp - 4], 1
push ecx
mov ecx, esp
mov dword [ebp - 0x41d0], esp
push 0x498199
call fcn.00407a50
mov dword [ebp - 0x4244], eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp + 8]
push edx
mov ecx, 0x4b2120
call fcn.00428160
mov dword [ebp - 0x1034], 0x1000
push 0
lea eax, [ebp - 0x1034]
push eax
lea ecx, [ebp - 0x2040]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0x4230]
call fcn.00438bc0
test eax, eax
jne 0x44076f
xor eax, eax
jmp 0x441799
mov eax, dword [ebp - 0x1034]
push eax
lea ecx, [ebp - 0x2040]
push ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x4230]
call fcn.00438d00
test eax, eax
jne 0x440799
xor eax, eax
jmp 0x441799
push str.Content_length:
lea ecx, [ebp - 0x2040]
push ecx
call fcn.0046b360
add esp, 8
mov dword [ebp - 0x1028], eax
cmp dword [ebp - 0x1028], 0
jne 0x4407da
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x4230]
call fcn.00438de0
jmp 0x441799
mov dword [ebp - 0x306c], 0
lea eax, [ebp - 0x306c]
push eax
push str.Content_length:__d
mov ecx, dword [ebp - 0x1028]
push ecx
call fcn.0046b0d6
add esp, 0xc
push str._r_n_r_n
lea edx, [ebp - 0x2040]
push edx
call fcn.0046b360
add esp, 8
mov dword [ebp - 0x102c], eax
cmp dword [ebp - 0x102c], 0
jne 0x440829
xor eax, eax
jmp 0x441799
mov eax, dword [ebp - 0x102c]
lea ecx, [ebp - 0x2040]
sub eax, ecx
mov edx, dword [ebp - 0x306c]
lea eax, [eax + edx + 4]
mov dword [ebp - 0x3054], eax
mov ecx, dword [ebp - 0x3054]
sub ecx, dword [ebp - 0x1034]
mov dword [ebp - 0x1030], ecx
mov edx, dword [ebp + 8]
cmp dword [edx], 2
jne 0x4408f9
mov eax, dword [ebp - 0x4230]
cmp dword [eax + 0x10], 0
je 0x4408f9
cmp dword [ebp - 0x1030], 0
jne 0x440880
jmp 0x4408f9
mov ecx, dword [ebp - 0x1030]
mov dword [ebp - 0x1034], ecx
push 8
lea edx, [ebp - 0x1034]
push edx
lea eax, [ebp - 0x2040]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [ebp - 0x4230]
call fcn.00438bc0
test eax, eax
je 0x4408db
mov edx, dword [ebp - 0x1034]
push edx
lea eax, [ebp - 0x2040]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
mov ecx, dword [ebp - 0x4230]
call fcn.00438d00
test eax, eax
jne 0x4408d9
xor eax, eax
jmp 0x441799
jmp 0x4408e2
xor eax, eax
jmp 0x441799
mov eax, dword [ebp - 0x1030]
sub eax, dword [ebp - 0x1034]
mov dword [ebp - 0x1030], eax
jmp 0x440859
mov dword [ebp - 0x1034], 0x1000
mov cl, byte [0x4981c9]
mov byte [ebp - 0x1020], cl
mov ecx, 0x400
xor eax, eax
lea edi, [ebp - 0x101f]
rep stosd dword es:[edi], eax
push 0
lea edx, [ebp - 0x1034]
push edx
lea eax, [ebp - 0x1020]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
mov ecx, dword [ebp - 0x4230]
call fcn.00438bc0
test eax, eax
jne 0x44094a
xor eax, eax
jmp 0x441799
push 0x4981cc
lea eax, [ebp - 0x1020]
push eax
call fcn.0046b360
add esp, 8
mov dword [ebp - 0x102c], eax
cmp dword [ebp - 0x102c], 0
jne 0x44098a
push str.RTSP_1.0_200_OK_r_nCSeq:_5_r_n_r_n
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
mov ecx, dword [ebp - 0x4230]
call fcn.00438db0
xor eax, eax
jmp 0x441799
push 0x4981f8
mov eax, dword [ebp - 0x102c]
push eax
call fcn.0046b360
add esp, 8
test eax, eax
jne 0x4409a9
xor eax, eax
jmp 0x441799
push 0x4981fc
mov ecx, dword [ebp - 0x102c]
push ecx
call fcn.0046b360
add esp, 8
add eax, 2
mov dword [ebp - 0x3068], eax
push 0x498200
call fcn.0046b430
add esp, 4
add eax, dword [ebp - 0x102c]
push eax
lea ecx, [ebp - 0x3064]
call fcn.00407a50
mov dword [ebp - 4], 2
mov dword [ebp - 0x3060], 0
lea edx, [ebp - 0x3060]
push edx
push 0x49820c
lea eax, [ebp - 0x41d4]
push eax
lea ecx, [ebp - 0x3064]
call fcn.0040e300
mov dword [ebp - 0x4248], eax
mov ecx, dword [ebp - 0x4248]
mov dword [ebp - 0x424c], ecx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x424c]
push edx
lea ecx, [ebp - 0x3064]
call fcn.00407ae0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x41d4]
call fcn.00407ac0
mov dword [ebp - 0x1038], 0
mov dword [ebp - 0x305c], 0
mov dword [ebp - 0x3060], 0
cmp dword [ebp - 0x3060], 0xffffffff
je 0x440b65
lea eax, [ebp - 0x3060]
push eax
push 0x498210
lea ecx, [ebp - 0x3070]
push ecx
lea ecx, [ebp - 0x3064]
call fcn.0040e300
lea ecx, [ebp - 0x3070]
call fcn.00407b80
test eax, eax
jne 0x440ab3
lea ecx, [ebp - 0x3070]
call fcn.00407ac0
jmp 0x440b65
push 0x498214
call fcn.0046b430
add esp, 4
push eax
push str.x_real_rdt_udp
lea ecx, [ebp - 0x3070]
call fcn.0040ee50
push eax
call fcn.0046dee1
add esp, 0xc
test eax, eax
jne 0x440b20
mov dword [ebp - 0x1038], 1
push str.x_real_rdt_udp_client_port
call fcn.0046b430
add esp, 4
mov esi, eax
lea ecx, [ebp - 0x3070]
call fcn.0040ee50
add eax, esi
push eax
call fcn.0046c429
add esp, 4
mov dword [ebp - 0x305c], eax
lea ecx, [ebp - 0x3070]
call fcn.00407ac0
jmp 0x440b65
push 0x498250
call fcn.0046b430
add esp, 4
push eax
push str.x_real_rdt_tcp
lea ecx, [ebp - 0x3070]
call fcn.0040ee50
push eax
call fcn.0046dee1
add esp, 0xc
test eax, eax
jne 0x440b55
mov dword [ebp - 0x1038], 2
lea ecx, [ebp - 0x3070]
call fcn.00407ac0
jmp 0x440a69
cmp dword [ebp - 0x1038], 0
jne 0x440b95
mov dword [ebp - 0x41d8], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3064]
call fcn.00407ac0
mov eax, dword [ebp - 0x41d8]
jmp 0x441799
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x3058], 0xffffffff
mov byte [ebp - 4], 4
push 0
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x3058], eax
mov dword [ebp - 0x41b4], 0x10
mov word [ebp - 0x41b0], 2
push 0
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x41ae], ax
mov dword [ebp - 0x41ac], 0
push 0x10
lea edx, [ebp - 0x41b0]
push edx
mov eax, dword [ebp - 0x3058]
push eax
call dword [sym.imp.WS2_32.dll_bind]
lea ecx, [ebp - 0x41b4]
push ecx
lea edx, [ebp - 0x41b0]
push edx
mov eax, dword [ebp - 0x3058]
push eax
call dword [sym.imp.WS2_32.dll_getsockname]
mov cx, word [ebp - 0x41ae]
push ecx
call dword [sym.imp.WS2_32.dll_ntohs]
movzx edx, ax
mov dword [ebp - 0x14], edx
lea eax, [ebp - 0x41b4]
push eax
lea ecx, [ebp - 0x41b0]
push ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
call dword [sym.imp.WS2_32.dll_getsockname]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x4198], edx
mov eax, dword [ebp - 0x102c]
lea ecx, [ebp - 0x1020]
sub eax, ecx
push eax
lea edx, [ebp - 0x1020]
push edx
lea eax, [ebp - 0x2040]
push eax
call fcn.0046c430
add esp, 0xc
mov ecx, dword [ebp - 0x102c]
lea edx, [ebp - 0x1020]
sub ecx, edx
mov byte [ebp + ecx - 0x2040], 0
cmp dword [ebp - 0x1038], 1
jne 0x440cc7
mov eax, dword [ebp - 0x3068]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
push str.Transport:_x_real_rdt_udp_client_port_d_modeplay_r_n_s
mov edx, dword [ebp - 0x102c]
lea eax, [ebp - 0x1020]
sub edx, eax
lea ecx, [ebp + edx - 0x2040]
push ecx
call fcn.0046b198
add esp, 0x10
jmp 0x440cf1
mov edx, dword [ebp - 0x3068]
push edx
push str.Transport:_x_real_rdt_tcp_modeplay_r_n_s
mov eax, dword [ebp - 0x102c]
lea ecx, [ebp - 0x1020]
sub eax, ecx
lea edx, [ebp + eax - 0x2040]
push edx
call fcn.0046b198
add esp, 0xc
lea eax, [ebp - 0x2040]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [ebp - 0x4230]
call fcn.00438db0
mov dword [ebp - 0x4250], eax
cmp dword [ebp - 0x4250], 0
jne 0x440d31
mov dword [ebp - 0x41dc], 0xffffffff
push 0x4a83e4
lea edx, [ebp - 0x41dc]
push edx
call fcn.0046bdd1
mov dword [ebp - 0x1034], 0x1000
push 0
lea eax, [ebp - 0x1034]
push eax
lea ecx, [ebp - 0x1020]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0x4230]
call fcn.00438bc0
mov dword [ebp - 0x4254], eax
cmp dword [ebp - 0x4254], 0
jne 0x440d84
mov dword [ebp - 0x41e0], 0xffffffff
push 0x4a83e4
lea eax, [ebp - 0x41e0]
push eax
call fcn.0046bdd1
mov cl, byte [0x4982d0]
mov byte [ebp - 0x4188], cl
mov ecx, 0x400
xor eax, eax
lea edi, [ebp - 0x4187]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x317c], 0
mov dword [ebp - 0x3180], 0
mov dword [ebp - 0x41a0], 0
mov dword [ebp - 0x3060], 0
lea edx, [ebp - 0x1020]
push edx
lea ecx, [ebp - 0x41e4]
call fcn.00407a50
mov dword [ebp - 0x4258], eax
mov eax, dword [ebp - 0x4258]
mov dword [ebp - 0x425c], eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x3060]
push ecx
push 0x4982d4
lea edx, [ebp - 0x41e8]
push edx
mov ecx, dword [ebp - 0x425c]
call fcn.0040e300
mov dword [ebp - 0x4260], eax
mov ecx, dword [ebp - 0x4260]
call fcn.0040ee50
push eax
lea eax, [ebp - 0x2040]
push eax
call fcn.0046b260
add esp, 8
lea ecx, [ebp - 0x41e8]
call fcn.00407ac0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x41e4]
call fcn.00407ac0
push str.RTSP_1.0_200_OK
lea ecx, [ebp - 0x2040]
push ecx
call fcn.0047231a
add esp, 8
test eax, eax
je 0x440e93
lea edx, [ebp - 0x2040]
push edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
mov ecx, dword [ebp - 0x4230]
call fcn.00438db0
mov dword [ebp - 0x41ec], 0xffffffff
push 0x4a83e4
lea edx, [ebp - 0x41ec]
push edx
call fcn.0046bdd1
push str.Session:
lea eax, [ebp - 0x1020]
push eax
call fcn.0046b360
add esp, 8
mov dword [ebp - 0x102c], eax
cmp dword [ebp - 0x102c], 0
jne 0x440ed1
mov dword [ebp - 0x41f0], 0xffffffff
push 0x4a83e4
lea ecx, [ebp - 0x41f0]
push ecx
call fcn.0046bdd1
push 0x4982f4
mov edx, dword [ebp - 0x102c]
push edx
call fcn.0046b360
add esp, 8
add eax, 2
mov dword [ebp - 0x3068], eax
lea eax, [ebp - 0x4188]
push eax
push str.Session:__s
mov ecx, dword [ebp - 0x102c]
push ecx
call fcn.0046b0d6
add esp, 0xc
push str.Transport:
mov edx, dword [ebp - 0x3068]
push edx
call fcn.0046b360
add esp, 8
mov dword [ebp - 0x3180], eax
cmp dword [ebp - 0x3180], 0
jne 0x440f47
mov dword [ebp - 0x41f4], 0xffffffff
push 0x4a83e4
lea eax, [ebp - 0x41f4]
push eax
call fcn.0046bdd1
push 0x498310
mov ecx, dword [ebp - 0x3180]
push ecx
call fcn.0046b360
add esp, 8
add eax, 2
mov dword [ebp - 0x41a0], eax
jne 0x440f81
mov dword [ebp - 0x41f8], 0xffffffff
push 0x4a83e4
lea edx, [ebp - 0x41f8]
push edx
call fcn.0046bdd1
cmp dword [ebp - 0x1038], 1
jne 0x440fe6
push 0x498314
mov eax, dword [ebp - 0x3180]
push eax
call fcn.0046b360
add esp, 8
test eax, eax
jne 0x440fbd
mov dword [ebp - 0x41fc], 0xffffffff
push 0x4a83e4
lea ecx, [ebp - 0x41fc]
push ecx
call fcn.0046bdd1
lea edx, [ebp - 0x317c]
push edx
push str.server_port_d
push str.server_port
mov eax, dword [ebp - 0x3180]
push eax
call fcn.0046b360
add esp, 8
push eax
call fcn.0046b0d6
add esp, 0xc
mov ecx, dword [ebp - 0x102c]
lea edx, [ebp - 0x1020]
sub ecx, edx
push ecx
lea eax, [ebp - 0x1020]
push eax
lea ecx, [ebp - 0x2040]
push ecx
call fcn.0046c430
add esp, 0xc
mov edx, dword [ebp - 0x102c]
lea eax, [ebp - 0x1020]
sub edx, eax
mov byte [ebp + edx - 0x2040], 0
lea ecx, [ebp - 0x4188]
push ecx
push str.Session:__s_r_n
mov edx, dword [ebp - 0x102c]
lea eax, [ebp - 0x1020]
sub edx, eax
lea ecx, [ebp + edx - 0x2040]
push ecx
call fcn.0046b198
add esp, 0xc
lea edx, [ebp - 0x2040]
push edx
call fcn.0046b430
add esp, 4
mov dword [ebp - 0x4194], eax
mov eax, dword [ebp - 0x3180]
sub eax, dword [ebp - 0x3068]
push eax
mov ecx, dword [ebp - 0x3068]
push ecx
mov edx, dword [ebp - 0x4194]
lea eax, [ebp + edx - 0x2040]
push eax
call fcn.0046c430
add esp, 0xc
mov ecx, dword [ebp - 0x3180]
sub ecx, dword [ebp - 0x3068]
add ecx, dword [ebp - 0x4194]
mov byte [ebp + ecx - 0x2040], 0
cmp dword [ebp - 0x1038], 1
jne 0x4410e5
mov edx, dword [ebp - 0x41a0]
push edx
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x305c]
push ecx
push str.Transport:_x_real_rdt_udp_client_port_d_server_port_d_r_n_s
lea edx, [ebp - 0x2040]
push edx
call fcn.0046b430
add esp, 4
lea eax, [ebp + eax - 0x2040]
push eax
call fcn.0046b198
add esp, 0x14
jmp 0x441110
mov ecx, dword [ebp - 0x41a0]
push ecx
push str.Transport:_x_real_rdt_tcp_interleaved0_r_n_s
lea edx, [ebp - 0x2040]
push edx
call fcn.0046b430
add esp, 4
lea eax, [ebp + eax - 0x2040]
push eax
call fcn.0046b198
add esp, 0xc
lea ecx, [ebp - 0x2040]
push ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x4230]
call fcn.00438db0
mov dword [ebp - 0x4264], eax
cmp dword [ebp - 0x4264], 0
jne 0x441152
mov dword [ebp - 0x4200], 0xffffffff
push 0x4a83e4
lea ecx, [ebp - 0x4200]
push ecx
call fcn.0046bdd1
mov dword [ebp - 0x4190], 1
mov dword [ebp - 0x418c], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x419c], eax
mov edx, dword [ebp + 8]
cmp dword [edx], 2
jne 0x441736
mov eax, dword [ebp - 0x4230]
cmp dword [eax + 0x10], 0
je 0x441736
mov dword [ebp - 0x3178], 0
mov dword [ebp - 0x41bc], 0
jmp 0x4411b3
mov ecx, dword [ebp - 0x41bc]
add ecx, 1
mov dword [ebp - 0x41bc], ecx
mov edx, dword [ebp - 0x41bc]
cmp edx, dword [ebp - 0x3178]
jae 0x4411d7
mov eax, dword [ebp - 0x41bc]
mov ecx, dword [ebp + eax*4 - 0x3174]
cmp ecx, dword [ebp + 0x10]
jne 0x4411d5
jmp 0x4411d7
jmp 0x4411a4
mov edx, dword [ebp - 0x41bc]
cmp edx, dword [ebp - 0x3178]
jne 0x44120d
cmp dword [ebp - 0x3178], 0x40
jae 0x44120d
mov eax, dword [ebp - 0x41bc]
mov ecx, dword [ebp + 0x10]
mov dword [ebp + eax*4 - 0x3174], ecx
mov edx, dword [ebp - 0x3178]
add edx, 1
mov dword [ebp - 0x3178], edx
xor eax, eax
jne 0x441198
mov dword [ebp - 0x41c0], 0
jmp 0x44122c
mov ecx, dword [ebp - 0x41c0]
add ecx, 1
mov dword [ebp - 0x41c0], ecx
mov edx, dword [ebp - 0x41c0]
cmp edx, dword [ebp - 0x3178]
jae 0x441252
mov eax, dword [ebp - 0x41c0]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + eax*4 - 0x3174]
cmp edx, dword [ecx]
jne 0x441250
jmp 0x441252
jmp 0x44121d
mov eax, dword [ebp - 0x41c0]
cmp eax, dword [ebp - 0x3178]
jne 0x44128a
cmp dword [ebp - 0x3178], 0x40
jae 0x44128a
mov ecx, dword [ebp - 0x41c0]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov dword [ebp + ecx*4 - 0x3174], eax
mov ecx, dword [ebp - 0x3178]
add ecx, 1
mov dword [ebp - 0x3178], ecx
xor edx, edx
jne 0x441211
mov dword [ebp - 0x41c4], 0
jmp 0x4412a9
mov eax, dword [ebp - 0x41c4]
add eax, 1
mov dword [ebp - 0x41c4], eax
mov ecx, dword [ebp - 0x41c4]
cmp ecx, dword [ebp - 0x3178]
jae 0x4412d0
mov edx, dword [ebp - 0x41c4]
mov eax, dword [ebp + edx*4 - 0x3174]
cmp eax, dword [ebp - 0x3058]
jne 0x4412ce
jmp 0x4412d0
jmp 0x44129a
mov ecx, dword [ebp - 0x41c4]
cmp ecx, dword [ebp - 0x3178]
jne 0x441309
cmp dword [ebp - 0x3178], 0x40
jae 0x441309
mov edx, dword [ebp - 0x41c4]
mov eax, dword [ebp - 0x3058]
mov dword [ebp + edx*4 - 0x3174], eax
mov ecx, dword [ebp - 0x3178]
add ecx, 1
mov dword [ebp - 0x3178], ecx
xor edx, edx
jne 0x44128e
lea eax, [ebp - 0x4190]
push eax
push 0
push 0
lea ecx, [ebp - 0x3178]
push ecx
push 0xffffffffffffffff
call dword [sym.imp.WS2_32.dll_select]
mov dword [ebp - 0x41b8], eax
cmp dword [ebp - 0x41b8], 0
jne 0x441380
cmp dword [0x4afae8], 0
jg 0x441344
jmp 0x441172
mov esi, dword [0x4afae8]
imul esi, esi, 0x3e8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x419c]
cmp eax, esi
jle 0x44137b
mov dword [ebp - 0x4204], 0xffffffff
push 0x4a83e4
lea edx, [ebp - 0x4204]
push edx
call fcn.0046bdd1
jmp 0x441172
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x419c], eax
cmp dword [ebp - 0x41b8], 0
jge 0x4413bc
mov dword [ebp - 0x4208], 0xa
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3064]
call fcn.00407ac0
mov eax, dword [ebp - 0x4208]
jmp 0x441799
lea eax, [ebp - 0x3178]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4414be
mov dword [ebp - 0x1034], 0x1000
mov byte [ebp - 0x2040], 0
push 0
lea edx, [ebp - 0x1034]
push edx
lea eax, [ebp - 0x2040]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [ebp - 0x4230]
call fcn.00438bc0
mov dword [ebp - 0x4268], eax
cmp dword [ebp - 0x4268], 0
jne 0x441452
cmp dword [ebp - 0x1034], 0
jne 0x441437
mov dword [ebp - 0x420c], 0xffffffff
push 0x4a83e4
lea edx, [ebp - 0x420c]
push edx
call fcn.0046bdd1
mov dword [ebp - 0x4210], 0xffffffff
push 0x4a83e4
lea eax, [ebp - 0x4210]
push eax
call fcn.0046bdd1
cmp dword [ebp - 0x1034], 0
jle 0x4414a4
mov ecx, dword [ebp - 0x1034]
push ecx
lea edx, [ebp - 0x2040]
push edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
mov ecx, dword [ebp - 0x4230]
call fcn.00438d00
mov dword [ebp - 0x426c], eax
cmp dword [ebp - 0x426c], 0
jne 0x4414a4
mov dword [ebp - 0x4214], 0xffffffff
push 0x4a83e4
lea edx, [ebp - 0x4214]
push edx
call fcn.0046bdd1
push 1
mov eax, dword [ebp - 0x1034]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00424520
add esp, 0xc
jmp 0x441172
lea edx, [ebp - 0x3178]
push edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4415c2
mov dword [ebp - 0x1034], 0x1000
mov byte [ebp - 0x2040], 0
push 0
lea edx, [ebp - 0x1034]
push edx
lea eax, [ebp - 0x2040]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
mov ecx, dword [ebp - 0x4230]
call fcn.00438bc0
mov dword [ebp - 0x4270], eax
cmp dword [ebp - 0x4270], 0
jne 0x441558
cmp dword [ebp - 0x1034], 0
jne 0x44153d
mov dword [ebp - 0x4218], 0xffffffff
push 0x4a83e4
lea eax, [ebp - 0x4218]
push eax
call fcn.0046bdd1
mov dword [ebp - 0x421c], 0xffffffff
push 0x4a83e4
lea ecx, [ebp - 0x421c]
push ecx
call fcn.0046bdd1
cmp dword [ebp - 0x1034], 0
jle 0x4415a8
mov edx, dword [ebp - 0x1034]
push edx
lea eax, [ebp - 0x2040]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [ebp - 0x4230]
call fcn.00438d00
mov dword [ebp - 0x4274], eax
cmp dword [ebp - 0x4274], 0
jne 0x4415a8
mov dword [ebp - 0x4220], 0xffffffff
push 0x4a83e4
lea edx, [ebp - 0x4220]
push edx
call fcn.0046bdd1
push 0
mov eax, dword [ebp - 0x1034]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00424520
add esp, 0xc
jmp 0x441172
lea edx, [ebp - 0x3178]
push edx
mov eax, dword [ebp - 0x3058]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x441731
mov dword [ebp - 0x1034], 0x1000
mov byte [ebp - 0x2040], 0
lea ecx, [ebp - 0x41b4]
push ecx
lea edx, [ebp - 0x41b0]
push edx
push 0
mov eax, dword [ebp - 0x1034]
push eax
lea ecx, [ebp - 0x2040]
push ecx
mov edx, dword [ebp - 0x3058]
push edx
call dword [sym.imp.WS2_32.dll_recvfrom]
mov dword [ebp - 0x1034], eax
cmp dword [ebp - 0x1034], 0
jle 0x44172c
mov ax, word [ebp - 0x305c]
push eax
call dword [sym.imp.WS2_32.dll_htons]
movzx ecx, ax
movzx edx, word [ebp - 0x41ae]
cmp edx, ecx
jne 0x4416c2
mov eax, dword [ebp - 0x41ac]
cmp eax, dword [ebp - 0x4198]
jne 0x4416c2
mov word [ebp - 0x41b0], 2
mov cx, word [ebp - 0x317c]
push ecx
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x41ae], ax
mov edx, dword [ebp - 0x2044]
mov dword [ebp - 0x41ac], edx
mov eax, dword [ebp - 0x41b4]
push eax
lea ecx, [ebp - 0x41b0]
push ecx
push 0
mov edx, dword [ebp - 0x1034]
push edx
lea eax, [ebp - 0x2040]
push eax
mov ecx, dword [ebp - 0x3058]
push ecx
call dword [sym.imp.WS2_32.dll_sendto]
push 0
mov edx, dword [ebp - 0x1034]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00424520
add esp, 0xc
jmp 0x44172c
mov word [ebp - 0x41b0], 2
mov cx, word [ebp - 0x305c]
push ecx
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x41ae], ax
mov edx, dword [ebp - 0x4198]
mov dword [ebp - 0x41ac], edx
mov eax, dword [ebp - 0x41b4]
push eax
lea ecx, [ebp - 0x41b0]
push ecx
push 0
mov edx, dword [ebp - 0x1034]
push edx
lea eax, [ebp - 0x2040]
push eax
mov ecx, dword [ebp - 0x3058]
push ecx
call dword [sym.imp.WS2_32.dll_sendto]
push 1
mov edx, dword [ebp - 0x1034]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00424520
add esp, 0xc
jmp 0x441172
jmp 0x441172
mov dword [ebp - 0x4224], 0
push 0x4a83e4
lea ecx, [ebp - 0x4224]
push ecx
call fcn.0046bdd1
cmp dword [ebp - 0x3058], 0xffffffff
je 0x441767
mov edx, dword [ebp - 0x3058]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0x3058], 0xffffffff
mov dword [ebp - 0x4228], 0
mov eax, 0x441781
ret
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10