Function at 0x497737
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.0048c94e
xor ebx, ebx
lea ecx, [esp + 0x78]
inc ebx
push 0xffffffffffffffff
mov byte [esp + 0x74], bl
call fcn.0047307b
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.00497683
mov ecx, eax
cmp ecx, ebx
jae 0x4977fe
cmp dword [0x59835c], 0
je 0x497e11
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.00481b54
add esp, 0x14
jmp 0x497e11
lea eax, [ecx - 0x12c]
cmp eax, 0x63
ja 0x497b56
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 str.location:
push eax
call fcn.00497e4e
push 0x574ca0
push 0x574cf0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x78], 2
call fcn.0044f903
push 0x574cf8
push 0x574ce0
lea ecx, [esp + 0x1c]
call fcn.0044f903
lea eax, [esp + 0x18]
mov ecx, edi
push eax
call fcn.00495518
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 0x574ce8
lea ecx, [esp + 0x1c]
call fcn.004844aa
test eax, eax
js 0x4978be
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 0x497a1a
push 0x574d0c
push 0x574d10
lea ecx, [esp + 0x1c]
call fcn.0044f903
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], 0
jge 0x4978e5
push 0x80070057
call fcn.00450c5f
movzx eax, word [eax]
push 0x2f
pop ecx
cmp ax, cx
jne 0x497905
lea eax, [esp + 0x14]
push eax
lea ecx, [edi + 0xf0]
call fcn.0044f8b8
jmp 0x497b41
xor esi, esi
push ecx
mov ebp, esi
push 0x574cfc
jmp 0x49794a
add eax, 3
lea ecx, [esp + 0x14]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.004844d9
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 0x574d04
lea ecx, [esp + 0x1c]
call fcn.004844aa
test eax, eax
jns 0x497911
test ebp, ebp
js 0x4979a8
lea ebx, [edi + 0x58]
inc ebp
push 0x2f
push dword [ebx]
call fcn.00507e52
pop ecx
pop ecx
test eax, eax
je 0x4979a2
sub eax, dword [ebx]
sar eax, 1
cmp eax, 0xffffffff
je 0x4979a2
push eax
lea eax, [esp + 0x1c]
mov ecx, ebx
push eax
call fcn.00472f84
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 0x49795f
xor ebx, ebx
inc ebx
push ecx
push 0x574d70
lea ecx, [esp + 0x1c]
call fcn.004844aa
test eax, eax
jne 0x4979c6
push ecx
push ecx
lea ecx, [esp + 0x1c]
call fcn.00489bb3
lea ebp, [edi + 0x58]
push 0x574d78
mov edx, ebp
lea ecx, [esp + 0x24]
call fcn.00461648
pop ecx
lea ecx, [esp + 0x14]
mov byte [esp + 0x70], 6
push ecx
mov edx, eax
lea ecx, [esp + 0x1c]
call fcn.00472fcc
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 0x497a86
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.00482623
mov byte [esp + 0x70], 9
cmp dword [eax + 0x14], 0x10
jb 0x497a4e
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push 0x574d14
push 3
push dword [0x59835c]
call fcn.00481b54
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.0048401a
pop ecx
pop ecx
test al, al
jne 0x497ad2
cmp dword [0x59835c], 0
je 0x497ace
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.00481b54
add esp, 0x10
xor bl, bl
jmp 0x497b41
push ecx
push 0x574da0
mov ecx, esi
call fcn.004844aa
test eax, eax
je 0x497b05
push ecx
push str.192.
mov ecx, esi
call fcn.004844aa
test eax, eax
je 0x497b05
push ecx
push 0x574d7c
mov ecx, esi
call fcn.004844aa
test eax, eax
jne 0x497b41
push ecx
push str.disable.htm
mov ecx, ebp
call fcn.004844aa
cmp eax, 0xffffffff
je 0x497b41
cmp dword [0x59835c], 0
je 0x497b3b
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.00481b54
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 0x497e11
lea eax, [ecx - 0xc8]
cmp eax, 0x63
ja 0x497de6
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.00497e4e
push ecx
push str.error
lea ecx, [esp + 0x20]
mov byte [esp + 0x78], 0xa
call fcn.004844aa
cmp eax, 0xffffffff
je 0x497bd5
cmp dword [0x59835c], 0
mov eax, dword [esp + 0x24]
mov byte [eax], bl
je 0x497dd4
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.00481b54
add esp, 0x10
jmp 0x497dd4
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.00497e4e
push str.chunked
lea ecx, [esp + 0x24]
mov byte [esp + 0x74], 0xb
call fcn.0044fc99
test eax, eax
jne 0x497c45
cmp dword [0x59835c], eax
je 0x497c33
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.00481b54
add esp, 0x10
mov eax, dword [esp + 0x14]
mov byte [esp + 0x1c], bl
mov byte [eax], bl
mov byte [ebp], bl
jmp 0x497dc8
cmp dword [edi + 8], 0xffffffff
mov ebp, dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
jne 0x497d3d
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.00497e4e
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.0047307b
cmp dword [0x59835c], 0
je 0x497cd8
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.00481b54
add esp, 0x18
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x497ce8
call fcn.0049232a
test al, al
je 0x497d2c
mov esi, dword [edi + 0x10]
lea eax, [esp + 0x24]
push 0
push eax
mov ecx, edi
call fcn.004953f1
lea eax, [esp + 0x24]
mov byte [esp + 0x70], 0xd
push eax
push 0
push esi
push 0xffffffffffffffff
mov ecx, edi
call fcn.004955d9
push dword [edi + 0x80]
mov ecx, edi
push ebx
push esi
push 0xffffffffffffffff
call fcn.004955d9
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.00497e4e
mov byte [esp + 0x70], 0xe
xor esi, esi
mov eax, dword [esp + 0x2c]
cmp dword [eax - 0xc], esi
je 0x497dbc
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.0048daca
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 0x497db8
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.00481b54
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 0x497e0d
cmp dword [0x59835c], 0
je 0x497e0b
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.00481b54
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