Function at 0x4b3947
Capabilities:
Check http status code
Read http header

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword [ebp + 8]
sub esp, 0x44
push ebx
push esi
push edi
mov edi, ecx
cmp eax, dword [edi + 0x34]
je 0x4b39b4
add edi, 0x1c
cmp dword [edi + 0x14], 8
jb 0x4b3968
mov edi, dword [edi]
lea eax, [esp + 0x20]
mov dword [esp + 0x24], str.RequestId
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], edi
push eax
push str._HttpWin_Async__WinHttpCallback
push 0xa
mov ecx, 0x109a65b
mov dword [esp + 0x30], 0x6f5b30
mov dword [esp + 0x44], str.Message
mov dword [esp + 0x48], str.HINTERNET_passed_to_WinHttp_callback_does_not_match_HINTERNET_stored_on_IRequest
mov dword [esp + 0x40], 0x6f5b30
call fcn.004b095e
jmp 0x4b4264
mov eax, dword [ebp + 0xc]
mov ecx, 0x10000
cmp eax, ecx
ja 0x4b3df2
je 0x4b3d92
sub eax, 1
je 0x4b3d3c
sub eax, 1
je 0x4b3d01
dec eax
sub eax, 1
je 0x4b3c70
sub eax, 4
je 0x4b3bde
sub eax, 8
je 0x4b3b6d
sub eax, 0x7f0
je 0x4b3a98
sub eax, 0x3800
jne 0x4b4264
xor ebx, ebx
lea eax, [esp + 0x13]
push ebx
lea esi, [edi + 0xd0]
mov byte [esp + 0x17], bl
push eax
mov ecx, esi
call fcn.004aa48d
push 1
lea eax, [esp + 0x17]
mov byte [esp + 0x17], 1
push eax
mov ecx, esi
call fcn.004aa48d
call fcn.004aad8d
test al, al
je 0x4b3a70
lea eax, [edi + 0x1c]
cmp dword [eax + 0x14], 8
jb 0x4b3a4e
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov edx, 0x33f
lea eax, [esp + 0x14]
mov ecx, 0x30303030
push eax
push str.Mso::Http__s_:_received_WINHTTP_CALLBACK_STATUS_REDIRECT
push 0xc8
call fcn.00437655
push dword [ebp + 0x10]
lea ecx, [edi + 0x84]
push edi
call fcn.004ba148
test al, al
jne 0x4b4264
mov eax, dword [edi]
lea ecx, [esp + 0x30]
push ecx
mov ecx, edi
call dword [eax + 0x3c]
jmp 0x4b4264
call fcn.004aad8d
mov esi, 0x33f
test al, al
je 0x4b3ad0
lea eax, [edi + 0x1c]
cmp dword [eax + 0x14], 8
jb 0x4b3ab1
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov edx, esi
lea eax, [esp + 0x14]
mov ecx, 0x30303030
push eax
push str.Mso::Http__s_:_received_WINHTTP_CALLBACK_STATUS_HANDLE_CLOSING
push 0xc8
call fcn.00437655
cmp byte [edi + 0x12], 0
jne 0x4b3aeb
push str._HttpWin_Async__WinHttpCallback:_handle_is_being_closed_without_aborting
push 0xa
mov edx, esi
mov ecx, 0x12cd423
call fcn.004f4e45
pop ecx
pop ecx
xor ebx, ebx
lea ecx, [edi + 0x84]
mov dword [edi + 0x34], ebx
cmp dword [ecx + 0x10], 2
je 0x4b3b1b
cmp dword [ecx + 0x10], 4
je 0x4b3b1b
sub esp, 0x10
mov eax, esp
mov dword [eax], 9
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
push dword [ecx + 0xc]
call fcn.004ba1ca
lea eax, [edi + 0xb4]
test eax, eax
je 0x4b3b3a
mov ecx, dword [eax]
test ecx, ecx
je 0x4b426d
push edi
call fcn.004b808b
jmp 0x4b4264
lea eax, [esp + 0x30]
mov dword [esp + 0x34], str.Message
push eax
push str._case__WINHTTP_CALLBACK_STATUS_HANDLE_CLOSING
push 0x32
mov ecx, 0x2693556
mov dword [esp + 0x44], str.m_pRequestBroker_is_null
mov dword [esp + 0x3c], 0x6f5b30
call fcn.004a9236
jmp 0x4b4264
call fcn.004aab93
test al, al
je 0x4b3b9a
cmp dword [edi + 0xe8], 0xffffffff
je 0x4b3b9a
push 1
lea eax, [esp + 0x17]
mov byte [esp + 0x17], 7
lea esi, [edi + 0xd0]
push eax
mov ecx, esi
call fcn.004aa48d
jmp 0x4b3ba0
lea esi, [edi + 0xd0]
push 1
lea eax, [esp + 0x17]
mov byte [esp + 0x17], 8
push eax
mov ecx, esi
call fcn.004aa48d
call fcn.004aad8d
test al, al
je 0x4b4264
add edi, 0x1c
cmp dword [edi + 0x14], 8
jb 0x4b3bcb
mov edi, dword [edi]
lea eax, [esp + 0x14]
mov dword [esp + 0x14], edi
push eax
push str.Mso::Http__s_:_received_WINHTTP_CALLBACK_STATUS_SENDING_REQUEST
jmp 0x4b3d79
push 1
lea eax, [esp + 0x17]
mov byte [esp + 0x17], 6
lea ecx, [edi + 0xd0]
push eax
call fcn.004aa48d
call fcn.004aad8d
test al, al
je 0x4b3c2b
lea eax, [edi + 0x1c]
cmp dword [eax + 0x14], 8
jb 0x4b3c09
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov edx, 0x33f
lea eax, [esp + 0x18]
mov ecx, 0x30303030
push eax
push str.Mso::Http__s_:_received_WINHTTP_CALLBACK_STATUS_CONNECTED_TO_SERVER
push 0xc8
call fcn.00437655
and dword [esp + 0x14], 0
lea ecx, [edi + 0xc]
call fcn.00425120
lea ecx, [esp + 0x14]
push ecx
push 0xa
mov edx, dword [eax]
lea ecx, [esp + 0x38]
push ecx
mov ecx, eax
call dword [edx + 0x20]
cmp dword [esp + 0x30], 0
jne 0x4b4264
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x4b4264
push dword [ebp + 0x10]
mov eax, dword [ecx]
push edi
call dword [eax + 0x10]
jmp 0x4b4264
xor ebx, ebx
mov byte [esp + 0x13], 5
push ebx
lea eax, [esp + 0x17]
lea ecx, [edi + 0xd0]
push eax
call fcn.004aa48d
call fcn.004aad8d
test al, al
je 0x4b3cbe
lea eax, [edi + 0x1c]
cmp dword [eax + 0x14], 8
jb 0x4b3c9c
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov edx, 0x33f
lea eax, [esp + 0x18]
mov ecx, 0x30303030
push eax
push str.Mso::Http__s_:_received_WINHTTP_CALLBACK_STATUS_CONNECTING_TO_SERVER
push 0xc8
call fcn.00437655
lea ecx, [edi + 0xc]
mov dword [esp + 0x14], ebx
call fcn.00425120
lea ecx, [esp + 0x14]
push ecx
push 0xa
mov edx, dword [eax]
lea ecx, [esp + 0x38]
push ecx
mov ecx, eax
call dword [edx + 0x20]
cmp dword [esp + 0x30], ebx
jne 0x4b4264
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x4b4264
push dword [ebp + 0x10]
mov eax, dword [ecx]
push edi
call dword [eax + 8]
jmp 0x4b4264
push 1
lea eax, [esp + 0x17]
mov byte [esp + 0x17], 4
lea ecx, [edi + 0xd0]
push eax
call fcn.004aa48d
call fcn.004aad8d
test al, al
je 0x4b4264
add edi, 0x1c
cmp dword [edi + 0x14], 8
jb 0x4b3d30
mov edi, dword [edi]
lea eax, [esp + 0x18]
push eax
push str.Mso::Http__s_:_received_WINHTTP_CALLBACK_STATUS_NAME_RESOLVED
jmp 0x4b3d75
push 1
lea eax, [esp + 0x17]
mov byte [esp + 0x17], 3
lea ecx, [edi + 0xd0]
push eax
call fcn.004aa48d
call fcn.004aad8d
test al, al
je 0x4b4264
add edi, 0x1c
cmp dword [edi + 0x14], 8
jb 0x4b3d6b
mov edi, dword [edi]
lea eax, [esp + 0x18]
push eax
push str.Mso::Http__s_:_received_WINHTTP_CALLBACK_STATUS_RESOLVING_NAME
mov dword [esp + 0x20], edi
push 0xc8
mov edx, 0x33f
mov ecx, 0x30303030
call fcn.00437655
jmp 0x4b4264
call fcn.004aad8d
test al, al
je 0x4b3dc8
lea eax, [edi + 0x1c]
cmp dword [eax + 0x14], 8
jb 0x4b3da6
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov edx, 0x33f
lea eax, [esp + 0x18]
mov ecx, 0x30303030
push eax
push str.Mso::Http__s_:_received_WINHTTP_CALLBACK_STATUS_SECURE_FAILURE
push 0xc8
call fcn.00437655
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x30], 7
mov eax, dword [eax]
cdq
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
lea eax, [esp + 0x30]
push eax
lea ecx, [edi + 0x84]
lea eax, [esp + 0x24]
jmp 0x4b425e
cmp eax, 0x20000
je 0x4b41e5
cmp eax, 0x40000
je 0x4b413d
cmp eax, 0x80000
je 0x4b406e
cmp eax, 0x100000
je 0x4b4043
cmp eax, 0x200000
je 0x4b3e7b
cmp eax, 0x400000
jne 0x4b4264
call fcn.004aad8d
test al, al
je 0x4b3e66
lea eax, [edi + 0x1c]
cmp dword [eax + 0x14], 8
jb 0x4b3e44
mov eax, dword [eax]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
push str.Mso::Http__s_:_received_WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE
push 0xc8
mov edx, 0x33f
mov ecx, 0x30303030
call fcn.00437655
mov ecx, dword [edi + 0xac]
lea eax, [esp + 0x30]
push eax
call fcn.004ba523
jmp 0x4b3dde
call fcn.004aad8d
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x4b3fea
mov ebx, 0xc8
mov esi, 0x33f
test al, al
je 0x4b3ec7
lea eax, [edi + 0x1c]
cmp dword [eax + 0x14], 8
jb 0x4b3ea4
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov edx, esi
lea eax, [ecx + 4]
push eax
push ecx
lea eax, [esp + 0x20]
mov ecx, 0x30303030
push eax
push str.Mso::Http__s_:_received_WINHTTP_CALLBACK_STATUS_REQUEST_ERROR:_result:__u__error:__u
push ebx
call fcn.004b49b7
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 4]
cmp ecx, 0x2f00
jne 0x4b3f0d
call fcn.004aad8d
test al, al
je 0x4b3f01
lea eax, [edi + 0x1c]
cmp dword [eax + 0x14], 8
jb 0x4b3ee6
mov eax, dword [eax]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
push str.Got_a_ERROR_WINHTTP_RESEND_REQUEST___Resending_the_request_now
push ebx
mov edx, esi
mov ecx, 0x30303030
call fcn.00437655
mov ecx, edi
call fcn.004b4279
jmp 0x4b4264
call fcn.004ab177
test al, al
je 0x4b3f45
mov ecx, edi
call fcn.004b42aa
test al, al
je 0x4b3f45
call fcn.004aad8d
test al, al
je 0x4b3f01
lea eax, [edi + 0x1c]
cmp dword [eax + 0x14], 8
jb 0x4b3f35
mov eax, dword [eax]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
push str.Got_a_proxy_error__but_found_a_fallback_proxy___Resending_the_request_with_new_proxy
jmp 0x4b3ef4
call fcn.004a7c60
test al, al
je 0x4b3fd6
cmp byte [edi + 0x4d], 0
je 0x4b3fd6
xor ebx, ebx
mov dword [esp + 0x18], 4
push ebx
lea eax, [esp + 0x1c]
mov dword [esp + 0x18], ebx
push eax
lea eax, [esp + 0x1c]
push eax
push ebx
push 0x20000013
push dword [edi + 0x34]
call dword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
je 0x4b3fd6
cmp dword [esp + 0x14], 0x191
jne 0x4b3fd6
call fcn.004aad8d
test al, al
je 0x4b3fc1
lea eax, [edi + 0x1c]
cmp dword [eax + 0x14], 8
jb 0x4b3fa2
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
mov edx, esi
lea eax, [esp + 0x1c]
mov ecx, 0x30303030
push eax
push str._HttpWinAsync__Got_a_login_failure_with_Negotiate.__Retrying_with_NTLM.
push 0xc8
call fcn.00437655
push dword [edi + 0x14]
mov ecx, edi
push dword [edi + 0x34]
call fcn.004ac029
mov byte [edi + 0x4d], bl
jmp 0x4b3f01
mov edx, dword [ebp + 0x10]
lea ecx, [esp + 0x30]
mov edx, dword [edx + 4]
call fcn.004abc8f
jmp 0x4b3de2
test al, al
je 0x4b401b
lea eax, [edi + 0x1c]
cmp dword [eax + 0x14], 8
jb 0x4b3ff9
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
mov edx, 0x33f
lea eax, [esp + 0x1c]
mov ecx, 0x30303030
push eax
push str.Mso::Http__s_:_received_WINHTTP_CALLBACK_STATUS_REQUEST_ERROR_with_no_WINHTTP_ASYNC_RESULT
push 0xc8
call fcn.00437655
mov eax, dword [0x81cf10]
mov ecx, 0x81cf10
push 0x597123
call dword [eax + 4]
xorps xmm0, xmm0
mov dword [esp + 0x30], 1
movlpd qword [esp + 0x38], xmm0
jmp 0x4b3dde
call fcn.004aad8d
test al, al
je 0x4b3e66
lea eax, [edi + 0x1c]
cmp dword [eax + 0x14], 8
jb 0x4b405b
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
push str.Mso::Http__s_:_received_WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE
jmp 0x4b3e52
call fcn.004aad8d
test al, al
je 0x4b40a4
lea eax, [edi + 0x1c]
cmp dword [eax + 0x14], 8
jb 0x4b4082
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
mov edx, 0x33f
lea eax, [esp + 0x1c]
mov ecx, 0x30303030
push eax
push str.Mso::Http__s_:_received_WINHTTP_CALLBACK_STATUS_READ_COMPLETE
push 0xc8
call fcn.00437655
mov ecx, dword [edi + 0xb0]
lea eax, [esp + 0x13]
push eax
push dword [ebp + 0x14]
lea eax, [esp + 0x38]
push eax
call fcn.004a5060
cmp dword [esp + 0x30], 0
lea esi, [edi + 0x84]
jne 0x4b40d7
push dword [edi + 0xa8]
mov ecx, esi
push edi
call fcn.004ba0a0
lea eax, [esp + 0x30]
mov ecx, esi
push eax
lea eax, [esp + 0x24]
push eax
call fcn.004ba287
cmp byte [esp + 0x13], 0
je 0x4b4128
lea edx, [edi + 0x1c]
cmp dword [edx + 0x14], 8
jb 0x4b40fa
mov edx, dword [edx]
push dword [edi + 0x14]
movzx eax, byte [edi + 0x11]
lea ecx, [edi + 0xd0]
push edi
push eax
push 1
lea eax, [edi + 0x70]
push eax
push edx
call fcn.004aa8d2
push dword [edi + 0xa8]
mov ecx, esi
push edi
call fcn.004b9f27
jmp 0x4b4264
mov ecx, dword [edi + 0xb0]
lea eax, [esp + 0x20]
push eax
call fcn.004a4ee3
jmp 0x4b4264
push 1
lea eax, [esp + 0x17]
mov byte [esp + 0x17], 0xa
lea ecx, [edi + 0xd0]
push eax
call fcn.004aa48d
call fcn.004aad8d
test al, al
je 0x4b418a
lea eax, [edi + 0x1c]
cmp dword [eax + 0x14], 8
jb 0x4b4168
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
mov edx, 0x33f
lea eax, [esp + 0x1c]
mov ecx, 0x30303030
push eax
push str.Mso::Http__s_:_received_WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE
push 0xc8
call fcn.00437655
and dword [esp + 0x14], 0
lea ecx, [edi + 0xc]
call fcn.00425120
lea ecx, [esp + 0x14]
push ecx
push 0xa
mov edx, dword [eax]
lea ecx, [esp + 0x38]
push ecx
mov ecx, eax
call dword [edx + 0x20]
cmp dword [esp + 0x30], 0
jne 0x4b41bf
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x4b41bf
mov eax, dword [ecx]
push edi
call dword [eax + 0xc]
mov eax, dword [ebp + 0x10]
mov ecx, dword [edi + 0xb0]
push dword [eax]
lea eax, [esp + 0x24]
push eax
call fcn.004a4f89
lea eax, [esp + 0x20]
push eax
lea ecx, [edi + 0x84]
lea eax, [esp + 0x44]
jmp 0x4b425e
push 1
lea eax, [esp + 0x17]
mov byte [esp + 0x17], 9
lea ecx, [edi + 0xd0]
push eax
call fcn.004aa48d
call fcn.004aad8d
test al, al
je 0x4b4232
lea eax, [edi + 0x1c]
cmp dword [eax + 0x14], 8
jb 0x4b4210
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
mov edx, 0x33f
lea eax, [esp + 0x1c]
mov ecx, 0x30303030
push eax
push str.Mso::Http__s_:_received_WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE
push 0xc8
call fcn.00437655
mov ecx, edi
call fcn.004b3889
lea esi, [edi + 0x84]
push edi
mov ecx, esi
call fcn.004b9e82
mov ecx, dword [edi + 0xb0]
lea eax, [esp + 0x40]
push eax
call fcn.004a4ee3
push eax
lea eax, [esp + 0x34]
mov ecx, esi
push eax
call fcn.004ba287
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push ebx
push 0x15213a0
call fcn.00422704
int3