Function at 0x49773e
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x5370d0
mov eax, dword fs:[0]
push eax
sub esp, 0x54
mov eax, dword [0x591700]
xor eax, esp
mov dword [esp + 0x50], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x591700]
xor eax, esp
push eax
lea eax, [esp + 0x68]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [esp + 0x80]
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x14], eax
xor eax, eax
lea edx, [esp + 0x78]
mov dword [esp + 0x70], eax
lea ecx, [esp + 0x30]
mov dword [esp + 0x1c], eax
mov byte [ebp], al
call fcn.0048c954
xor ebx, ebx
lea ecx, [esp + 0x78]
inc ebx
push 0xffffffffffffffff
mov byte [esp + 0x74], bl
call fcn.0047307f
push ecx
mov ecx, dword [esp + 0x34]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.00450c82
add eax, 0x10
mov dword [esi], eax
call fcn.0049768a
mov ecx, eax
cmp ecx, ebx
jae 0x497805
cmp dword [0x59835c], 0
je 0x497e18
push ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str._ERROR___d___http_download__parse_response_code__d_
push ebx
push dword [0x59835c]
call fcn.00481b57
add esp, 0x14
jmp 0x497e18
lea eax, [ecx - 0x12c]
cmp eax, 0x63
ja 0x497b5d
push ecx
mov ecx, dword [esp + 0x7c]
mov esi, esp
mov byte [ebp], bl
lea ecx, [ecx - 0x10]
call fcn.00450c82
add eax, 0x10
mov dword [esi], eax
lea eax, [esp + 0x18]
push 0x574cc4
push eax
call fcn.00497e55
push 0x574cd8
push 0x574cb8
lea ecx, [esp + 0x1c]
mov byte [esp + 0x78], 2
call fcn.0044f903
push 0x574cc0
push 0x574ce4
lea ecx, [esp + 0x1c]
call fcn.0044f903
lea eax, [esp + 0x18]
mov ecx, edi
push eax
call fcn.0049551f
push eax
lea ecx, [edi + 0xd8]
mov byte [esp + 0x74], 3
call fcn.0044f8b8
mov byte [esp + 0x70], 2
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.00450ce2
push ecx
push 0x574cec
lea ecx, [esp + 0x1c]
call fcn.004844ad
test eax, eax
js 0x4978c5
lea eax, [esp + 0x14]
lea ebp, [edi + 0x58]
push eax
mov ecx, ebp
call fcn.0044f8b8
push ebp
lea ecx, [edi + 0x5c]
call fcn.0044f8b8
xor esi, esi
jmp 0x497a21
push 0x574cdc
push 0x574ce0
lea ecx, [esp + 0x1c]
call fcn.0044f903
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], 0
jge 0x4978ec
push 0x80070057
call fcn.00450c5f
movzx eax, word [eax]
push 0x2f
pop ecx
cmp ax, cx
jne 0x49790c
lea eax, [esp + 0x14]
push eax
lea ecx, [edi + 0xf0]
call fcn.0044f8b8
jmp 0x497b48
xor esi, esi
push ecx
mov ebp, esi
push 0x574d00
jmp 0x497951
add eax, 3
lea ecx, [esp + 0x14]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.004844dc
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x74], 4
call fcn.0044f8b8
mov byte [esp + 0x70], 2
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.00450ce2
push ecx
inc ebp
push 0x574d08
lea ecx, [esp + 0x1c]
call fcn.004844ad
test eax, eax
jns 0x497918
test ebp, ebp
js 0x4979af
lea ebx, [edi + 0x58]
inc ebp
push 0x2f
push dword [ebx]
call fcn.00507e52
pop ecx
pop ecx
test eax, eax
je 0x4979a9
sub eax, dword [ebx]
sar eax, 1
cmp eax, 0xffffffff
je 0x4979a9
push eax
lea eax, [esp + 0x1c]
mov ecx, ebx
push eax
call fcn.00472f88
push eax
mov ecx, ebx
mov byte [esp + 0x74], 5
call fcn.0044f8b8
mov byte [esp + 0x70], 2
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.00450ce2
dec ebp
jne 0x497966
xor ebx, ebx
inc ebx
push ecx
push 0x574cf4
lea ecx, [esp + 0x1c]
call fcn.004844ad
test eax, eax
jne 0x4979cd
push ecx
push ecx
lea ecx, [esp + 0x1c]
call fcn.00489bb6
lea ebp, [edi + 0x58]
push 0x574cfc
mov edx, ebp
lea ecx, [esp + 0x24]
call fcn.00461658
pop ecx
lea ecx, [esp + 0x14]
mov byte [esp + 0x70], 6
push ecx
mov edx, eax
lea ecx, [esp + 0x1c]
call fcn.00472fd0
pop ecx
push eax
mov ecx, ebp
mov byte [esp + 0x74], 7
call fcn.0044f8b8
mov ecx, dword [esp + 0x18]
lea ecx, [ecx - 0x10]
call fcn.00450ce2
mov byte [esp + 0x70], 2
mov ecx, dword [esp + 0x20]
lea ecx, [ecx - 0x10]
call fcn.00450ce2
cmp dword [0x59835c], 0
je 0x497a8d
push dword [ebp]
lea ecx, [esp + 0x38]
call fcn.00450dd2
lea edx, [esp + 0x34]
mov byte [esp + 0x70], 8
lea ecx, [esp + 0x4c]
call fcn.00482626
mov byte [esp + 0x70], 9
cmp dword [eax + 0x14], 0x10
jb 0x497a55
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str._INFO___d___redirect_url__s_
push 3
push dword [0x59835c]
call fcn.00481b57
add esp, 0x14
lea ecx, [esp + 0x4c]
push esi
push ebx
call fcn.0044ea87
push esi
push ebx
lea ecx, [esp + 0x3c]
mov byte [esp + 0x78], 2
call fcn.00451108
mov ecx, dword [ebp]
lea eax, [edi + 0xf8]
push eax
lea eax, [edi + 0xf0]
lea esi, [edi + 0xec]
push eax
mov edx, esi
call fcn.0048401d
pop ecx
pop ecx
test al, al
jne 0x497ad9
cmp dword [0x59835c], 0
je 0x497ad5
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str._ERROR___d___http_download__parse_response_redirect_failed_
push ebx
push dword [0x59835c]
call fcn.00481b57
add esp, 0x10
xor bl, bl
jmp 0x497b48
push ecx
push 0x574d10
mov ecx, esi
call fcn.004844ad
test eax, eax
je 0x497b0c
push ecx
push 0x574d18
mov ecx, esi
call fcn.004844ad
test eax, eax
je 0x497b0c
push ecx
push str.172.
mov ecx, esi
call fcn.004844ad
test eax, eax
jne 0x497b48
push ecx
push str.disable.htm
mov ecx, ebp
call fcn.004844ad
cmp eax, 0xffffffff
je 0x497b48
cmp dword [0x59835c], 0
je 0x497b42
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str._ERROR___d___redirect_LAN_url_that_contains_disable.htm
push ebx
push dword [0x59835c]
call fcn.00481b57
add esp, 0x10
mov byte [edi + 0xfb], bl
mov ecx, dword [esp + 0x14]
lea ecx, [ecx - 0x10]
call fcn.00450ce2
mov byte [esp + 0x1c], bl
jmp 0x497e18
lea eax, [ecx - 0xc8]
cmp eax, 0x63
ja 0x497ded
push ecx
mov ecx, dword [esp + 0x7c]
mov esi, esp
add ecx, 0xfffffff0
call fcn.00450c82
add eax, 0x10
mov dword [esi], eax
lea eax, [esp + 0x1c]
push str.content_type:
push eax
call fcn.00497e55
push ecx
push str.error
lea ecx, [esp + 0x20]
mov byte [esp + 0x78], 0xa
call fcn.004844ad
cmp eax, 0xffffffff
je 0x497bdc
cmp dword [0x59835c], 0
mov eax, dword [esp + 0x24]
mov byte [eax], bl
je 0x497ddb
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str._WARN___d___http_download__parse_response__is_error.
push 2
push dword [0x59835c]
call fcn.00481b57
add esp, 0x10
jmp 0x497ddb
push ecx
mov ecx, dword [esp + 0x7c]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.00450c82
add eax, 0x10
mov dword [esi], eax
lea eax, [esp + 0x24]
push str.Transfer_Encoding:
push eax
call fcn.00497e55
push str.chunked
lea ecx, [esp + 0x24]
mov byte [esp + 0x74], 0xb
call fcn.0044fc99
test eax, eax
jne 0x497c4c
cmp dword [0x59835c], eax
je 0x497c3a
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str._INFO___d___not_support_chunked__use_http1.0_request.
push 3
push dword [0x59835c]
call fcn.00481b57
add esp, 0x10
mov eax, dword [esp + 0x14]
mov byte [esp + 0x1c], bl
mov byte [eax], bl
mov byte [ebp], bl
jmp 0x497dcf
cmp dword [edi + 8], 0xffffffff
mov ebp, dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
jne 0x497d44
push ecx
mov ecx, dword [esp + 0x7c]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.00450c82
add eax, 0x10
mov dword [esi], eax
lea eax, [esp + 0x18]
push str.content_length:
push eax
call fcn.00497e55
mov byte [esp + 0x70], 0xc
lea ecx, [esp + 0x14]
mov eax, dword [esp + 0x14]
push dword [eax - 0xc]
call fcn.00450af8
push eax
call fcn.00507ab8
pop ecx
push 0xffffffffffffffff
lea ecx, [esp + 0x18]
mov dword [edi + 0x80], eax
mov dword [edi + 0x84], edx
call fcn.0047307f
cmp dword [0x59835c], 0
je 0x497cdf
push dword [edi + 0x84]
push dword [edi + 0x80]
call ebp
push eax
push str._INFO___d___http_download__target_file_size__I64d_
push 3
push dword [0x59835c]
call fcn.00481b57
add esp, 0x18
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x497cef
call fcn.00492330
test al, al
je 0x497d33
mov esi, dword [edi + 0x10]
lea eax, [esp + 0x24]
push 0
push eax
mov ecx, edi
call fcn.004953f8
lea eax, [esp + 0x24]
mov byte [esp + 0x70], 0xd
push eax
push 0
push esi
push 0xffffffffffffffff
mov ecx, edi
call fcn.004955e0
push dword [edi + 0x80]
mov ecx, edi
push ebx
push esi
push 0xffffffffffffffff
call fcn.004955e0
mov ecx, dword [esp + 0x24]
lea ecx, [ecx - 0x10]
call fcn.00450ce2
mov byte [esp + 0x70], 0xb
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00450ce2
push ecx
mov ecx, dword [esp + 0x7c]
mov esi, esp
add ecx, 0xfffffff0
call fcn.00450c82
add eax, 0x10
mov dword [esi], eax
lea eax, [esp + 0x30]
push str.last_modified:
push eax
call fcn.00497e55
mov byte [esp + 0x70], 0xe
xor esi, esi
mov eax, dword [esp + 0x2c]
cmp dword [eax - 0xc], esi
je 0x497dc3
push ecx
lea ecx, [eax - 0x10]
mov esi, esp
call fcn.00450c82
add eax, 0x10
lea ecx, [esp + 0x28]
mov dword [esi], eax
call fcn.0048dad0
cmp dword [0x59835c], 0
pop ecx
mov ecx, dword [eax]
mov dword [edi + 0x74], ecx
mov eax, dword [eax + 4]
mov dword [edi + 0x78], eax
je 0x497dbf
push eax
push ecx
call ebp
push eax
push str._INFO___d___http_download__package_last_modified__I64d_.
push 3
push dword [0x59835c]
call fcn.00481b57
add esp, 0x18
mov eax, dword [esp + 0x2c]
lea ecx, [eax - 0x10]
mov byte [esp + 0x1c], bl
call fcn.00450ce2
mov ecx, dword [esp + 0x20]
lea ecx, [ecx - 0x10]
call fcn.00450ce2
mov ecx, dword [esp + 0x18]
lea ecx, [ecx - 0x10]
call fcn.00450ce2
mov eax, dword [esp + 0x1c]
jmp 0x497e14
cmp dword [0x59835c], 0
je 0x497e12
push ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str._ERROR___d___http_download__response_code__d_.
push ebx
push dword [0x59835c]
call fcn.00481b57
add esp, 0x14
xor eax, eax
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x30]
add ecx, 0xfffffff0
call fcn.00450ce2
mov ecx, dword [esp + 0x78]
add ecx, 0xfffffff0
call fcn.00450ce2
mov al, byte [esp + 0x1c]
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x50]
xor ecx, esp
call fcn.00504075
add esp, 0x60
ret 0x10