Function at 0x49e460
Capabilities:
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1b8
mov eax, dword [0x535b70]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
push ebx
mov dword [ebp - 0x1a4], ecx
xor ebx, ebx
mov ecx, dword [ebp + 0x18]
mov dword [ebp - 0x1b8], ecx
mov ecx, dword [ebp + 0x1c]
mov dword [ebp - 0x1a8], edx
mov dword [ebp - 0x1b0], ecx
mov dword [ebp - 0x1b4], 0
mov dword [ebp - 0x19c], ebx
push esi
push edi
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x1ac], edi
test edx, edx
je 0x49ea17
test eax, eax
mov ecx, 0x5103d4
cmovne ecx, eax
mov dword [ebp - 0x1a0], ecx
cmp dword [0x542088], ebx
jne 0x49e556
lea eax, [ebp - 0x194]
push eax
push 0x101
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x49e550
cmp dword [0x54208c], ebx
jne 0x49e546
push str.no_proxy
mov dword [0x542090], 0x50
call fcn.004cf73e
add esp, 4
test eax, eax
je 0x49e51b
cmp byte [eax], 0x2a
jne 0x49e51b
cmp byte [eax + 1], bl
je 0x49e546
push str.http_proxy
call fcn.004cf73e
add esp, 4
test eax, eax
jne 0x49e53d
push str.HTTP_PROXY
call fcn.004cf73e
add esp, 4
test eax, eax
je 0x49e546
push eax
call fcn.0049f860
add esp, 4
mov dword [0x542088], 1
mov edx, dword [ebp - 0x1a8]
test ebx, ebx
jne 0x49e56f
push edx
call fcn.0049ea50
mov esi, eax
add esp, 4
test esi, esi
je 0x49ea17
jmp 0x49e58f
push ebx
call fcn.0049ea50
mov esi, eax
add esp, 4
test esi, esi
je 0x49ea17
push ebx
call dword [0x5351e0]
add esp, 4
mov dword [esi + 0x4c], eax
mov eax, dword [esi]
test eax, eax
je 0x49e9ef
mov ecx, str.http
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x49e5c0
test dl, dl
je 0x49e5bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x49e5c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x49e5a0
xor eax, eax
jmp 0x49e5c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x49e9ef
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x49e9e3
mov edi, ecx
lea edx, [edi + 1]
nop dword [eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x49e5e0
mov eax, dword [0x54208c]
sub edi, edx
test eax, eax
je 0x49e602
push dword [0x542090]
lea edi, [edi*2 + 0x10]
push eax
jmp 0x49e606
push dword [esi + 8]
push ecx
call fcn.0049e1c0
add esp, 8
cmp eax, 0xffffffff
je 0x49e9d8
mov ecx, dword [ebp - 0x1a4]
mov dword [esi + 0x14], eax
xor eax, eax
test ecx, ecx
cmovne eax, dword [ebp + 0x20]
mov dword [ebp + 0x20], eax
lea eax, [edi + 0x24]
cmovne edi, eax
mov eax, dword [ebp - 0x1b0]
test eax, eax
je 0x49e64e
mov ecx, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49e640
sub ecx, edx
add edi, 2
add edi, ecx
mov eax, dword [ebp - 0x1ac]
test eax, eax
je 0x49e66f
mov ecx, dword [eax]
test ecx, ecx
je 0x49e66f
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49e661
sub ecx, edx
add edi, 0x10
add edi, ecx
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x49e68c
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49e680
sub ecx, edx
inc edi
add edi, ecx
mov ecx, dword [ebp - 0x1a0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49e695
sub ecx, edx
mov edx, dword [esi + 0xc]
lea ebx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x49e6a4
sub edx, ebx
add edi, 0x18
lea eax, [edx + ecx]
add edi, eax
cmp dword [esi + 8], 0x50
mov dword [ebp - 0x198], edi
je 0x49e6d8
cmp dword [0x54208c], 0
je 0x49e6cf
add edi, 0x11
jmp 0x49e6d2
add edi, 0xb
mov dword [ebp - 0x198], edi
push edi
call dword [0x5351d4]
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x49e9aa
cmp dword [0x54208c], 0
mov eax, dword [esi + 0xc]
push eax
je 0x49e735
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
cmp ecx, 0x50
je 0x49e71d
push ecx
push edx
push dword [ebp - 0x1a0]
push str._s_http:___s:_d_s
push edi
push ebx
call fcn.0044ad40
add esp, 0x1c
jmp 0x49e74a
push edx
push dword [ebp - 0x1a0]
push str._s_http:___s_s
push edi
push ebx
call fcn.0044ad40
add esp, 0x18
jmp 0x49e74a
push dword [ebp - 0x1a0]
push str._s__s
push edi
push ebx
call fcn.0044ad40
add esp, 0x14
lea edi, [ebx + eax]
mov eax, dword [esi + 0x10]
test eax, eax
je 0x49e770
push eax
mov eax, ebx
sub eax, edi
add eax, dword [ebp - 0x198]
push 0x510458
push eax
push edi
call fcn.0044ad40
add esp, 0x10
add edi, eax
mov edx, dword [esi + 8]
mov eax, ebx
mov ecx, dword [esi + 4]
sub eax, edi
add eax, dword [ebp - 0x198]
cmp edx, 0x50
jne 0x49e797
push ecx
push str._HTTP_1.0_r_nHost:__s_r_n
push eax
push edi
call fcn.0044ad40
add esp, 0x10
jmp 0x49e7a8
push edx
push ecx
push str._HTTP_1.0_r_nHost:__s:_d_r_n
push eax
push edi
call fcn.0044ad40
add esp, 0x14
add edi, eax
mov eax, dword [ebp - 0x1ac]
test eax, eax
je 0x49e7d6
mov eax, dword [eax]
test eax, eax
je 0x49e7d6
push eax
mov eax, ebx
sub eax, edi
add eax, dword [ebp - 0x198]
push str.Content_Type:__s_r_n
push eax
push edi
call fcn.0044ad40
add esp, 0x10
add edi, eax
mov eax, dword [ebp - 0x1b0]
test eax, eax
je 0x49e7fc
push eax
mov eax, ebx
sub eax, edi
add eax, dword [ebp - 0x198]
push 0x523a30
push eax
push edi
call fcn.0044ad40
add esp, 0x10
add edi, eax
mov eax, ebx
sub eax, edi
add eax, dword [ebp - 0x198]
cmp dword [ebp - 0x1a4], 0
je 0x49e823
push dword [ebp + 0x20]
push str.Content_Length:__d_r_n_r_n
push eax
push edi
call fcn.0044ad40
add esp, 0x10
jmp 0x49e832
push 0x4ff378
push eax
push edi
call fcn.0044ad40
add esp, 0xc
mov ecx, ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x18], 1
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49e844
sub ecx, edx
push ecx
push ebx
push esi
call fcn.0049f930
mov eax, dword [ebp - 0x1a4]
add esp, 0xc
test eax, eax
je 0x49e86f
push dword [ebp + 0x20]
push eax
push esi
call fcn.0049f930
add esp, 0xc
push esi
mov dword [esi + 0x18], 2
call fcn.0049eeb0
mov edi, eax
add esp, 4
test edi, edi
je 0x49e8b8
cmp byte [edi], 0
push edi
je 0x49e8a9
push esi
call fcn.0049f440
push edi
call dword [0x5351dc]
push esi
call fcn.0049eeb0
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x49e885
jmp 0x49e8b8
mov eax, dword [esi + 0x30]
mov dword [esi + 0x28], eax
call dword [0x5351dc]
add esp, 4
cmp dword [esi + 0x4c], 0
je 0x49e93f
mov eax, dword [esi + 0x3c]
sub eax, 0x12c
cmp eax, 0x63
ja 0x49e93f
nop
push esi
call fcn.0049f1b0
add esp, 4
test eax, eax
jg 0x49e8d0
mov edi, dword [ebp - 0x1b4]
cmp edi, 0xa
jge 0x49e922
mov eax, dword [ebp - 0x19c]
inc edi
mov dword [ebp - 0x1b4], edi
test eax, eax
je 0x49e903
push eax
call dword [0x5351dc]
add esp, 4
push dword [esi + 0x4c]
call dword [0x5351e0]
mov ebx, eax
push esi
mov dword [ebp - 0x19c], ebx
call fcn.0049e330
add esp, 8
jmp 0x49e550
push esi
call fcn.0049e330
mov eax, dword [ebp - 0x19c]
add esp, 4
test eax, eax
je 0x49ea17
push eax
jmp 0x49ea0e
mov edi, dword [ebp - 0x1ac]
test edi, edi
je 0x49e964
mov eax, dword [esi + 0x48]
test eax, eax
je 0x49e95e
push eax
call dword [0x5351e0]
add esp, 4
mov dword [edi], eax
jmp 0x49e964
mov dword [edi], 0
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x19c]
test ecx, ecx
je 0x49e989
pop edi
mov dword [ecx], eax
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a55ed
mov esp, ebp
pop ebp
ret
test eax, eax
je 0x49e997
push eax
call dword [0x5351dc]
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a55ed
mov esp, ebp
pop ebp
ret
push esi
call fcn.0049e330
push str.allocating_header_buffer
push 0
push 0
push 2
push 0xa
call fcn.004659f0
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a55ed
mov esp, ebp
pop ebp
ret
push esi
call fcn.0049e330
add esp, 4
jmp 0x49ea09
push str.Failed_to_identify_host_in_URI
push 0x7e6
jmp 0x49e9f9
push str.Not_a_valid_HTTP_URI
push 0x7e4
push 0xa
call fcn.0048b8c0
push esi
call fcn.0049e330
add esp, 0x10
test ebx, ebx
je 0x49ea17
push ebx
call dword [0x5351dc]
add esp, 4
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004a55ed
mov esp, ebp
pop ebp
ret