Function at 0x4ae400
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x78
mov esi, esp
mov dword [esi + 0x60], ebp
mov ebx, ecx
mov edi, dword [ebp + 0xc]
mov dword [esi + 0x64], esp
mov dword [esi + 0x70], 0xffffffff
mov dword [esi + 0x6c], 0x5887e0
mov eax, dword fs:[0]
mov dword [esi + 0x68], eax
lea eax, [esi + 0x68]
mov dword fs:[0], eax
movzx eax, byte [ebp + 0x14]
movzx eax, al
push dword [ebp + 0x18]
push eax
push edi
push dword [ebp + 8]
call fcn.004b6660
test al, al
je 0x4ae559
mov eax, dword [0x5c5070]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c5074], 0xa
setl cl
test cl, al
jne 0x4ae47c
xor cl, al
je 0x4ae4b3
mov ecx, ebx
push dword [ebp + 0x10]
push edi
push dword [ebp + 8]
call fcn.004b88f0
mov ecx, dword [0x5c5070]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x5c5074], 0xa
setl dl
test dl, cl
jne 0x4ae4c3
xor dl, cl
jne 0x4ae4c3
mov ecx, ebx
push dword [ebp + 0x10]
push edi
push dword [ebp + 8]
call fcn.004b88f0
jmp 0x4ae47c
test al, al
je 0x4ae550
mov eax, dword [ebp + 0x10]
add eax, 0x34
mov dword [esi + 4], eax
push eax
push dword [ebp + 8]
call fcn.004b9660
add esp, 8
test al, al
je 0x4ae550
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x18], 0xcc
mov dword [esi + 0x10], ebx
je 0x4ae513
mov ecx, edi
push str.HEAD
call fcn.00493900
test al, al
jne 0x4ae513
mov ecx, edi
push str.CONNECT
call fcn.00493900
test al, al
je 0x4ae56f
mov ecx, dword [0x5c5070]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c5074], 0xa
setge cl
setl ch
xor ch, dl
mov dword [esi + 0x70], 0xffffffff
jne 0x4ae5ef
or cl, al
test cl, 1
jne 0x4ae627
jmp 0x4ae5ef
mov eax, dword [ebp + 0x18]
mov dword [eax], 4
xor eax, eax
mov ecx, dword [esi + 0x68]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x14
mov eax, 0xfffffed3
mov ecx, dword [ebp + 0x10]
add eax, dword [ecx + 0x18]
xor ecx, ecx
cmp eax, 0x63
movzx eax, byte [ebx + 0x169]
cmovae eax, ecx
mov byte [esi + 3], al
cmp dword [edi + 0x134], 0
je 0x4ae5ab
test al, al
jne 0x4ae5ab
lea ecx, [edi + 0x110]
push dword [ebp + 0x10]
call fcn.004ba090
test al, al
je 0x4ae5e1
mov ecx, dword [0x5c5070]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c5074], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x4ae6cb
or cl, al
test cl, 1
jne 0x4ae700
jmp 0x4ae6cb
mov eax, dword [ebp + 0x18]
mov dword [eax], 7
jmp 0x4ae559
lea edi, [esi + 0x18]
mov ecx, edi
push str.Connection
call fcn.00414560
mov ecx, dword [0x5c5070]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c5074], 0xa
setge cl
setl ch
xor ch, dl
jne 0x4ae636
or cl, al
test cl, 1
je 0x4ae636
lea ecx, [esi + 0x18]
push str.Connection
call fcn.00414560
jmp 0x4ae5ef
mov dword [esi + 0x70], 2
push 0x5b307c
push 0
push edi
push dword [esi + 4]
call fcn.004e6cb0
add esp, 0x10
lea ecx, [esi + 0x38]
push eax
call fcn.00414560
lea ecx, [esi + 0x38]
push str.close
call fcn.00493900
mov edx, dword [0x5c5070]
mov edi, dword [0x5c5074]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
and edx, ecx
mov bl, 1
test al, al
je 0x4ae6a5
test edx, edx
sete al
cmp edi, 0xa
setl cl
test cl, al
jne 0x4ae8bd
xor cl, al
je 0x4ae8f5
jmp 0x4ae8bd
test edx, edx
sete dl
setne al
cmp edi, 0xa
setl ah
setge cl
cmp ah, dl
jne 0x4aeb4b
or cl, al
jne 0x4aeb86
jmp 0x4aeb4b
lea ecx, [edi + 0x138]
call fcn.004ba210
mov ecx, dword [0x5c5070]
lea edx, [ecx + 1]
imul ecx, edx
test cl, 1
sete ah
cmp dword [0x5c5074], 0xa
setl dh
setge dl
cmp dh, ah
jne 0x4ae70d
or dl, cl
test dl, 1
je 0x4ae70d
lea ecx, [edi + 0x138]
call fcn.004ba210
jmp 0x4ae6cb
mov dword [esi + 0x70], 0xffffffff
lea ecx, [esi + 3]
test al, al
je 0x4ae73b
mov dword [esi + 0x18], ecx
mov edi, dword [ebp + 0xc]
mov dword [esi + 0x1c], edi
mov edi, dword [ebp + 0x18]
mov dword [esi + 0x20], edi
lea eax, [esi + 0x18]
lea ecx, [esi + 0x38]
push eax
call fcn.004ba460
mov eax, dword [ebp + 0xc]
jmp 0x4ae753
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x14], eax
lea eax, [esi + 0x14]
lea ecx, [esi + 0x38]
push eax
call fcn.004ba5c0
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0x18]
mov dword [esi + 0x34], esp
mov dword [esi + 0x18], eax
lea eax, [esi + 3]
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], edi
push eax
sub esp, 0x60
mov edi, esp
movzx eax, byte [ebx + 0x1a1]
mov byte [esi + 8], al
lea ecx, [edi + 0x38]
mov dword [edi + 0x5c], 0
lea eax, [esi + 0x38]
mov dword [esi + 0x30], ecx
push eax
call fcn.004e9c20
mov dword [esi + 0xc], edi
lea ecx, [edi + 0x10]
mov dword [esi + 0x70], 1
lea eax, [esi + 0x18]
push eax
call fcn.004ba8c0
mov eax, dword [0x5c5070]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c5074], 0xa
setl cl
test cl, al
jne 0x4ae7d2
xor cl, al
jne 0x4ae7d2
nop word cs:[eax + eax]
jmp 0x4ae7d0
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [ebp + 0x10]
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0xffffffff
lea eax, [esi + 0x14]
mov dword [ecx + 0xc], eax
movzx eax, byte [esi + 8]
mov byte [ecx + 0x60], al
mov dword [esi + 0x70], 0
call fcn.004ba700
add esp, 0x64
mov ebx, eax
mov esp, dword [esi + 0x34]
test al, al
mov eax, dword [ebp + 0x18]
je 0x4ae842
mov eax, dword [0x5c5070]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c5074], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x4ae84d
or cl, al
je 0x4ae84d
nop dword [eax]
jmp 0x4ae840
cmp dword [eax], 7
je 0x4ae84d
mov dword [eax], 4
mov eax, dword [0x5c5070]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c5074], 0xa
setl cl
test cl, al
jne 0x4ae876
xor cl, al
je 0x4ae8a6
jmp 0x4ae876
lea ecx, [esi + 0x38]
call fcn.004b5b40
mov eax, dword [0x5c5070]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c5074], 0xa
setl cl
test cl, al
jne 0x4ae8b0
xor cl, al
jne 0x4ae8b0
lea ecx, [esi + 0x38]
call fcn.004b5b40
jmp 0x4ae876
test bl, bl
jne 0x4ae513
jmp 0x4ae559
lea ecx, [esi + 0x38]
call fcn.0040ae90
lea ecx, [esi + 0x18]
call fcn.0040ae90
mov eax, dword [0x5c5070]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c5074], 0xa
setl cl
test cl, al
jne 0x4ae907
xor cl, al
jne 0x4ae907
lea ecx, [esi + 0x38]
call fcn.0040ae90
lea ecx, [esi + 0x18]
call fcn.0040ae90
jmp 0x4ae8bd
test bl, bl
mov ebx, dword [esi + 0x10]
je 0x4aeaf7
lea ecx, [ebx + 0x40]
mov dword [esi + 0x70], 0xffffffff
mov dword [esi + 0xc], ecx
call fcn.00498500
lea edx, [ebx + 0x3c]
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
mov dword [esi + 0x70], 3
mov ecx, ebx
push 1
mov dword [esi + 4], edx
push edx
call eax
mov eax, dword [0x5c5070]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c5074], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x4ae972
or cl, al
je 0x4ae972
nop word [eax + eax]
jmp 0x4ae970
mov ecx, dword [esi + 0x10]
push dword [esi + 4]
call fcn.004980c0
mov eax, dword [0x5c5070]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c5074], 0xa
setl cl
test cl, al
jne 0x4ae9b2
xor cl, al
jne 0x4ae9b2
nop word cs:[eax + eax]
jmp 0x4ae9b0
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov dword [esi + 8], eax
mov dword [esi + 0x38], eax
mov ecx, 0x4166db3e
mov edx, dword [0x5c4c58]
lea ebx, [edx + 1]
imul ebx, edx
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete bl
mov edx, 0xb3b96178
mov eax, 0x6ba963dc
cmove edx, eax
cmp dword [0x5c4c5c], 0xa
mov edi, 0xb3b96178
cmovge edx, edi
setl bh
xor bh, bl
cmovne edx, eax
mov ebx, dword [esi + 0x10]
cmp ecx, 0xdf1c6a66
jle 0x4aea26
cmp ecx, 0x4166db3d
jg 0x4aea45
cmp ecx, 0xdf1c6a67
je 0x4aeaec
cmp ecx, 0x1ccf33bc
jne 0x4aea00
jmp 0x4aea3e
cmp ecx, 0xa824bfa8
je 0x4aea6a
cmp ecx, 0xb3b96178
je 0x4aea6e
cmp ecx, 0xcdf925da
jne 0x4aea00
mov ecx, 0xdf1c6a67
jmp 0x4aea00
cmp ecx, 0x6ba963dc
je 0x4aea91
cmp ecx, 0x4166db3e
jne 0x4aea00
mov ecx, dword [esi + 0x38]
cmp ecx, 0xffffffff
mov ecx, 0xa824bfa8
mov eax, 0xcdf925da
cmove ecx, eax
jmp 0x4aea00
mov ecx, edx
jmp 0x4aea00
push dword [esi + 8]
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, dword [esi + 4]
mov dword [eax], 0xffffffff
mov ecx, 0x6ba963dc
mov dword [esi + 8], 0xffffffff
jmp 0x4ae9c2
push dword [esi + 8]
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, dword [esi + 4]
mov dword [eax], 0xffffffff
mov edx, dword [0x5c4c58]
mov eax, dword [0x5c4c5c]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0xb3b96178
mov edi, 0x1ccf33bc
cmovne ebx, edi
test edx, ecx
mov ecx, ebx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, ebx
mov dword [esi + 8], 0xffffffff
jmp 0x4ae9c2
push dword [esi + 0xc]
call fcn.0058a446
add esp, 4
mov eax, dword [0x5c5070]
lea edx, [eax + 1]
imul edx, eax
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
cmp dword [ebx + 0x244], 0
mov eax, dword [0x5c5074]
je 0x4aeb43
add ebx, 0x220
test ecx, ecx
setne cl
sete dl
cmp eax, 0xa
setge al
setl ah
xor ah, dl
jne 0x4aebf2
or al, cl
jne 0x4aece8
jmp 0x4aebf2
mov dword [esi + 4], eax
jmp 0x4aedb1
mov ecx, dword [ebp + 0x10]
push str.HTTP_1.0
call fcn.00493900
mov edx, dword [0x5c5070]
mov edi, dword [0x5c5074]
lea ebx, [edx + 1]
imul ebx, edx
mov edx, ebx
and edx, 1
sete cl
cmp edi, 0xa
setl ch
setge ah
cmp ch, cl
jne 0x4aeb95
or ah, bl
test ah, 1
je 0x4aeb95
mov ecx, dword [ebp + 0x10]
push str.HTTP_1.0
call fcn.00493900
jmp 0x4aeb4b
test al, al
je 0x4aebc8
mov eax, dword [ebp + 0x10]
lea ecx, [eax + 0x1c]
push str.Connection_established
call fcn.00493900
mov ebx, eax
xor bl, 1
mov eax, dword [0x5c5070]
mov edi, dword [0x5c5074]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, ecx
xor edx, 0xfffffffe
and edx, ecx
jmp 0x4aebca
xor ebx, ebx
test edx, edx
sete al
cmp edi, 0xa
setl ah
test ah, al
jne 0x4ae685
xor ah, al
jne 0x4ae685
nop word cs:[eax + eax]
jmp 0x4aebf0
mov eax, dword [0x5c5078]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
mov ecx, 0xa3ec3e5
mov edi, 0x7e1f9c38
mov eax, 0x7e1f9c38
cmove eax, ecx
cmp dword [0x5c507c], 0xa
cmovge eax, edi
mov dword [esi + 0x38], ebx
setl dh
xor dh, dl
cmovne eax, ecx
mov edx, 0x44602406
mov ecx, 0xd1436406
nop dword [eax + eax]
cmp edx, 0xa3ec3e4
jg 0x4aec60
cmp edx, 0x82178551
je 0x4aec92
cmp edx, 0xd1436406
jne 0x4aec40
mov edx, eax
jmp 0x4aec40
cmp edx, 0x44602406
je 0x4aec81
cmp edx, 0xa3ec3e5
je 0x4aed88
cmp edx, 0x7e1f9c38
jne 0x4aec40
jmp 0x4aed88
mov edx, dword [esi + 0x38]
cmp dword [edx + 0x24], 0
mov edx, 0x82178551
cmove edx, ecx
jmp 0x4aec40
mov edi, ebx
mov eax, dword [esi + 0x38]
mov ecx, dword [eax + 0x24]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
mov dword [esi + 0x70], 0xffffffff
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call eax
mov ecx, dword [0x5c5070]
mov eax, dword [0x5c5074]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
and ecx, 1
sete bh
mov dword [esi + 4], eax
cmp eax, 0xa
setl al
setge bl
cmp al, bh
jne 0x4aedb1
or bl, dl
test bl, 1
mov ebx, edi
je 0x4aedb1
mov eax, dword [0x5c5078]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
mov ecx, 0xa3ec3e5
mov edi, 0x7e1f9c38
mov eax, 0x7e1f9c38
cmove eax, ecx
cmp dword [0x5c507c], 0xa
cmovge eax, edi
mov dword [esi + 0x38], ebx
setl dh
xor dh, dl
cmovne eax, ecx
mov edx, 0x44602406
mov ecx, 0xd1436406
mov edi, dword [ebp + 0xc]
jmp 0x4aed50
mov edx, dword [esi + 0x38]
cmp dword [edx + 0x24], 0
mov edx, 0x82178551
cmove edx, ecx
nop word cs:[eax + eax]
cmp edx, 0xa3ec3e4
jg 0x4aed70
cmp edx, 0x82178551
je 0x4aed94
cmp edx, 0xd1436406
jne 0x4aed50
mov edx, eax
jmp 0x4aed50
cmp edx, 0x44602406
je 0x4aed33
cmp edx, 0xa3ec3e5
je 0x4aed88
cmp edx, 0x7e1f9c38
jne 0x4aed50
mov dword [esi + 0x70], 0xffffffff
call fcn.00589f31
mov eax, dword [esi + 0x38]
mov ecx, dword [eax + 0x24]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
mov dword [esi + 0x70], 0xffffffff
push dword [ebp + 0x10]
push edi
call eax
jmp 0x4aebf2
test ecx, ecx
setne cl
sete al
cmp dword [esi + 4], 0xa
setge dl
setl ah
xor ah, al
mov al, 1
jne 0x4ae55b
or dl, cl
je 0x4ae55b
nop word cs:[eax + eax]
jmp 0x4aede0