Function at 0x100027f0
Capabilities:
Check http status code
Initialize winhttp library
Prepare http request
Read http header
Receive http response
Reference http user-agent string

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100688cb
mov eax, dword fs:[0]
push eax
mov eax, 0x2340
call fcn.1003e8e0
mov eax, dword [0x100863f8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
push 0
push 0
push 0
push 1
mov dword [ebp - 0x22f4], eax
mov eax, dword [ebp + 0x10]
push str.Mozilla_5.0__compatible__Baiduspider_2.0__http:__www.baidu.com_search_spider.html_
mov dword [ebp - 0x22f8], esi
mov dword [ebp - 0x22e0], eax
call dword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov edi, eax
mov dword [ebp - 0x22e8], edi
test edi, edi
je 0x10002915
push 4
lea eax, [ebp - 0x2304]
mov dword [ebp - 0x2304], 0x2710
push eax
push 6
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
push 0x38
lea eax, [ebp - 0x2348]
mov dword [ebp - 0x234c], 0x3c
push 0
push eax
call fcn.1003ffb0
push 0x200
lea eax, [ebp - 0x290]
push 0
push eax
call fcn.1003ffb0
push 0x1000
lea eax, [ebp - 0x2290]
push 0
push eax
call fcn.1003ffb0
lea eax, [ebp - 0x290]
mov dword [ebp - 0x2338], pe_nt_image_headers32
mov dword [ebp - 0x233c], eax
add esp, 0x24
lea eax, [ebp - 0x2290]
mov dword [ebp - 0x231c], 0x800
mov dword [ebp - 0x2320], eax
mov eax, dword [ebp - 0x22f4]
cmp dword [eax + 0x14], 8
jb 0x100028f8
mov eax, dword [eax]
lea ecx, [ebp - 0x234c]
push ecx
push 0
push 0
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpCrackUrl]
test eax, eax
jne 0x10002935
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov dword [esi], 0
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 0
mov byte [esi], 0
mov byte [esi + 0x18], 0
jmp 0x10002e9d
push 0
push dword [ebp - 0x2334]
push dword [ebp - 0x233c]
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov ecx, eax
mov dword [ebp - 0x22e4], ecx
test ecx, ecx
je 0x1000290e
xor eax, eax
mov edx, 0x800000
cmp dword [ebp - 0x2340], 2
cmove eax, edx
push eax
push 0
push 0
push 0
push dword [ebp - 0x2320]
push 0x1006c398
push ecx
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov edi, eax
mov dword [ebp - 0x22f4], edi
test edi, edi
jne 0x100029c2
push dword [ebp - 0x22e4]
mov edi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call edi
push dword [ebp - 0x22e8]
call edi
mov dword [esi], 0
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 0
mov byte [esi], 0
mov byte [esi + 0x18], 0
jmp 0x10002e9d
mov eax, dword [ebp - 0x22e0]
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x100029d3
xor eax, eax
jmp 0x100029db
cmp dword [eax + 0x14], 8
jb 0x100029db
mov eax, dword [eax]
push 0
push 0
push 0
neg ecx
push 0
sbb ecx, ecx
push ecx
push eax
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
jne 0x10002a2d
push edi
mov edi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call edi
push dword [ebp - 0x22e4]
call edi
push dword [ebp - 0x22e8]
call edi
mov dword [esi], 0
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 0
mov byte [esi], 0
mov byte [esi + 0x18], 0
jmp 0x10002e9d
push 0
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
je 0x100029f4
push 0
lea eax, [ebp - 0x2308]
mov dword [ebp - 0x2300], 0
push eax
lea eax, [ebp - 0x2300]
mov dword [ebp - 0x2308], 4
push eax
push 0
push 0x20000013
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
je 0x100029f4
xor eax, eax
mov dword [ebp - 0x22d8], 0
mov dword [ebp - 0x22ec], eax
mov dword [ebp - 0x22c8], eax
mov eax, 0xf
mov dword [ebp - 0x22e0], eax
mov dword [ebp - 0x22c4], eax
mov byte [ebp - 0x22d8], 0
mov eax, dword [ebp - 0x2300]
mov dword [ebp - 4], 0
mov byte [ebp - 0x22d9], 0
cmp eax, 0xc8
je 0x10002ac6
cmp eax, 0x194
jne 0x10002db6
push 0x80
lea eax, [ebp - 0x90]
push 0
push eax
call fcn.1003ffb0
add esp, 0xc
mov dword [ebp - 0x230c], 0x80
lea eax, [ebp - 0x230c]
push 0
push eax
lea eax, [ebp - 0x90]
push eax
push 0
push 0x1d
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
je 0x10002cea
xor eax, eax
mov dword [ebp - 0x22c0], 0
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x22b0], 0
mov dword [ebp - 0x22ac], 7
lea edx, [ecx + 2]
mov word [ebp - 0x22c0], ax
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10002b40
sub ecx, edx
lea eax, [ebp - 0x90]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x22c0]
call fcn.100026e0
cmp dword [ebp - 0x22ac], 8
lea edx, [ebp - 0x22c0]
mov eax, dword [ebp - 0x22b0]
lea ecx, [ebp - 0x22a8]
cmovae edx, dword [ebp - 0x22c0]
mov byte [ebp - 4], 1
mov dword [ebp - 0x22a8], 0
mov dword [ebp - 0x2298], 0
lea eax, [edx + eax*2]
mov dword [ebp - 0x2294], 0xf
lea edx, [ebp - 0x22c0]
mov dword [ebp - 0x22fc], eax
cmovae edx, dword [ebp - 0x22c0]
sub eax, edx
mov dword [ebp - 0x22f8], edx
sar eax, 1
push eax
call fcn.10002ed0
mov byte [ebp - 0x2310], 0
lea ecx, [ebp - 0x22a8]
push dword [ebp - 0x2310]
push dword [ebp - 0x22fc]
push dword [ebp - 0x22f8]
call fcn.10002300
cmp dword [ebp - 0x2294], 0x10
lea edx, [ebp - 0x22a8]
mov edi, dword [ebp - 0x22a8]
cmovae edx, edi
cmp dword [ebp - 0x2298], 4
jne 0x10002c48
mov eax, dword [edx]
mov ecx, str.gzip
cmp eax, dword [ecx]
je 0x10002c34
cmp al, byte [ecx]
jne 0x10002c38
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x10002c38
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x10002c38
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
jne 0x10002c38
xor eax, eax
jmp 0x10002c3d
sbb eax, eax
or eax, 1
mov byte [ebp - 0x22d9], 1
test eax, eax
je 0x10002c4f
mov byte [ebp - 0x22d9], 0
mov eax, dword [ebp - 0x2294]
cmp eax, 0x10
jb 0x10002c85
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x10002c7b
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002eba
push ecx
push edi
call fcn.1003e387
add esp, 8
mov edx, dword [ebp - 0x22ac]
mov dword [ebp - 0x2298], 0
mov dword [ebp - 0x2294], 0xf
mov byte [ebp - 0x22a8], 0
mov byte [ebp - 4], 0
cmp edx, 8
jb 0x10002ce4
mov ecx, dword [ebp - 0x22c0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10002cda
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002eba
push edx
push ecx
call fcn.1003e387
add esp, 8
mov edi, dword [ebp - 0x22f4]
push 0x1000
lea eax, [ebp - 0x1290]
mov dword [ebp - 0x22f0], 0
push 0
push eax
call fcn.1003ffb0
add esp, 0xc
lea eax, [ebp - 0x22f0]
push eax
push 0xfff
lea eax, [ebp - 0x1290]
push eax
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
je 0x10002db6
nop dword [eax]
mov eax, dword [ebp - 0x22f0]
test eax, eax
je 0x10002d9e
cmp eax, 0x1000
jae 0x10002ebf
push eax
mov byte [ebp + eax - 0x1290], 0
lea ecx, [ebp - 0x22d8]
lea eax, [ebp - 0x1290]
push eax
call fcn.10002580
push 0x1000
lea eax, [ebp - 0x1290]
push 0
push eax
call fcn.1003ffb0
add esp, 0xc
mov dword [ebp - 0x22f0], 0
lea eax, [ebp - 0x22f0]
push eax
push 0xfff
lea eax, [ebp - 0x1290]
push eax
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
jne 0x10002d30
mov ecx, dword [ebp - 0x22c8]
mov eax, dword [ebp - 0x22c4]
mov dword [ebp - 0x22ec], ecx
mov dword [ebp - 0x22e0], eax
push edi
mov edi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call edi
push dword [ebp - 0x22e4]
call edi
push dword [ebp - 0x22e8]
call edi
cmp dword [ebp - 0x22e0], 0x10
lea edx, [ebp - 0x22d8]
mov ecx, dword [ebp - 0x22d8]
mov eax, dword [ebp - 0x22ec]
cmovae edx, ecx
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [ebp - 0x22fc], ecx
mov dword [ebp - 0x22f8], edx
cmp eax, 0x10
jae 0x10002e1d
movups xmm0, xmmword [edx]
mov edi, 0xf
movups xmmword [esi], xmm0
jmp 0x10002e5c
mov edi, eax
mov ecx, esi
mov eax, 0x7fffffff
or edi, 0xf
cmp edi, eax
cmova edi, eax
lea eax, [edi + 1]
push eax
call fcn.100021a0
mov ecx, dword [ebp - 0x22ec]
inc ecx
mov dword [esi], eax
push ecx
push dword [ebp - 0x22f8]
push eax
call fcn.1003fa30
mov ecx, dword [ebp - 0x22fc]
add esp, 0xc
mov eax, dword [ebp - 0x22ec]
mov dword [esi + 0x10], eax
mov al, byte [ebp - 0x22d9]
mov dword [esi + 0x14], edi
mov byte [esi + 0x18], al
mov eax, dword [ebp - 0x22e0]
cmp eax, 0x10
jb 0x10002e9d
lea edx, [eax + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x10002e93
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002ec4
push edx
push ecx
call fcn.1003e387
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1003e6af
mov esp, ebp
pop ebp
ret
call fcn.100499ef
call fcn.1003e802
call fcn.100499ef
int3