Function at 0x42bbb3
Capabilities:
Check http status code
Get http content length

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x354
mov eax, dword [0x4e26d0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x54], ebx
call fcn.0043d250
test eax, eax
jg 0x42bc04
push 0
push 0x173
push str.c:_buildbot_slaveworkdir_reposlar6desktop_2013_1desktoplauncherinstallerwininetwininet.cc
lea ecx, [ebp - 0x140]
inc ebx
call fcn.0043c8d0
add eax, 8
push str.Initial_request_completion
push eax
call fcn.00405c42
pop ecx
pop ecx
test bl, 1
je 0x42bc17
lea ecx, [ebp - 0x140]
and ebx, 0xfffffffe
call fcn.0043c9e0
push 0
lea eax, [ebp - 0x54]
mov dword [ebp - 0x54], 4
push eax
lea eax, [ebp - 0x58]
push eax
push 0x20000013
push dword [esi + 0xc]
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
mov ecx, dword [esi + 0x44]
push dword [ebp - 0x58]
mov eax, dword [ecx]
call dword [eax + 0x14]
mov edi, str.Date
lea ecx, [ebp - 0x34]
push edi
call fcn.004053f4
push edi
lea ecx, [ebp - 0x1c]
call fcn.004053f4
mov ecx, dword [ebp - 0x50]
lea eax, [ebp - 0x34]
mov esi, dword [esi + 0x44]
push eax
mov edx, dword [ecx + 0xc]
lea ecx, [ebp - 0x4c]
mov edi, dword [esi]
call fcn.0042ad22
pop ecx
push eax
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call dword [edi + 0xc]
xor esi, esi
lea ecx, [ebp - 0x4c]
push esi
push 1
call fcn.00405676
push esi
push 1
lea ecx, [ebp - 0x1c]
call fcn.00405676
push esi
push 1
lea ecx, [ebp - 0x34]
call fcn.00405676
mov esi, 0x4da858
lea ecx, [ebp - 0x34]
push esi
call fcn.004053f4
push esi
lea ecx, [ebp - 0x1c]
call fcn.004053f4
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x34]
push ecx
lea ecx, [ebp - 0x4c]
mov esi, dword [eax + 0x44]
mov edx, dword [eax + 0xc]
mov edi, dword [esi]
call fcn.0042ad22
pop ecx
push eax
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call dword [edi + 0xc]
xor esi, esi
lea ecx, [ebp - 0x4c]
push esi
push 1
call fcn.00405676
push esi
push 1
lea ecx, [ebp - 0x1c]
call fcn.00405676
push esi
push 1
lea ecx, [ebp - 0x34]
call fcn.00405676
mov esi, str.X_Served_By
lea ecx, [ebp - 0x34]
push esi
call fcn.004053f4
push esi
lea ecx, [ebp - 0x1c]
call fcn.004053f4
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x34]
push ecx
lea ecx, [ebp - 0x4c]
mov esi, dword [eax + 0x44]
mov edx, dword [eax + 0xc]
mov edi, dword [esi]
call fcn.0042ad22
pop ecx
push eax
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call dword [edi + 0xc]
xor esi, esi
lea ecx, [ebp - 0x4c]
push esi
push 1
call fcn.00405676
push esi
push 1
lea ecx, [ebp - 0x1c]
call fcn.00405676
push esi
push 1
lea ecx, [ebp - 0x34]
call fcn.00405676
mov eax, dword [ebp - 0x58]
push 2
pop edi
cmp eax, 0xc8
je 0x42bf9d
cmp eax, 0xce
je 0x42c06f
cmp eax, 0x197
je 0x42be96
add eax, 0xfffffe0a
cmp eax, edi
ja 0x42bdee
call fcn.0043d250
cmp eax, 1
jg 0x42bdd0
push 1
push 0x19b
push str.c:_buildbot_slaveworkdir_reposlar6desktop_2013_1desktoplauncherinstallerwininetwininet.cc
lea ecx, [ebp - 0x140]
or ebx, 8
call fcn.0043c8d0
push str._error
push dword [ebp - 0x58]
add eax, 8
push str.Download_failed_with
push eax
call fcn.00405c42
pop ecx
pop ecx
mov ecx, eax
call fcn.00413dc9
push eax
call fcn.00405c42
pop ecx
pop ecx
test bl, 8
je 0x42bde0
lea ecx, [ebp - 0x140]
call fcn.0043c9e0
push ecx
mov ecx, dword [ebp - 0x50]
call fcn.0042c4fb
jmp 0x42bf96
call fcn.0043d250
cmp eax, edi
jg 0x42be20
push edi
push 0x1a0
push str.c:_buildbot_slaveworkdir_reposlar6desktop_2013_1desktoplauncherinstallerwininetwininet.cc
lea ecx, [ebp - 0x350]
or ebx, 0x10
call fcn.0043c8d0
add eax, 8
push str.Request_completed_with_an_unexpected_HTTP_status
push eax
call fcn.00405c42
pop ecx
pop ecx
test bl, 0x10
je 0x42be30
lea ecx, [ebp - 0x350]
call fcn.0043c9e0
mov ebx, dword [ebp - 0x50]
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebx + 0x47c]
call fcn.0041e63c
push eax
mov edx, fcn.0042c900
lea ecx, [ebp - 0x78]
call fcn.0041ebec
pop ecx
push eax
call fcn.00448900
push eax
push 0x1a1
push str.c:_buildbot_slaveworkdir_reposlar6desktop_2013_1desktoplauncherinstallerwininetwininet.cc
push str.opera::installer::Wininet::HandleInitialCompletion
lea ecx, [ebp - 0x2c]
call fcn.004488c0
mov ecx, dword [ebx + 0x454]
push eax
call fcn.004528d0
lea ecx, [ebp - 0x78]
call fcn.0044e7d0
lea ecx, [ebp - 0x88]
call fcn.0044e8b0
jmp 0x42bf96
call fcn.0043d250
cmp eax, 1
jg 0x42bed7
push 1
push 0x18d
push str.c:_buildbot_slaveworkdir_reposlar6desktop_2013_1desktoplauncherinstallerwininetwininet.cc
lea ecx, [ebp - 0x2a0]
or ebx, 4
call fcn.0043c8d0
push str.proxy_authentication_request
add eax, 8
push str.Request_completed_with_a
push eax
call fcn.00405c42
pop ecx
pop ecx
push eax
call fcn.00405c42
pop ecx
pop ecx
test bl, 4
je 0x42bee7
lea ecx, [ebp - 0x2a0]
call fcn.0043c9e0
push 0x14
call fcn.00492cd0
mov ebx, dword [ebp - 0x50]
pop ecx
mov ecx, eax
test ecx, ecx
je 0x42bf10
mov dword [ecx], esi
mov dword [ecx + 4], 0x416fc0
mov dword [ecx + 8], 0x42ac84
mov eax, dword [ebx + 0xc]
mov dword [ecx + 0x10], eax
jmp 0x42bf12
mov ecx, esi
push ecx
lea ecx, [ebp - 0x60]
call fcn.0044e770
lea eax, [ebp - 0x80]
mov dword [ebp - 0x5c], 0x42cfc8
push eax
lea ecx, [ebx + 0x47c]
call fcn.0041e63c
push eax
lea ecx, [ebp - 0x68]
call fcn.0042ce60
pop ecx
lea ecx, [ebp - 0x80]
call fcn.0044e8b0
push ecx
push ecx
lea eax, [ebp - 0x68]
mov ecx, esp
push eax
call fcn.0044e7a0
mov ecx, dword [ebx + 0x454]
add ecx, 0xc0
push ecx
mov eax, esp
mov ecx, dword [ecx]
mov dword [eax], ecx
test ecx, ecx
je 0x42bf6e
push ecx
call fcn.0041eac3
pop ecx
push ecx
push ecx
lea eax, [ebp - 0x60]
mov ecx, esp
push eax
call fcn.0044e7a0
mov ecx, dword [ebx + 0x464]
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x68]
call fcn.0044e7d0
lea ecx, [ebp - 0x60]
call fcn.0044e7d0
xor al, al
jmp 0x42c0ca
mov esi, dword [ebp - 0x50]
lea ecx, [ebp - 0x54]
push 0
push ecx
lea eax, [esi + 0x48]
push eax
push 0x20000005
push dword [esi + 0xc]
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
call fcn.0042cdf3
cmp eax, 1
jl 0x42bff5
push 0xffffffffffffffff
push 0x184
push str.c:_buildbot_slaveworkdir_reposlar6desktop_2013_1desktoplauncherinstallerwininetwininet.cc
lea ecx, [ebp - 0x1f0]
or ebx, edi
call fcn.0043c8d0
push dword [esi + 0x48]
add eax, 8
push str.Expected_total_size:
push eax
call fcn.00405c42
pop ecx
pop ecx
mov ecx, eax
call fcn.00413dc9
test bl, 2
je 0x42c008
lea ecx, [ebp - 0x1f0]
and ebx, 0xfffffffd
call fcn.0043c9e0
lea eax, [esi + 0x48]
push eax
push ecx
lea eax, [ebp - 0x90]
push eax
lea ecx, [esi + 0x47c]
call fcn.0041e63c
pop ecx
push eax
mov edx, 0x42cc84
lea ecx, [ebp - 0x70]
call fcn.0042ce02
pop ecx
pop ecx
push eax
call fcn.00448900
push eax
push 0x185
push str.c:_buildbot_slaveworkdir_reposlar6desktop_2013_1desktoplauncherinstallerwininetwininet.cc
push str.opera::installer::Wininet::HandleInitialCompletion
lea ecx, [ebp - 0x14]
call fcn.004488c0
mov ecx, dword [esi + 0x454]
push eax
call fcn.004528d0
lea ecx, [ebp - 0x70]
call fcn.0044e7d0
lea ecx, [ebp - 0x90]
call fcn.0044e8b0
jmp 0x42c072
mov esi, dword [ebp - 0x50]
and dword [esi + 0x474], 0
mov dword [esi], edi
call fcn.0042cdf3
cmp eax, 1
jl 0x42c0b8
push 0xffffffffffffffff
push 0x1a6
push str.c:_buildbot_slaveworkdir_reposlar6desktop_2013_1desktoplauncherinstallerwininetwininet.cc
lea ecx, [ebp - 0x1f0]
or ebx, 0x20
call fcn.0043c8d0
push dword [esi]
add eax, 8
push str.Downloader_state:
push eax
call fcn.00405c42
pop ecx
pop ecx
mov ecx, eax
call fcn.00413d31
test bl, 0x20
je 0x42c0c8
lea ecx, [ebp - 0x1f0]
call fcn.0043c9e0
mov al, 1
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0049653f
mov esp, ebp
pop ebp
ret