Function at 0x4891c0
Capabilities:
Send data
Send data on socket
Send http request
Set socket configuration

Disassembly:
sub esp, 0xae4
push ebx
push ebp
push esi
mov ebp, ecx
mov esi, edx
push edi
mov edx, 0x3e7
lea ecx, [esp + 0x24]
mov dword [esp + 0x10], ebp
call fcn.00420e60
xor ebx, ebx
cmp esi, 4
ja case.default.0x4891eb
jmp dword [esi*4 + 0x489748]
xor eax, eax
mov ax, word [ebp + 0x64]
mov byte [esp + 0x24], 4
mov byte [esp + 0x25], 1
push eax
call dword [sym.imp.WSOCK32.dll_ntohs]
push ebp
mov word [esp + 0x2a], ax
call dword [sym.imp.WSOCK32.dll_inet_addr]
mov ecx, eax
mov edx, eax
mov dword [esp + 0x18], eax
mov byte [esp + 0x28], al
mov al, byte [0x5cd310]
shr ecx, 0x10
shr edx, 0x18
cmp al, bl
mov byte [esp + 0x29], ah
mov byte [esp + 0x2a], cl
mov byte [esp + 0x2b], dl
je 0x48926a
xor eax, eax
mov edi, edi
mov cl, byte [eax + 0x5cd310]
mov byte [esp + eax + 0x2c], cl
inc eax
cmp cl, bl
jne 0x489240
mov eax, 0x5cd310
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x489257
sub eax, edx
lea esi, [eax + 8]
mov byte [esp + esi + 0x24], bl
inc esi
jmp 0x4892b2
mov esi, 8
mov byte [esp + esi + 0x24], bl
inc esi
jmp 0x4892b2
cmp byte [0x5cd310], bl
mov byte [esp + 0x24], 5
je 0x48929c
cmp byte [0x5cd378], bl
je 0x48929c
mov byte [esp + 0x25], 2
mov byte [esp + 0x27], 2
mov esi, 4
jmp 0x4892aa
mov byte [esp + 0x25], 1
mov byte [esp + 0x27], bl
mov esi, 3
mov byte [esp + 0x26], bl
mov byte [esp + esi + 0x24], bl
cmp esi, ebx
jle case.default.0x4891eb
mov ecx, dword [ebp + 0x7c]
push ebx
push esi
lea eax, [esp + 0x2c]
push eax
push ecx
call dword [sym.imp.WSOCK32.dll_send]
cmp eax, esi
jne case.default.0x4891eb
mov edx, dword [0x5f92ec]
mov eax, dword [ebp + 0x7c]
push 0x21
push 0x8032
push edx
push eax
call dword [sym.imp.WSOCK32.dll_WSAAsyncSelect]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xae4
ret
movzx eax, word [ebp + 0x64]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
push eax
push ebp
lea ecx, [esp + 0x2c]
push str.CONNECT__s:_ld_HTTP_1.0_r_n
push ecx
call esi
mov al, byte [0x5cd310]
add esp, 0x10
cmp al, bl
je 0x4893d0
cmp byte [0x5cd378], bl
je 0x4893d0
push 0x5cd378
push 0x5cd310
lea edx, [esp + 0x7fc]
push str._s:_s
push edx
call esi
lea eax, [esp + 0x804]
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x489355
push 1
push 0x104
lea ecx, [esp + 0x97c]
sub eax, edx
push ecx
mov edx, eax
lea ecx, [esp + 0x800]
call fcn.004e70e0
test eax, eax
jl 0x4893d0
lea eax, [esp + 0x24]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x489386
sub eax, edx
lea edx, [esp + 0x974]
push edx
lea eax, [esp + eax + 0x28]
push str.Authorization:_Basic__s_r_n
push eax
call esi
lea eax, [esp + 0x30]
add esp, 0xc
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4893b0
lea ecx, [esp + 0x974]
push ecx
sub eax, edx
lea edx, [esp + eax + 0x28]
push str.Proxy_Authorization:_Basic__s_r_n
push edx
call esi
add esp, 0xc
lea edi, [esp + 0x24]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x4893d5
mov ax, word [0x5a4be8]
mov cl, byte [0x5a4bea]
mov word [edi], ax
lea esi, [esp + 0x24]
mov byte [edi + 2], cl
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
cmp al, bl
jne 0x4893f6
sub esi, ecx
jmp 0x4892ae
mov eax, 0x5cd310
mov byte [esp + 0x24], 1
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x489411
sub eax, edx
mov byte [esp + 0x25], al
xor eax, eax
mov cl, byte [eax + 0x5cd310]
mov byte [esp + eax + 0x26], cl
inc eax
cmp cl, bl
jne 0x489420
mov eax, 0x5cd310
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x489437
sub eax, edx
mov esi, eax
mov eax, 0x5cd378
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x489450
sub eax, edx
mov byte [esp + esi + 0x26], al
mov eax, 0x5cd378
lea edx, [esp + 0x25]
sub edx, eax
lea edx, [edx + esi + 2]
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x489470
mov eax, 0x5cd378
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x489482
sub eax, edx
lea esi, [esi + eax + 3]
jmp 0x4892ae
mov eax, dword [ebp + 0x68]
cmp eax, ebx
mov byte [esp + 0x24], 5
jne 0x4894a7
mov byte [esp + 0x25], 1
jmp 0x4894b5
cmp eax, 1
jne 0x489548
mov byte [esp + 0x25], 2
mov esi, dword [sym.imp.WSOCK32.dll_inet_addr]
push ebp
mov byte [esp + 0x2a], bl
call esi
cmp eax, 0xffffffff
jne 0x489503
mov eax, ebp
mov byte [esp + 0x27], 3
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4894d1
sub eax, edx
lea edx, [esp + 0x29]
mov byte [esp + 0x28], al
mov eax, ebp
sub edx, ebp
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x4894e6
mov eax, ebp
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4894f5
sub eax, edx
lea esi, [eax + 5]
jmp 0x48952e
push ebp
mov byte [esp + 0x2b], 1
call esi
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x28], al
mov byte [esp + 0x29], ah
shr eax, 0x10
shr ecx, 0x18
mov byte [esp + 0x2a], al
mov byte [esp + 0x2b], cl
mov esi, 8
xor edx, edx
mov dx, word [ebp + 0x64]
push edx
call dword [sym.imp.WSOCK32.dll_ntohs]
mov word [esp + esi + 0x24], ax
add esi, 2
jmp 0x4892ae
mov edx, dword [ebp + 0x70]
push ebx
mov ecx, ebp
call fcn.00488af0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xae4
ret
mov eax, dword [0x5cd2a0]
cmp eax, ebx
mov edi, dword [esp + 0x10]
mov ebp, dword [edi + 0x70]
je 0x489725
cmp edi, eax
je 0x48958f
mov eax, dword [eax + 0x80]
cmp eax, ebx
jne 0x489574
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xae4
ret
mov edx, 0x3e7
lea ecx, [esp + 0x40c]
call fcn.00420e60
lea edx, [esp + 0x40c]
mov ecx, 0xa93
call fcn.0041f1a0
mov esi, dword [0x5f002c]
cmp esi, ebx
je 0x48960a
jmp 0x4895c0
cmp dword [esi + 8], ebp
jne 0x4895d0
mov ecx, esi
call fcn.004f0d40
test eax, eax
je 0x4895dc
mov esi, dword [esi + 0x2500]
cmp esi, ebx
jne 0x4895c0
jmp 0x48960a
lea ecx, [esp + 0x40c]
lea edi, [esi + 0x444]
push ecx
mov edx, 0x3e7
mov ecx, edi
call fcn.00420d70
mov ecx, esi
call fcn.005690a0
mov edx, esi
mov ecx, edi
call fcn.00568f00
mov edi, dword [esp + 0x10]
push 2
lea edx, [esp + 0x410]
push 0x5a75cc
push edx
call fcn.005a2a05
add esp, 0xc
test eax, eax
jne 0x489653
lea eax, [esp + 0x40e]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x489630
sub eax, edx
inc eax
push eax
lea eax, [esp + 0x412]
push eax
lea ecx, [esp + 0x414]
push ecx
call fcn.00592290
add esp, 0xc
mov dl, 0x20
lea ecx, [esp + 0x40c]
call fcn.005379a0
mov ecx, dword [0x5c81a0]
cmp ecx, ebx
je 0x489682
jmp 0x489670
cmp dword [ecx + 0x52c], ebp
je 0x4896c4
mov ecx, dword [ecx + 0x890]
cmp ecx, ebx
jne 0x489670
mov ecx, dword [0x5f4f78]
cmp ecx, ebx
je 0x4896a2
lea esp, [esp]
cmp dword [ecx + 0x340], ebp
je 0x4896d8
mov ecx, dword [ecx + 0x3d4]
cmp ecx, ebx
jne 0x489690
mov ecx, dword [0x5ed44c]
cmp ecx, ebx
je 0x489704
lea esp, [esp]
cmp dword [ecx + 0x444], ebp
je 0x4896ef
mov ecx, dword [ecx + 0x4bc]
cmp ecx, ebx
jne 0x4896b0
jmp 0x489704
lea edx, [esp + 0x40c]
mov dword [ecx + 0x52c], ebx
call fcn.0042f110
jmp 0x489704
lea edx, [esp + 0x40c]
push edx
xor edx, edx
mov dword [ecx + 0x340], ebx
call fcn.005273e0
jmp 0x489704
lea eax, [esp + 0x40c]
push eax
xor edx, edx
mov dword [ecx + 0x444], ebx
call fcn.00492700
mov eax, dword [0x5cd2a0]
cmp eax, ebx
je 0x48971e
lea ecx, [ecx]
cmp edi, eax
je 0x489732
mov eax, dword [eax + 0x80]
cmp eax, ebx
jne 0x489710
mov ecx, ebp
call fcn.00488ab0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xae4
ret
mov ecx, edi
call fcn.004889d0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xae4
ret