Function at 0x57e214
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Receive data
Receive data on socket
Send data
Send data on socket
Send http request

Disassembly:
test dword [0x7eda90], 0xffffff80
jne 0x57e23c
test dword [0x7eda90], 0xffffffff
jne 0x57e81c
call fcn.006a6b5c
jmp fcn.0057e214
push ecx
mov eax, 0x850
call fcn.00696350
mov ecx, dword [esp + 0x850]
mov eax, dword [esp + 0x858]
mov edx, dword [esp + 0x868]
mov dword [eax], 0xffffffff
xor ecx, ecx
mov dword [esp + 0x84c], ecx
mov dword [esp + 0x83c], ebx
mov dword [esp + 0x840], esi
mov dword [esp + 0x844], edi
mov dword [esp + 0x848], ebp
mov esi, edx
mov ebp, dword [esp + 0x86c]
jmp 0x57e29e
mov eax, 1
mov dword [esp + 0x84c], eax
push 6
push 1
push 2
call sub.WSOCK32.dll_socket
mov ebx, eax
push 0x10
push dword [esp + 0x860]
push ebx
call sub.WSOCK32.dll_connect
cmp eax, 0xffffffff
je 0x57e7f0
lea ecx, [esp]
movzx eax, word [esp + 0x864]
push eax
push dword [esp + 0x864]
push str.CONNECT__s:_d_HTTP_1.0_r_n
push ecx
call fcn.006964d6
add esp, 0x10
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57e2fe
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57e2e9
dec eax
push 0
push eax
push ecx
push ebx
call sub.WSOCK32.dll_send
mov edi, eax
cmp edi, 0xffffffff
je 0x57e7be
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57e32d
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57e318
dec eax
cmp edi, eax
jne 0x57e7be
push 0x6c4b10
mov ecx, dword [0x7bc000]
call fcn.004fedb4
mov word [esp + 0x850], ax
lea eax, [esp + 0x850]
push eax
mov ecx, dword [0x6ffbec]
call fcn.004ede5c
mov edi, eax
test edi, edi
je 0x57e508
push 0xa
lea ecx, [esp + 0x828]
call fcn.0050a9a0
lea eax, [esp + 0x824]
push 1
push eax
mov ecx, edi
call fcn.00502a8c
mov edi, dword [esp + 0x824]
mov eax, 1
cmp dword [edi], 2
mov edi, 0
cmove edi, eax
lea ecx, [esp + 0x824]
call fcn.0050aa58
test edi, edi
je 0x57e508
mov eax, dword [esp + 0x84c]
test eax, eax
je 0x57e508
lea ecx, [esp + 0x804]
call fcn.004e5620
lea ecx, [esp + 0x814]
call fcn.004e5620
test esi, esi
je 0x57e3f2
push esi
lea ecx, [esp + 0x808]
call fcn.004e5334
test ebp, ebp
jne 0x57e3f6
jmp 0x57e407
test ebp, ebp
je 0x57e417
push ebp
lea ecx, [esp + 0x818]
call fcn.004e5334
test esi, esi
je 0x57e417
lea ecx, [esp + 0x804]
call fcn.004e5330
mov edi, eax
jmp 0x57e41c
mov edi, 0x6c35cc
test ebp, ebp
je 0x57e42e
lea ecx, [esp + 0x814]
call fcn.004e5330
jmp 0x57e433
mov eax, 0x6c35cc
lea ecx, [esp]
push eax
push edi
push str._s:_s
push ecx
call fcn.006964d6
add esp, 0x10
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57e460
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57e44b
dec eax
lea ecx, [esp + 0x834]
lea edi, [esp + 0x838]
push edi
push ecx
lea ecx, [esp + 8]
mov edx, eax
call fcn.005b4458
lea eax, [esp]
push dword [esp + 0x834]
push str.Proxy_Authorization:_Basic__s
push eax
call fcn.006964d6
add esp, 0xc
mov ecx, dword [esp + 0x834]
call fcn.004db418
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57e4b9
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57e4a4
dec eax
push 0
push eax
push ecx
push ebx
call sub.WSOCK32.dll_send
mov edi, eax
cmp edi, 0xffffffff
je 0x57e710
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57e4e8
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57e4d3
dec eax
cmp edi, eax
jne 0x57e710
lea ecx, [esp + 0x814]
call fcn.004e55bc
lea ecx, [esp + 0x804]
call fcn.004e55bc
lea eax, [esp]
push 0x6c3a50
push eax
call fcn.006964d6
add esp, 8
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57e533
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57e51e
dec eax
push 0
push eax
push ecx
push ebx
call sub.WSOCK32.dll_send
mov edi, eax
cmp edi, 0xffffffff
je 0x57e78c
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57e562
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57e54d
dec eax
cmp edi, eax
jne 0x57e78c
lea eax, [esp]
push 0x800
push 0
push eax
call fcn.006a6cc8
add esp, 0xc
lea eax, [esp]
push 0
push 0x7ff
push eax
push ebx
call sub.WSOCK32.dll_recv
test eax, eax
je 0x57e597
cmp eax, 0xffffffff
jne 0x57e5c9
mov edx, ebx
mov ebx, dword [esp + 0x83c]
mov esi, dword [esp + 0x840]
mov edi, dword [esp + 0x844]
mov ebp, dword [esp + 0x848]
push edx
call sub.WSOCK32.dll_closesocket
mov eax, 1
add esp, 0x854
ret 0x18
lea eax, [esp]
push 0x20
push eax
call fcn.00697340
add esp, 8
test eax, eax
je 0x57e75a
mov dword [esp + 0x830], 0
lea ecx, [eax + 1]
movsx edx, byte [ecx]
cmp edx, 0x30
jl 0x57e638
cmp edx, 0x39
jg 0x57e638
mov byte [esp + 0x830], dl
add eax, 2
movsx edx, byte [eax]
mov dword [esp + 0x800], edx
cmp edx, 0x30
jl 0x57e638
cmp edx, 0x39
jg 0x57e638
mov ecx, 1
mov byte [esp + ecx + 0x830], dl
inc ecx
inc eax
movsx edx, byte [eax]
cmp edx, 0x30
jl 0x57e638
cmp edx, 0x39
jg 0x57e638
cmp ecx, 3
jb 0x57e61d
lea eax, [esp + 0x830]
push eax
call fcn.006966be
pop ecx
cmp eax, 0xc8
je 0x57e6de
cmp eax, 0x191
jne 0x57e68a
mov edx, ebx
mov ebx, dword [esp + 0x83c]
mov esi, dword [esp + 0x840]
mov edi, dword [esp + 0x844]
mov ebp, dword [esp + 0x848]
push edx
call sub.WSOCK32.dll_closesocket
mov eax, 1
add esp, 0x854
ret 0x18
cmp eax, 0x197
jne 0x57e6ac
push ebx
call sub.WSOCK32.dll_closesocket
mov eax, dword [esp + 0x84c]
cmp eax, 1
je 0x57e7f0
jmp 0x57e292
mov edx, ebx
mov ebx, dword [esp + 0x83c]
mov esi, dword [esp + 0x840]
mov edi, dword [esp + 0x844]
mov ebp, dword [esp + 0x848]
push edx
call sub.WSOCK32.dll_closesocket
mov eax, 1
add esp, 0x854
ret 0x18
mov edx, ebx
mov eax, dword [esp + 0x858]
mov ebx, dword [esp + 0x83c]
mov esi, dword [esp + 0x840]
mov edi, dword [esp + 0x844]
mov ebp, dword [esp + 0x848]
mov dword [eax], edx
xor eax, eax
add esp, 0x854
ret 0x18
mov edx, ebx
mov ebx, dword [esp + 0x83c]
mov esi, dword [esp + 0x840]
mov edi, dword [esp + 0x844]
mov ebp, dword [esp + 0x848]
push edx
call sub.WSOCK32.dll_closesocket
lea ecx, [esp + 0x814]
call fcn.004e55bc
lea ecx, [esp + 0x804]
call fcn.004e55bc
mov eax, 1
add esp, 0x854
ret 0x18
mov edx, ebx
mov ebx, dword [esp + 0x83c]
mov esi, dword [esp + 0x840]
mov edi, dword [esp + 0x844]
mov ebp, dword [esp + 0x848]
push edx
call sub.WSOCK32.dll_closesocket
mov eax, 1
add esp, 0x854
ret 0x18
mov edx, ebx
mov ebx, dword [esp + 0x83c]
mov esi, dword [esp + 0x840]
mov edi, dword [esp + 0x844]
mov ebp, dword [esp + 0x848]
push edx
call sub.WSOCK32.dll_closesocket
mov eax, 1
add esp, 0x854
ret 0x18
mov edx, ebx
mov ebx, dword [esp + 0x83c]
mov esi, dword [esp + 0x840]
mov edi, dword [esp + 0x844]
mov ebp, dword [esp + 0x848]
push edx
call sub.WSOCK32.dll_closesocket
mov eax, 1
add esp, 0x854
ret 0x18
mov ebx, dword [esp + 0x83c]
mov esi, dword [esp + 0x840]
mov edi, dword [esp + 0x844]
mov ebp, dword [esp + 0x848]
mov eax, 1
add esp, 0x854
ret 0x18
push ecx
mov eax, 0x84c
call fcn.00696350
mov ecx, dword [esp + 0x84c]
mov eax, dword [esp + 0x854]
mov edx, dword [esp + 0x864]
mov dword [eax], 0xffffffff
xor ecx, ecx
mov dword [esp + 0x848], ecx
mov dword [esp + 0x838], ebx
mov dword [esp + 0x83c], esi
mov dword [esp + 0x840], edi
mov dword [esp + 0x844], ebp
mov edi, edx
mov esi, dword [esp + 0x868]
jmp 0x57e87e
mov eax, 1
mov dword [esp + 0x848], eax
push 6
push 1
push 2
call sub.WSOCK32.dll_socket
mov ebp, eax
push 0x10
push dword [esp + 0x85c]
push ebp
call sub.WSOCK32.dll_connect
cmp eax, 0xffffffff
je 0x57edc4
lea ecx, [esp]
movzx eax, word [esp + 0x860]
push eax
push dword [esp + 0x860]
push str.CONNECT__s:_d_HTTP_1.0_r_n
push ecx
call fcn.006964d6
add esp, 0x10
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57e8de
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57e8c9
dec eax
push 0
push eax
push ecx
push ebp
call sub.WSOCK32.dll_send
mov ebx, eax
cmp ebx, 0xffffffff
je 0x57ed92
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57e90d
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57e8f8
dec eax
cmp ebx, eax
jne 0x57ed92
push 0x6c4b10
mov ecx, dword [0x7bc000]
call fcn.004fedb4
mov word [esp + 0x84c], ax
lea eax, [esp + 0x84c]
push eax
mov ecx, dword [0x6ffbec]
call fcn.004ede5c
mov ebx, eax
test ebx, ebx
je 0x57eae0
push 0xa
lea ecx, [esp + 0x824]
call fcn.0050a9a0
lea eax, [esp + 0x820]
push 1
push eax
mov ecx, ebx
call fcn.00502a8c
mov eax, dword [esp + 0x820]
xor ebx, ebx
cmp dword [eax], 2
sete bl
lea ecx, [esp + 0x820]
call fcn.0050aa58
test ebx, ebx
je 0x57eae0
mov eax, dword [esp + 0x848]
test eax, eax
je 0x57eae0
lea ecx, [esp + 0x800]
call fcn.004e5620
lea ecx, [esp + 0x810]
call fcn.004e5620
test edi, edi
je 0x57e9ca
push edi
lea ecx, [esp + 0x804]
call fcn.004e5334
test esi, esi
jne 0x57e9ce
jmp 0x57e9df
test esi, esi
je 0x57e9ef
push esi
lea ecx, [esp + 0x814]
call fcn.004e5334
test edi, edi
je 0x57e9ef
lea ecx, [esp + 0x800]
call fcn.004e5330
mov ebx, eax
jmp 0x57e9f4
mov ebx, 0x6c35cc
test esi, esi
je 0x57ea06
lea ecx, [esp + 0x810]
call fcn.004e5330
jmp 0x57ea0b
mov eax, 0x6c35cc
lea ecx, [esp]
push eax
push ebx
push str._s:_s
push ecx
call fcn.006964d6
add esp, 0x10
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57ea38
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57ea23
dec eax
lea ecx, [esp + 0x830]
lea ebx, [esp + 0x834]
push ebx
push ecx
lea ecx, [esp + 8]
mov edx, eax
call fcn.005b4458
lea eax, [esp]
push dword [esp + 0x830]
push str.Proxy_Authorization:_Basic__s
push eax
call fcn.006964d6
add esp, 0xc
mov ecx, dword [esp + 0x830]
call fcn.004db418
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57ea91
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57ea7c
dec eax
push 0
push eax
push ecx
push ebp
call sub.WSOCK32.dll_send
mov ebx, eax
cmp ebx, 0xffffffff
je 0x57ece4
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57eac0
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57eaab
dec eax
cmp ebx, eax
jne 0x57ece4
lea ecx, [esp + 0x810]
call fcn.004e55bc
lea ecx, [esp + 0x800]
call fcn.004e55bc
lea eax, [esp]
push 0x6c3a50
push eax
call fcn.006964d6
add esp, 8
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57eb0b
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57eaf6
dec eax
push 0
push eax
push ecx
push ebp
call sub.WSOCK32.dll_send
mov ebx, eax
cmp ebx, 0xffffffff
je 0x57ed60
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57eb3a
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57eb25
dec eax
cmp ebx, eax
jne 0x57ed60
lea eax, [esp]
push 0x800
push 0
push eax
call fcn.006a6cc8
add esp, 0xc
lea eax, [esp]
push 0
push 0x7ff
push eax
push ebp
call sub.WSOCK32.dll_recv
test eax, eax
je 0x57eb6f
cmp eax, 0xffffffff
jne 0x57eba1
mov edx, ebp
mov ebx, dword [esp + 0x838]
mov esi, dword [esp + 0x83c]
mov edi, dword [esp + 0x840]
mov ebp, dword [esp + 0x844]
push edx
call sub.WSOCK32.dll_closesocket
mov eax, 1
add esp, 0x850
ret 0x18
lea eax, [esp]
push 0x20
push eax
call fcn.00697340
add esp, 8
test eax, eax
je 0x57ed2e
mov dword [esp + 0x82c], 0
lea ecx, [eax + 1]
movsx edx, byte [ecx]
cmp edx, 0x30
jl 0x57ec0c
cmp edx, 0x39
jg 0x57ec0c
mov byte [esp + 0x82c], dl
add eax, 2
movsx ecx, byte [eax]
cmp ecx, 0x30
jl 0x57ec0c
cmp ecx, 0x39
jg 0x57ec0c
mov ecx, 1
movzx edx, byte [eax]
mov byte [esp + ecx + 0x82c], dl
inc ecx
inc eax
movsx ebx, byte [eax]
cmp ebx, 0x30
jl 0x57ec0c
cmp ebx, 0x39
jg 0x57ec0c
cmp ecx, 3
jb 0x57ebee
lea eax, [esp + 0x82c]
push eax
call fcn.006966be
pop ecx
cmp eax, 0xc8
je 0x57ecb2
cmp eax, 0x191
jne 0x57ec5e
mov edx, ebp
mov ebx, dword [esp + 0x838]
mov esi, dword [esp + 0x83c]
mov edi, dword [esp + 0x840]
mov ebp, dword [esp + 0x844]
push edx
call sub.WSOCK32.dll_closesocket
mov eax, 1
add esp, 0x850
ret 0x18
cmp eax, 0x197
jne 0x57ec80
push ebp
call sub.WSOCK32.dll_closesocket
mov eax, dword [esp + 0x848]
cmp eax, 1
je 0x57edc4
jmp 0x57e872
mov edx, ebp
mov ebx, dword [esp + 0x838]
mov esi, dword [esp + 0x83c]
mov edi, dword [esp + 0x840]
mov ebp, dword [esp + 0x844]
push edx
call sub.WSOCK32.dll_closesocket
mov eax, 1
add esp, 0x850
ret 0x18
mov edx, ebp
mov eax, dword [esp + 0x854]
mov ebx, dword [esp + 0x838]
mov esi, dword [esp + 0x83c]
mov edi, dword [esp + 0x840]
mov ebp, dword [esp + 0x844]
mov dword [eax], edx
xor eax, eax
add esp, 0x850
ret 0x18
mov edx, ebp
mov ebx, dword [esp + 0x838]
mov esi, dword [esp + 0x83c]
mov edi, dword [esp + 0x840]
mov ebp, dword [esp + 0x844]
push edx
call sub.WSOCK32.dll_closesocket
lea ecx, [esp + 0x810]
call fcn.004e55bc
lea ecx, [esp + 0x800]
call fcn.004e55bc
mov eax, 1
add esp, 0x850
ret 0x18
mov edx, ebp
mov ebx, dword [esp + 0x838]
mov esi, dword [esp + 0x83c]
mov edi, dword [esp + 0x840]
mov ebp, dword [esp + 0x844]
push edx
call sub.WSOCK32.dll_closesocket
mov eax, 1
add esp, 0x850
ret 0x18
mov edx, ebp
mov ebx, dword [esp + 0x838]
mov esi, dword [esp + 0x83c]
mov edi, dword [esp + 0x840]
mov ebp, dword [esp + 0x844]
push edx
call sub.WSOCK32.dll_closesocket
mov eax, 1
add esp, 0x850
ret 0x18
mov edx, ebp
mov ebx, dword [esp + 0x838]
mov esi, dword [esp + 0x83c]
mov edi, dword [esp + 0x840]
mov ebp, dword [esp + 0x844]
push edx
call sub.WSOCK32.dll_closesocket
mov eax, 1
add esp, 0x850
ret 0x18
mov ebx, dword [esp + 0x838]
mov esi, dword [esp + 0x83c]
mov edi, dword [esp + 0x840]
mov ebp, dword [esp + 0x844]
mov eax, 1
add esp, 0x850
ret 0x18