Function at 0x43da65
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 0x48dbdc
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0xe258
call fcn.00465440
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0xe230], ecx
mov eax, dword [ebp + 0x14]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov dword [ebp - 0x6058], eax
cmp dword [ebp - 0x6058], 0
je 0x43dac2
mov ecx, dword [ebp - 0x6058]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx]
mov ecx, dword [eax]
mov dword [ebp - 0x6050], ecx
jmp 0x43dac9
xor eax, eax
jmp 0x43ec99
mov dl, byte [0x4b010c]
mov byte [ebp - 0x1018], dl
mov ecx, 0x400
xor eax, eax
lea edi, [ebp - 0x1017]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x6054], 0x1000
push 0
lea eax, [ebp - 0x6054]
push eax
lea ecx, [ebp - 0x1018]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0xe230]
call fcn.00435dcb
test eax, eax
jne 0x43db18
xor eax, eax
jmp 0x43ec99
mov eax, dword [ebp - 0x6054]
push eax
lea ecx, [ebp - 0x1018]
push ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0xe230]
call fcn.00435f01
test eax, eax
jne 0x43db42
xor eax, eax
jmp 0x43ec99
mov dword [ebp - 0x6054], 0x1000
push 0
lea ecx, [ebp - 0x6054]
push ecx
lea edx, [ebp - 0x1018]
push edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
mov ecx, dword [ebp - 0xe230]
call fcn.00435dcb
test eax, eax
jne 0x43db78
xor eax, eax
jmp 0x43ec99
mov edx, dword [ebp - 0x6054]
push edx
lea eax, [ebp - 0x1018]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [ebp - 0xe230]
call fcn.00435f01
test eax, eax
jne 0x43dba0
xor eax, eax
jmp 0x43ec99
mov dl, byte [0x4b0110]
mov byte [ebp - 0x4034], dl
mov ecx, 0x400
xor eax, eax
lea edi, [ebp - 0x4033]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x1018]
push eax
push 0x4a8680
lea ecx, [ebp - 0x4034]
push ecx
call fcn.004650e4
add esp, 0xc
push 0x4a8684
lea edx, [ebp - 0x4034]
push edx
call fcn.004652d0
add esp, 8
mov dword [ebp - 0x3030], eax
cmp dword [ebp - 0x3030], 0
je 0x43dc04
mov eax, dword [ebp - 0x3030]
mov byte [eax], 0
jmp 0x43dc0b
xor eax, eax
jmp 0x43ec99
push ecx
mov ecx, esp
mov dword [ebp - 0xe1e0], esp
lea edx, [ebp - 0x4034]
push edx
call fcn.00481032
mov dword [ebp - 0xe234], eax
mov eax, dword [ebp - 0xe234]
mov dword [ebp - 0xe238], eax
mov dword [ebp - 4], 0
push ecx
mov ecx, esp
mov dword [ebp - 0xe1e4], esp
push 0x4a8688
call fcn.00481032
mov dword [ebp - 0xe23c], eax
mov ecx, dword [ebp - 0xe23c]
mov dword [ebp - 0xe240], ecx
mov byte [ebp - 4], 1
push ecx
mov ecx, esp
mov dword [ebp - 0xe1e8], esp
push 0x4b0114
call fcn.00481032
mov dword [ebp - 0xe244], eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp + 8]
push edx
mov ecx, 0x4afa18
call fcn.00426c3e
mov dword [ebp - 0x6054], 0x1000
push 0
lea eax, [ebp - 0x6054]
push eax
lea ecx, [ebp - 0x1018]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0xe230]
call fcn.00435dcb
test eax, eax
jne 0x43dcc4
xor eax, eax
jmp 0x43ec99
mov eax, dword [ebp - 0x6054]
push eax
lea ecx, [ebp - 0x1018]
push ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0xe230]
call fcn.00435f01
test eax, eax
jne 0x43dcee
xor eax, eax
jmp 0x43ec99
push str.Content_length:
lea ecx, [ebp - 0x1018]
push ecx
call fcn.004652d0
add esp, 8
mov dword [ebp - 0x302c], eax
cmp dword [ebp - 0x302c], 0
jne 0x43dd2f
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 - 0xe230]
call fcn.00435fd2
jmp 0x43ec99
mov dword [ebp - 0x604c], 0
lea eax, [ebp - 0x604c]
push eax
push str.Content_length:__d
mov ecx, dword [ebp - 0x302c]
push ecx
call fcn.0046502a
add esp, 0xc
push str._r_n_r_n
lea edx, [ebp - 0x1018]
push edx
call fcn.004652d0
add esp, 8
mov dword [ebp - 0x3030], eax
cmp dword [ebp - 0x3030], 0
jne 0x43dd7e
xor eax, eax
jmp 0x43ec99
mov eax, dword [ebp - 0x3030]
lea ecx, [ebp - 0x1018]
sub eax, ecx
mov edx, dword [ebp - 0x604c]
lea eax, [eax + edx + 4]
mov dword [ebp - 0x6048], eax
mov ecx, dword [ebp - 0x6048]
sub ecx, dword [ebp - 0x6054]
mov dword [ebp - 0x7068], ecx
mov edx, dword [ebp + 8]
cmp dword [edx], 2
jne 0x43de4e
mov eax, dword [ebp - 0xe230]
cmp dword [eax + 0x10], 0
je 0x43de4e
cmp dword [ebp - 0x7068], 0
jne 0x43ddd5
jmp 0x43de4e
mov ecx, dword [ebp - 0x7068]
mov dword [ebp - 0x6054], ecx
push 8
lea edx, [ebp - 0x6054]
push edx
lea eax, [ebp - 0x1018]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [ebp - 0xe230]
call fcn.00435dcb
test eax, eax
je 0x43de30
mov edx, dword [ebp - 0x6054]
push edx
lea eax, [ebp - 0x1018]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
mov ecx, dword [ebp - 0xe230]
call fcn.00435f01
test eax, eax
jne 0x43de2e
xor eax, eax
jmp 0x43ec99
jmp 0x43de37
xor eax, eax
jmp 0x43ec99
mov eax, dword [ebp - 0x7068]
sub eax, dword [ebp - 0x6054]
mov dword [ebp - 0x7068], eax
jmp 0x43ddae
mov dword [ebp - 0x6054], 0x1000
mov cl, byte [0x4b0118]
mov byte [ebp - 0x7060], cl
mov ecx, 0x400
xor eax, eax
lea edi, [ebp - 0x705f]
rep stosd dword es:[edi], eax
push 0
lea edx, [ebp - 0x6054]
push edx
lea eax, [ebp - 0x7060]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
mov ecx, dword [ebp - 0xe230]
call fcn.00435dcb
test eax, eax
jne 0x43de9f
xor eax, eax
jmp 0x43ec99
push 0x4a86c0
lea eax, [ebp - 0x7060]
push eax
call fcn.004652d0
add esp, 8
mov dword [ebp - 0x3030], eax
cmp dword [ebp - 0x3030], 0
jne 0x43dedf
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 - 0xe230]
call fcn.00435fa8
xor eax, eax
jmp 0x43ec99
push 0x4a86ec
mov eax, dword [ebp - 0x3030]
push eax
call fcn.004652d0
add esp, 8
test eax, eax
jne 0x43defe
xor eax, eax
jmp 0x43ec99
push 0x4a86f0
mov ecx, dword [ebp - 0x3030]
push ecx
call fcn.004652d0
add esp, 8
add eax, 2
mov dword [ebp - 0x605c], eax
push 0x4a86f4
push 0x4a86f8
call fcn.00465470
add esp, 4
mov edx, dword [ebp - 0x3030]
add edx, eax
push edx
lea ecx, [ebp - 0x6040]
call fcn.0044f570
lea ecx, [ebp - 0x6040]
call fcn.0044f5b1
mov dword [ebp - 0x7064], eax
push 0x4a8704
mov eax, dword [ebp - 0x7064]
push eax
lea ecx, [ebp - 0x3024]
call fcn.0044f570
mov dword [ebp - 0x6044], 0
lea ecx, [ebp - 0x3024]
call fcn.0044f642
test eax, eax
je 0x43dfd1
lea ecx, [ebp - 0x3024]
call fcn.0044f5b1
push eax
lea ecx, [ebp - 0x1018]
push ecx
call fcn.00465350
add esp, 8
push 0x4a8708
call fcn.00465470
add esp, 4
push eax
push 0x4a8718
lea edx, [ebp - 0x1018]
push edx
call fcn.004681f0
add esp, 0xc
test eax, eax
jne 0x43dfcf
mov dword [ebp - 0x6044], 1
jmp 0x43dfd1
jmp 0x43df73
mov dword [ebp - 0x14], 0
cmp dword [ebp - 0x6044], 0
je 0x43e038
push 0x4a8728
lea eax, [ebp - 0x1018]
push eax
lea ecx, [ebp - 0x9078]
call fcn.0044f570
lea ecx, [ebp - 0x9078]
call fcn.0044f5b1
lea ecx, [ebp - 0x9078]
call fcn.0044f5b1
push eax
lea ecx, [ebp - 0x1018]
push ecx
call fcn.00465350
add esp, 8
lea edx, [ebp - 0x14]
push edx
push str.client_port_d
lea eax, [ebp - 0x1018]
push eax
call fcn.0046502a
add esp, 0xc
jmp 0x43e0b7
push 0x4a873c
mov ecx, dword [ebp - 0x7064]
push ecx
lea ecx, [ebp - 0xb084]
call fcn.0044f570
mov dword [ebp - 0x6044], 0
lea ecx, [ebp - 0xb084]
call fcn.0044f642
test eax, eax
je 0x43e0b7
lea ecx, [ebp - 0xb084]
call fcn.0044f5b1
push eax
lea edx, [ebp - 0x1018]
push edx
call fcn.00465350
add esp, 8
push str.x_real_rdt_udp
call fcn.00465470
add esp, 4
push eax
push str.x_real_rdt_tcp
lea eax, [ebp - 0x1018]
push eax
call fcn.004681f0
add esp, 0xc
test eax, eax
jne 0x43e0b5
mov dword [ebp - 0x6044], 2
jmp 0x43e0b7
jmp 0x43e059
cmp dword [ebp - 0x6044], 0
jne 0x43e0c7
xor eax, eax
jmp 0x43ec99
mov dword [ebp - 0x3028], 0
mov dword [ebp - 0x706c], 0xffffffff
mov dword [ebp - 4], 2
push 0
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x706c], eax
mov dword [ebp - 0xb088], 0x10
mov word [ebp - 0xc1bc], 2
push 0
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0xc1ba], ax
mov dword [ebp - 0xc1b8], 0
push 0x10
lea ecx, [ebp - 0xc1bc]
push ecx
mov edx, dword [ebp - 0x706c]
push edx
call dword [sym.imp.WS2_32.dll_bind]
lea eax, [ebp - 0xb088]
push eax
lea ecx, [ebp - 0xc1bc]
push ecx
mov edx, dword [ebp - 0x706c]
push edx
call dword [sym.imp.WS2_32.dll_getsockname]
mov ax, word [ebp - 0xc1ba]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
and eax, 0xffff
mov dword [ebp - 0x3028], eax
lea ecx, [ebp - 0xb088]
push ecx
lea edx, [ebp - 0xc1bc]
push edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.WS2_32.dll_getsockname]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc098], eax
mov ecx, dword [ebp - 0x3030]
lea edx, [ebp - 0x7060]
sub ecx, edx
push ecx
lea eax, [ebp - 0x7060]
push eax
lea ecx, [ebp - 0x1018]
push ecx
call fcn.004669d0
add esp, 0xc
mov edx, dword [ebp - 0x3030]
lea eax, [ebp - 0x7060]
sub edx, eax
mov byte [ebp + edx - 0x1018], 0
cmp dword [ebp - 0x6044], 1
jne 0x43e207
mov ecx, dword [ebp - 0x605c]
push ecx
mov edx, dword [ebp - 0x3028]
push edx
push str.Transport:_x_real_rdt_udp_client_port_d_modeplay_r_n_s
mov eax, dword [ebp - 0x3030]
lea ecx, [ebp - 0x7060]
sub eax, ecx
lea edx, [ebp + eax - 0x1018]
push edx
call fcn.004650e4
add esp, 0x10
jmp 0x43e231
mov eax, dword [ebp - 0x605c]
push eax
push str.Transport:_x_real_rdt_tcp_modeplay_r_n_s
mov ecx, dword [ebp - 0x3030]
lea edx, [ebp - 0x7060]
sub ecx, edx
lea eax, [ebp + ecx - 0x1018]
push eax
call fcn.004650e4
add esp, 0xc
lea ecx, [ebp - 0x1018]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0xe230]
call fcn.00435fa8
mov dword [ebp - 0xe248], eax
cmp dword [ebp - 0xe248], 0
jne 0x43e271
mov dword [ebp - 0xe1ec], 0xffffffff
push 0x49d188
lea eax, [ebp - 0xe1ec]
push eax
call fcn.00468332
mov dword [ebp - 0x6054], 0x1000
push 0
lea ecx, [ebp - 0x6054]
push ecx
lea edx, [ebp - 0x7060]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0xe230]
call fcn.00435dcb
mov dword [ebp - 0xe24c], eax
cmp dword [ebp - 0xe24c], 0
jne 0x43e2c4
mov dword [ebp - 0xe1f0], 0xffffffff
push 0x49d188
lea ecx, [ebp - 0xe1f0]
push ecx
call fcn.00468332
mov dl, byte [0x4b011c]
mov byte [ebp - 0xc094], dl
mov ecx, 0x400
xor eax, eax
lea edi, [ebp - 0xc093]
rep stosd dword es:[edi], eax
mov dword [ebp - 0xc1a0], 0
mov dword [ebp - 0xb08c], 0
mov dword [ebp - 0xb090], 0
push 0x4a87c0
lea eax, [ebp - 0x7060]
push eax
lea ecx, [ebp - 0xe1cc]
call fcn.0044f570
lea ecx, [ebp - 0xe1cc]
call fcn.0044f5b1
mov dword [ebp - 0xe250], eax
mov ecx, dword [ebp - 0xe250]
push ecx
lea edx, [ebp - 0x1018]
push edx
call fcn.00465350
add esp, 8
push str.RTSP_1.0_200_OK
lea eax, [ebp - 0x1018]
push eax
call fcn.0046b9a0
add esp, 8
test eax, eax
je 0x43e386
lea ecx, [ebp - 0x1018]
push ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0xe230]
call fcn.00435fa8
mov dword [ebp - 0xe1f4], 0xffffffff
push 0x49d188
lea ecx, [ebp - 0xe1f4]
push ecx
call fcn.00468332
push str.Session:
lea edx, [ebp - 0x7060]
push edx
call fcn.004652d0
add esp, 8
mov dword [ebp - 0x3030], eax
cmp dword [ebp - 0x3030], 0
jne 0x43e3c4
mov dword [ebp - 0xe1f8], 0xffffffff
push 0x49d188
lea eax, [ebp - 0xe1f8]
push eax
call fcn.00468332
push 0x4a87e0
mov ecx, dword [ebp - 0x3030]
push ecx
call fcn.004652d0
add esp, 8
add eax, 2
mov dword [ebp - 0x605c], eax
lea edx, [ebp - 0xc094]
push edx
push str.Session:__s
mov eax, dword [ebp - 0x3030]
push eax
call fcn.0046502a
add esp, 0xc
push str.Transport:
mov ecx, dword [ebp - 0x605c]
push ecx
call fcn.004652d0
add esp, 8
mov dword [ebp - 0xb08c], eax
cmp dword [ebp - 0xb08c], 0
jne 0x43e43a
mov dword [ebp - 0xe1fc], 0xffffffff
push 0x49d188
lea edx, [ebp - 0xe1fc]
push edx
call fcn.00468332
push 0x4a87fc
mov eax, dword [ebp - 0xb08c]
push eax
call fcn.004652d0
add esp, 8
add eax, 2
mov dword [ebp - 0xb090], eax
cmp dword [ebp - 0xb090], 0
jne 0x43e47b
mov dword [ebp - 0xe200], 0xffffffff
push 0x49d188
lea ecx, [ebp - 0xe200]
push ecx
call fcn.00468332
cmp dword [ebp - 0x6044], 1
jne 0x43e4e0
push 0x4a8800
mov edx, dword [ebp - 0xb08c]
push edx
call fcn.004652d0
add esp, 8
test eax, eax
jne 0x43e4b7
mov dword [ebp - 0xe204], 0xffffffff
push 0x49d188
lea eax, [ebp - 0xe204]
push eax
call fcn.00468332
lea ecx, [ebp - 0xc1a0]
push ecx
push str.server_port_d
push str.server_port
mov edx, dword [ebp - 0xb08c]
push edx
call fcn.004652d0
add esp, 8
push eax
call fcn.0046502a
add esp, 0xc
mov eax, dword [ebp - 0x3030]
lea ecx, [ebp - 0x7060]
sub eax, ecx
push eax
lea edx, [ebp - 0x7060]
push edx
lea eax, [ebp - 0x1018]
push eax
call fcn.004669d0
add esp, 0xc
mov ecx, dword [ebp - 0x3030]
lea edx, [ebp - 0x7060]
sub ecx, edx
mov byte [ebp + ecx - 0x1018], 0
lea eax, [ebp - 0xc094]
push eax
push str.Session:__s_r_n
mov ecx, dword [ebp - 0x3030]
lea edx, [ebp - 0x7060]
sub ecx, edx
lea eax, [ebp + ecx - 0x1018]
push eax
call fcn.004650e4
add esp, 0xc
lea ecx, [ebp - 0x1018]
push ecx
call fcn.00465470
add esp, 4
mov dword [ebp - 0xc1a4], eax
mov edx, dword [ebp - 0xb08c]
sub edx, dword [ebp - 0x605c]
push edx
mov eax, dword [ebp - 0x605c]
push eax
mov ecx, dword [ebp - 0xc1a4]
lea edx, [ebp + ecx - 0x1018]
push edx
call fcn.004669d0
add esp, 0xc
mov eax, dword [ebp - 0xb08c]
sub eax, dword [ebp - 0x605c]
mov ecx, dword [ebp - 0xc1a4]
add ecx, eax
mov byte [ebp + ecx - 0x1018], 0
cmp dword [ebp - 0x6044], 1
jne 0x43e5e1
mov edx, dword [ebp - 0xb090]
push edx
mov eax, dword [ebp - 0x3028]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
push str.Transport:_x_real_rdt_udp_client_port_d_server_port_d_r_n_s
lea edx, [ebp - 0x1018]
push edx
call fcn.00465470
add esp, 4
lea eax, [ebp + eax - 0x1018]
push eax
call fcn.004650e4
add esp, 0x14
jmp 0x43e60c
mov ecx, dword [ebp - 0xb090]
push ecx
push str.Transport:_x_real_rdt_tcp_interleaved0_r_n_s
lea edx, [ebp - 0x1018]
push edx
call fcn.00465470
add esp, 4
lea eax, [ebp + eax - 0x1018]
push eax
call fcn.004650e4
add esp, 0xc
lea ecx, [ebp - 0x1018]
push ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0xe230]
call fcn.00435fa8
mov dword [ebp - 0xe254], eax
cmp dword [ebp - 0xe254], 0
jne 0x43e64e
mov dword [ebp - 0xe208], 0xffffffff
push 0x49d188
lea ecx, [ebp - 0xe208]
push ecx
call fcn.00468332
mov dword [ebp - 0xc1ac], 1
mov dword [ebp - 0xc1a8], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc1c0], eax
mov edx, dword [ebp + 8]
cmp dword [edx], 2
jne 0x43ec20
mov eax, dword [ebp - 0xe230]
cmp dword [eax + 0x10], 0
je 0x43ec20
mov dword [ebp - 0xc19c], 0
mov dword [ebp - 0xe1d4], 0
jmp 0x43e6af
mov ecx, dword [ebp - 0xe1d4]
add ecx, 1
mov dword [ebp - 0xe1d4], ecx
mov edx, dword [ebp - 0xe1d4]
cmp edx, dword [ebp - 0xc19c]
jae 0x43e6d3
mov eax, dword [ebp - 0xe1d4]
mov ecx, dword [ebp + eax*4 - 0xc198]
cmp ecx, dword [ebp + 0x10]
jne 0x43e6d1
jmp 0x43e6d3
jmp 0x43e6a0
mov edx, dword [ebp - 0xe1d4]
cmp edx, dword [ebp - 0xc19c]
jne 0x43e709
cmp dword [ebp - 0xc19c], 0x40
jae 0x43e709
mov eax, dword [ebp - 0xe1d4]
mov ecx, dword [ebp + 0x10]
mov dword [ebp + eax*4 - 0xc198], ecx
mov edx, dword [ebp - 0xc19c]
add edx, 1
mov dword [ebp - 0xc19c], edx
xor eax, eax
test eax, eax
jne 0x43e694
mov dword [ebp - 0xe1d8], 0
jmp 0x43e72a
mov ecx, dword [ebp - 0xe1d8]
add ecx, 1
mov dword [ebp - 0xe1d8], ecx
mov edx, dword [ebp - 0xe1d8]
cmp edx, dword [ebp - 0xc19c]
jae 0x43e750
mov eax, dword [ebp - 0xe1d8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + eax*4 - 0xc198]
cmp edx, dword [ecx]
jne 0x43e74e
jmp 0x43e750
jmp 0x43e71b
mov eax, dword [ebp - 0xe1d8]
cmp eax, dword [ebp - 0xc19c]
jne 0x43e788
cmp dword [ebp - 0xc19c], 0x40
jae 0x43e788
mov ecx, dword [ebp - 0xe1d8]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov dword [ebp + ecx*4 - 0xc198], eax
mov ecx, dword [ebp - 0xc19c]
add ecx, 1
mov dword [ebp - 0xc19c], ecx
xor edx, edx
test edx, edx
jne 0x43e70f
mov dword [ebp - 0xe1dc], 0
jmp 0x43e7a9
mov eax, dword [ebp - 0xe1dc]
add eax, 1
mov dword [ebp - 0xe1dc], eax
mov ecx, dword [ebp - 0xe1dc]
cmp ecx, dword [ebp - 0xc19c]
jae 0x43e7d0
mov edx, dword [ebp - 0xe1dc]
mov eax, dword [ebp + edx*4 - 0xc198]
cmp eax, dword [ebp - 0x706c]
jne 0x43e7ce
jmp 0x43e7d0
jmp 0x43e79a
mov ecx, dword [ebp - 0xe1dc]
cmp ecx, dword [ebp - 0xc19c]
jne 0x43e809
cmp dword [ebp - 0xc19c], 0x40
jae 0x43e809
mov edx, dword [ebp - 0xe1dc]
mov eax, dword [ebp - 0x706c]
mov dword [ebp + edx*4 - 0xc198], eax
mov ecx, dword [ebp - 0xc19c]
add ecx, 1
mov dword [ebp - 0xc19c], ecx
xor edx, edx
test edx, edx
jne 0x43e78e
lea eax, [ebp - 0xc1ac]
push eax
push 0
push 0
lea ecx, [ebp - 0xc19c]
push ecx
push 0xffffffffffffffff
call dword [sym.imp.WS2_32.dll_select]
mov dword [ebp - 0xe1d0], eax
cmp dword [ebp - 0xe1d0], 0
jne 0x43e886
cmp dword [0x4a7d14], 0
jg 0x43e84a
jmp 0x43e66e
mov esi, dword [0x4a7d14]
imul esi, esi, 0x3e8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0xc1c0]
cmp eax, esi
jbe 0x43e881
mov dword [ebp - 0xe20c], 0xffffffff
push 0x49d188
lea edx, [ebp - 0xe20c]
push edx
call fcn.00468332
jmp 0x43e66e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc1c0], eax
cmp dword [ebp - 0xe1d0], 0
jge 0x43e8a5
mov eax, 0xa
jmp 0x43ec99
lea eax, [ebp - 0xc19c]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x43e9a7
mov dword [ebp - 0x6054], 0x1000
mov byte [ebp - 0x1018], 0
push 0
lea edx, [ebp - 0x6054]
push edx
lea eax, [ebp - 0x1018]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [ebp - 0xe230]
call fcn.00435dcb
mov dword [ebp - 0xe258], eax
cmp dword [ebp - 0xe258], 0
jne 0x43e93b
cmp dword [ebp - 0x6054], 0
jne 0x43e920
mov dword [ebp - 0xe210], 0xffffffff
push 0x49d188
lea edx, [ebp - 0xe210]
push edx
call fcn.00468332
mov dword [ebp - 0xe214], 0xffffffff
push 0x49d188
lea eax, [ebp - 0xe214]
push eax
call fcn.00468332
cmp dword [ebp - 0x6054], 0
jle 0x43e98d
mov ecx, dword [ebp - 0x6054]
push ecx
lea edx, [ebp - 0x1018]
push edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
mov ecx, dword [ebp - 0xe230]
call fcn.00435f01
mov dword [ebp - 0xe25c], eax
cmp dword [ebp - 0xe25c], 0
jne 0x43e98d
mov dword [ebp - 0xe218], 0xffffffff
push 0x49d188
lea edx, [ebp - 0xe218]
push edx
call fcn.00468332
push 1
mov eax, dword [ebp - 0x6054]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004231ed
add esp, 0xc
jmp 0x43e66e
lea edx, [ebp - 0xc19c]
push edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x43eaab
mov dword [ebp - 0x6054], 0x1000
mov byte [ebp - 0x1018], 0
push 0
lea edx, [ebp - 0x6054]
push edx
lea eax, [ebp - 0x1018]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
mov ecx, dword [ebp - 0xe230]
call fcn.00435dcb
mov dword [ebp - 0xe260], eax
cmp dword [ebp - 0xe260], 0
jne 0x43ea41
cmp dword [ebp - 0x6054], 0
jne 0x43ea26
mov dword [ebp - 0xe21c], 0xffffffff
push 0x49d188
lea eax, [ebp - 0xe21c]
push eax
call fcn.00468332
mov dword [ebp - 0xe220], 0xffffffff
push 0x49d188
lea ecx, [ebp - 0xe220]
push ecx
call fcn.00468332
cmp dword [ebp - 0x6054], 0
jle 0x43ea91
mov edx, dword [ebp - 0x6054]
push edx
lea eax, [ebp - 0x1018]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [ebp - 0xe230]
call fcn.00435f01
mov dword [ebp - 0xe264], eax
cmp dword [ebp - 0xe264], 0
jne 0x43ea91
mov dword [ebp - 0xe224], 0xffffffff
push 0x49d188
lea edx, [ebp - 0xe224]
push edx
call fcn.00468332
push 0
mov eax, dword [ebp - 0x6054]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004231ed
add esp, 0xc
jmp 0x43e66e
lea edx, [ebp - 0xc19c]
push edx
mov eax, dword [ebp - 0x706c]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x43ec1b
mov dword [ebp - 0x6054], 0x1000
mov byte [ebp - 0x1018], 0
lea ecx, [ebp - 0xb088]
push ecx
lea edx, [ebp - 0xc1bc]
push edx
push 0
mov eax, dword [ebp - 0x6054]
push eax
lea ecx, [ebp - 0x1018]
push ecx
mov edx, dword [ebp - 0x706c]
push edx
call dword [sym.imp.WS2_32.dll_recvfrom]
mov dword [ebp - 0x6054], eax
cmp dword [ebp - 0x6054], 0
jle 0x43ec16
mov ax, word [ebp - 0x14]
push eax
call dword [sym.imp.WS2_32.dll_htons]
and eax, 0xffff
mov ecx, dword [ebp - 0xc1ba]
and ecx, 0xffff
cmp ecx, eax
jne 0x43ebaf
mov edx, dword [ebp - 0xc1b8]
cmp edx, dword [ebp - 0xc098]
jne 0x43ebaf
mov word [ebp - 0xc1bc], 2
mov ax, word [ebp - 0xc1a0]
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0xc1ba], ax
mov ecx, dword [ebp - 0x6050]
mov dword [ebp - 0xc1b8], ecx
mov edx, dword [ebp - 0xb088]
push edx
lea eax, [ebp - 0xc1bc]
push eax
push 0
mov ecx, dword [ebp - 0x6054]
push ecx
lea edx, [ebp - 0x1018]
push edx
mov eax, dword [ebp - 0x706c]
push eax
call dword [sym.imp.WS2_32.dll_sendto]
push 0
mov ecx, dword [ebp - 0x6054]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004231ed
add esp, 0xc
jmp 0x43ec16
mov word [ebp - 0xc1bc], 2
mov ax, word [ebp - 0x14]
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0xc1ba], ax
mov ecx, dword [ebp - 0xc098]
mov dword [ebp - 0xc1b8], ecx
mov edx, dword [ebp - 0xb088]
push edx
lea eax, [ebp - 0xc1bc]
push eax
push 0
mov ecx, dword [ebp - 0x6054]
push ecx
lea edx, [ebp - 0x1018]
push edx
mov eax, dword [ebp - 0x706c]
push eax
call dword [sym.imp.WS2_32.dll_sendto]
push 1
mov ecx, dword [ebp - 0x6054]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004231ed
add esp, 0xc
jmp 0x43e66e
jmp 0x43e66e
mov dword [ebp - 0xe228], 0
push 0x49d188
lea eax, [ebp - 0xe228]
push eax
call fcn.00468332
cmp dword [ebp - 0x706c], 0xffffffff
je 0x43ec51
mov ecx, dword [ebp - 0x706c]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0x706c], 0xffffffff
mov edx, 1
test edx, edx
je 0x43ec70
mov dword [ebp - 0xe268], 0
jmp 0x43ec83
push 0x4a88a8
call fcn.0040cc60
add esp, 4
mov dword [ebp - 0xe268], eax
mov dword [ebp - 0xe22c], 0
mov eax, 0x43ec93
ret
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10