Function at 0x57e960
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 [0x7eeab0], 0xffffff80
jne 0x57e988
test dword [0x7eeab0], 0xffffffff
jne 0x57ef68
call fcn.006a7fbc
jmp fcn.0057e960
push ecx
mov eax, 0x850
call fcn.006977b0
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 0x57e9ea
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 0x57ef3c
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.00697936
add esp, 0x10
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57ea4a
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57ea35
dec eax
push 0
push eax
push ecx
push ebx
call sub.WSOCK32.dll_send
mov edi, eax
cmp edi, 0xffffffff
je 0x57ef0a
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57ea79
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57ea64
dec eax
cmp edi, eax
jne 0x57ef0a
push 0x6c5b98
mov ecx, dword [0x7bd020]
call fcn.004ff370
mov word [esp + 0x850], ax
lea eax, [esp + 0x850]
push eax
mov ecx, dword [0x700c0c]
call fcn.004ee44c
mov edi, eax
test edi, edi
je 0x57ec54
push 0xa
lea ecx, [esp + 0x828]
call fcn.0050afb4
lea eax, [esp + 0x824]
push 1
push eax
mov ecx, edi
call fcn.00503088
mov edi, dword [esp + 0x824]
mov eax, 1
cmp dword [edi], 2
mov edi, 0
cmove edi, eax
lea ecx, [esp + 0x824]
call fcn.0050b06c
test edi, edi
je 0x57ec54
mov eax, dword [esp + 0x84c]
test eax, eax
je 0x57ec54
lea ecx, [esp + 0x804]
call fcn.004e5be0
lea ecx, [esp + 0x814]
call fcn.004e5be0
test esi, esi
je 0x57eb3e
push esi
lea ecx, [esp + 0x808]
call fcn.004e58f4
test ebp, ebp
jne 0x57eb42
jmp 0x57eb53
test ebp, ebp
je 0x57eb63
push ebp
lea ecx, [esp + 0x818]
call fcn.004e58f4
test esi, esi
je 0x57eb63
lea ecx, [esp + 0x804]
call fcn.0057f960
mov edi, eax
jmp 0x57eb68
mov edi, 0x6c4650
test ebp, ebp
je 0x57eb7a
lea ecx, [esp + 0x814]
call fcn.0057f960
jmp 0x57eb7f
mov eax, 0x6c4650
lea ecx, [esp]
push eax
push edi
push str._s:_s
push ecx
call fcn.00697936
add esp, 0x10
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57ebac
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57eb97
dec eax
lea ecx, [esp + 0x834]
lea edi, [esp + 0x838]
push edi
push ecx
lea ecx, [esp + 8]
mov edx, eax
call fcn.005b4b84
lea eax, [esp]
push dword [esp + 0x834]
push str.Proxy_Authorization:_Basic__s
push eax
call fcn.00697936
add esp, 0xc
mov ecx, dword [esp + 0x834]
call fcn.004db958
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57ec05
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57ebf0
dec eax
push 0
push eax
push ecx
push ebx
call sub.WSOCK32.dll_send
mov edi, eax
cmp edi, 0xffffffff
je 0x57ee5c
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57ec34
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57ec1f
dec eax
cmp edi, eax
jne 0x57ee5c
lea ecx, [esp + 0x814]
call fcn.004e5b7c
lea ecx, [esp + 0x804]
call fcn.004e5b7c
lea eax, [esp]
push 0x6c4ad8
push eax
call fcn.00697936
add esp, 8
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57ec7f
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57ec6a
dec eax
push 0
push eax
push ecx
push ebx
call sub.WSOCK32.dll_send
mov edi, eax
cmp edi, 0xffffffff
je 0x57eed8
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57ecae
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57ec99
dec eax
cmp edi, eax
jne 0x57eed8
lea eax, [esp]
push 0x800
push 0
push eax
call fcn.006a8128
add esp, 0xc
lea eax, [esp]
push 0
push 0x7ff
push eax
push ebx
call sub.WSOCK32.dll_recv
test eax, eax
je 0x57ece3
cmp eax, 0xffffffff
jne 0x57ed15
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.006987a0
add esp, 8
test eax, eax
je 0x57eea6
mov dword [esp + 0x830], 0
lea ecx, [eax + 1]
movsx edx, byte [ecx]
cmp edx, 0x30
jl 0x57ed84
cmp edx, 0x39
jg 0x57ed84
mov byte [esp + 0x830], dl
add eax, 2
movsx edx, byte [eax]
mov dword [esp + 0x800], edx
cmp edx, 0x30
jl 0x57ed84
cmp edx, 0x39
jg 0x57ed84
mov ecx, 1
mov byte [esp + ecx + 0x830], dl
inc ecx
inc eax
movsx edx, byte [eax]
cmp edx, 0x30
jl 0x57ed84
cmp edx, 0x39
jg 0x57ed84
cmp ecx, 3
jb 0x57ed69
lea eax, [esp + 0x830]
push eax
call fcn.00697b1e
pop ecx
cmp eax, 0xc8
je 0x57ee2a
cmp eax, 0x191
jne 0x57edd6
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 0x57edf8
push ebx
call sub.WSOCK32.dll_closesocket
mov eax, dword [esp + 0x84c]
cmp eax, 1
je 0x57ef3c
jmp 0x57e9de
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.004e5b7c
lea ecx, [esp + 0x804]
call fcn.004e5b7c
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.006977b0
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 0x57efca
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 0x57f510
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.00697936
add esp, 0x10
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57f02a
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57f015
dec eax
push 0
push eax
push ecx
push ebp
call sub.WSOCK32.dll_send
mov ebx, eax
cmp ebx, 0xffffffff
je 0x57f4de
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57f059
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57f044
dec eax
cmp ebx, eax
jne 0x57f4de
push 0x6c5b98
mov ecx, dword [0x7bd020]
call fcn.004ff370
mov word [esp + 0x84c], ax
lea eax, [esp + 0x84c]
push eax
mov ecx, dword [0x700c0c]
call fcn.004ee44c
mov ebx, eax
test ebx, ebx
je 0x57f22c
push 0xa
lea ecx, [esp + 0x824]
call fcn.0050afb4
lea eax, [esp + 0x820]
push 1
push eax
mov ecx, ebx
call fcn.00503088
mov eax, dword [esp + 0x820]
xor ebx, ebx
cmp dword [eax], 2
sete bl
lea ecx, [esp + 0x820]
call fcn.0050b06c
test ebx, ebx
je 0x57f22c
mov eax, dword [esp + 0x848]
test eax, eax
je 0x57f22c
lea ecx, [esp + 0x800]
call fcn.004e5be0
lea ecx, [esp + 0x810]
call fcn.004e5be0
test edi, edi
je 0x57f116
push edi
lea ecx, [esp + 0x804]
call fcn.004e58f4
test esi, esi
jne 0x57f11a
jmp 0x57f12b
test esi, esi
je 0x57f13b
push esi
lea ecx, [esp + 0x814]
call fcn.004e58f4
test edi, edi
je 0x57f13b
lea ecx, [esp + 0x800]
call fcn.0057f960
mov ebx, eax
jmp 0x57f140
mov ebx, 0x6c4650
test esi, esi
je 0x57f152
lea ecx, [esp + 0x810]
call fcn.0057f960
jmp 0x57f157
mov eax, 0x6c4650
lea ecx, [esp]
push eax
push ebx
push str._s:_s
push ecx
call fcn.00697936
add esp, 0x10
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57f184
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57f16f
dec eax
lea ecx, [esp + 0x830]
lea ebx, [esp + 0x834]
push ebx
push ecx
lea ecx, [esp + 8]
mov edx, eax
call fcn.005b4b84
lea eax, [esp]
push dword [esp + 0x830]
push str.Proxy_Authorization:_Basic__s
push eax
call fcn.00697936
add esp, 0xc
mov ecx, dword [esp + 0x830]
call fcn.004db958
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57f1dd
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57f1c8
dec eax
push 0
push eax
push ecx
push ebp
call sub.WSOCK32.dll_send
mov ebx, eax
cmp ebx, 0xffffffff
je 0x57f430
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57f20c
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57f1f7
dec eax
cmp ebx, eax
jne 0x57f430
lea ecx, [esp + 0x810]
call fcn.004e5b7c
lea ecx, [esp + 0x800]
call fcn.004e5b7c
lea eax, [esp]
push 0x6c4ad8
push eax
call fcn.00697936
add esp, 8
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57f257
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57f242
dec eax
push 0
push eax
push ecx
push ebp
call sub.WSOCK32.dll_send
mov ebx, eax
cmp ebx, 0xffffffff
je 0x57f4ac
lea ecx, [esp]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x57f286
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x57f271
dec eax
cmp ebx, eax
jne 0x57f4ac
lea eax, [esp]
push 0x800
push 0
push eax
call fcn.006a8128
add esp, 0xc
lea eax, [esp]
push 0
push 0x7ff
push eax
push ebp
call sub.WSOCK32.dll_recv
test eax, eax
je 0x57f2bb
cmp eax, 0xffffffff
jne 0x57f2ed
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.006987a0
add esp, 8
test eax, eax
je 0x57f47a
mov dword [esp + 0x82c], 0
lea ecx, [eax + 1]
movsx edx, byte [ecx]
cmp edx, 0x30
jl 0x57f358
cmp edx, 0x39
jg 0x57f358
mov byte [esp + 0x82c], dl
add eax, 2
movsx ecx, byte [eax]
cmp ecx, 0x30
jl 0x57f358
cmp ecx, 0x39
jg 0x57f358
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 0x57f358
cmp ebx, 0x39
jg 0x57f358
cmp ecx, 3
jb 0x57f33a
lea eax, [esp + 0x82c]
push eax
call fcn.00697b1e
pop ecx
cmp eax, 0xc8
je 0x57f3fe
cmp eax, 0x191
jne 0x57f3aa
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 0x57f3cc
push ebp
call sub.WSOCK32.dll_closesocket
mov eax, dword [esp + 0x848]
cmp eax, 1
je 0x57f510
jmp 0x57efbe
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.004e5b7c
lea ecx, [esp + 0x800]
call fcn.004e5b7c
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