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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x310
mov edi, dword [ebp + 8]
mov eax, dword [0x808040]
xor eax, ebp
mov dword [esp + 0x308], eax
movsx eax, byte [edi + 0xb]
test eax, eax
jns 0x475d7b
mov eax, dword [edi + 4]
test eax, eax
je 0x475e68
push edi
call fcn.00611e80
add esp, 4
test al, al
je 0x475e21
xor eax, eax
dec eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
lea esi, [esp + 0x74]
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov ecx, esi
call fcn.0055fdd0
push esi
push 3
call fcn.004afa60
add esp, 8
test al, al
je 0x475f87
lea eax, [esp + 0x40]
lea ecx, [esp + 0x74]
push 7
push 0x77caca
push eax
call fcn.005616d0
movsx eax, byte [edi + 0xb]
test eax, eax
jns 0x475deb
mov eax, dword [edi + 4]
mov edi, dword [edi]
test eax, eax
js 0x4763dd
sete cl
test edi, edi
setne dl
or dl, cl
je 0x4763dd
lea edx, [esp + 0x34]
lea esi, [esp + 0x40]
mov ecx, esi
push eax
push edi
push edx
call fcn.005616d0
mov ecx, esi
call fcn.0055ff40
jmp 0x475f90
push 0x2a
push str.....chromeupdaterwinmanifest_util.cc
call fcn.0055f480
add esp, 8
test eax, eax
jle 0x475eaa
lea esi, [esp + 0x74]
mov ecx, esi
push 0xffffffffffffffff
push 0x67
push str.....chromeupdaterwinmanifest_util.cc
call fcn.004ba430
lea eax, [esp + 0x7c]
push 0x32
push str.Unexpected:_offline_directory_needs_to_be_a_GUID:
push eax
call fcn.00533f70
add esp, 0xc
push edi
push eax
call fcn.004b5750
add esp, 8
jmp 0x475ea3
push 0x2a
push str.....chromeupdaterwinmanifest_util.cc
call fcn.0055f480
add esp, 8
test eax, eax
jle 0x475eaa
lea esi, [esp + 0x74]
mov ecx, esi
push 0xffffffffffffffff
push 0x62
push str.....chromeupdaterwinmanifest_util.cc
call fcn.004ba430
lea eax, [esp + 0x7c]
push 0x39
push str.Unexpected:_offline_install_without_an_offline_directory.
push eax
call fcn.00533f70
add esp, 0xc
mov ecx, esi
call fcn.004ba910
mov ecx, dword [esp + 0x308]
xor ecx, ebp
call fcn.005c6b46
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x2a
push str.....chromeupdaterwinmanifest_util.cc
call fcn.0055f480
add esp, 8
cmp eax, 2
jl 0x475f21
lea edi, [esp + 0x74]
mov ecx, edi
push 0xfffffffffffffffe
push 0x85
push str.....chromeupdaterwinmanifest_util.cc
call fcn.004ba430
lea eax, [esp + 0x7c]
push 0x1a
push str.No_manifest_data_for_app:
push eax
call fcn.00533f70
add esp, 0xc
mov edx, dword [ebp + 0xc]
movsx ecx, byte [edx + 0xb]
test ecx, ecx
jns 0x475f0f
mov ecx, dword [edx + 4]
mov edx, dword [edx]
push ecx
push edx
push eax
call fcn.00533f70
add esp, 0xc
mov ecx, edi
call fcn.004ba910
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.00662c10
push esi
call fcn.005c57c0
add esp, 4
lea ecx, [esp + 0x34]
call fcn.0055ff40
jmp 0x475eaa
push 0x2a
push str.....chromeupdaterwinmanifest_util.cc
call fcn.0055f480
add esp, 8
test eax, eax
jle 0x475f35
lea esi, [esp + 0x74]
mov ecx, esi
push 0xffffffffffffffff
push 0x73
push str.....chromeupdaterwinmanifest_util.cc
call fcn.004ba430
lea eax, [esp + 0x7c]
push 0x24
push str.Unexpected:_offline_directory_empty.
push eax
call fcn.00533f70
add esp, 0xc
mov ecx, esi
call fcn.004ba910
jmp 0x475f35
lea ecx, [esp + 0x34]
call fcn.0055fdd0
lea esi, [esp + 0x74]
mov ecx, esi
call fcn.0055ff40
movsx eax, byte [esp + 0x3f]
test eax, eax
jns 0x475fa8
mov eax, dword [esp + 0x38]
test eax, eax
je 0x475f43
mov edi, dword [ebp + 0xc]
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x40], xmm0
xor eax, eax
dec eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
lea ecx, [esp + 0x34]
push 0x13
push str.OfflineManifest.gup
push esi
call fcn.004bc1c0
push esi
call fcn.004ad650
add esp, 4
test al, al
jne 0x47606f
movsx eax, byte [edi + 0xb]
mov edx, edi
test eax, eax
jns 0x475ffc
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
test eax, eax
js 0x4763dd
sete cl
test edx, edx
setne ch
or ch, cl
je 0x4763dd
lea ebx, [esp + 0x58]
lea ecx, [esp + 0x34]
push eax
push edx
push ebx
call fcn.004bc1c0
lea edi, [esp + 0x68]
mov ecx, ebx
push 4
push str..gup
push edi
call fcn.004bbee0
mov ecx, esi
push edi
call fcn.0055ffc0
mov ecx, edi
call fcn.0055ff40
mov ecx, ebx
call fcn.0055ff40
push esi
call fcn.004ad650
add esp, 4
test al, al
jne 0x476063
mov byte [esp + 0x40], 0
xor eax, eax
jmp 0x47607b
lea ecx, [esp + 0x40]
push esi
call fcn.0055fdf0
jmp 0x476079
lea ecx, [esp + 0x40]
push esi
call fcn.0055fe30
mov al, 1
mov byte [esp + 0x4c], al
lea ecx, [esp + 0x74]
call fcn.0055ff40
cmp byte [esp + 0x4c], 0
je 0x47615a
xor edi, edi
lea eax, [esp + 0x58]
mov dword [eax + 4], edi
mov dword [eax], edi
lea ecx, [esp + 0x40]
push eax
push ecx
call fcn.004b0770
add esp, 8
test al, al
je 0x476100
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
cmp ebx, 0x100001
sbb eax, 0
jl 0x476613
push 0x2a
push str.....chromeupdaterwinmanifest_util.cc
call fcn.0055f480
add esp, 8
cmp eax, 2
jl 0x4761ad
lea edi, [esp + 0x74]
mov ecx, edi
push 0xfffffffffffffffe
push 0x44
push str.....chromeupdaterwinmanifest_util.cc
call fcn.004ba430
lea eax, [esp + 0x7c]
push 0x1b
push str.Manifest_file_is_too_large.
jmp 0x476137
push 0x2a
push str.....chromeupdaterwinmanifest_util.cc
call fcn.0055f480
add esp, 8
cmp eax, 2
jl 0x4761ad
lea edi, [esp + 0x74]
mov ecx, edi
push 0xfffffffffffffffe
push 0x3e
push str.....chromeupdaterwinmanifest_util.cc
call fcn.004ba430
lea eax, [esp + 0x7c]
push 0x24
push str.Cannot_determine_manifest_file_size.
push eax
call fcn.00533f70
add esp, 0xc
mov ecx, edi
xor edi, edi
jmp 0x4761a8
mov ebx, dword [esp + 4]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
call fcn.00549da0
jmp 0x476209
push 0x2a
push str.....chromeupdaterwinmanifest_util.cc
call fcn.0055f480
add esp, 8
xor edi, edi
cmp eax, 2
jl 0x4761ad
lea ebx, [esp + 0x74]
mov ecx, ebx
push 0xfffffffffffffffe
push 0x38
push str.....chromeupdaterwinmanifest_util.cc
call fcn.004ba430
lea eax, [esp + 0x7c]
push 0x1e
push str.Cannot_find_manifest_file_in:
push eax
call fcn.00533f70
add esp, 0xc
lea ecx, [esp + 0x34]
push ecx
push eax
call fcn.00643c60
add esp, 8
mov ecx, ebx
call fcn.004ba910
cmp byte [esp + 0x4c], 1
jne 0x4761bd
lea ecx, [esp + 0x40]
call fcn.0055ff40
test edi, edi
je 0x475f35
mov ebx, edi
mov edi, dword [ebp + 0x14]
movq xmm0, qword [ebx + 4]
movq qword [edi], xmm0
lea ecx, [edi + 8]
lea eax, [ebx + 0xc]
cmp ecx, eax
mov dword [esp + 4], ebx
je 0x476209
cmp byte [edi + 0x13], 0
movzx edx, byte [ebx + 0x17]
js 0x476413
test dl, dl
js 0x476146
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
movq xmm0, qword [eax]
movq qword [ecx], xmm0
mov ebx, dword [esp + 4]
lea ecx, [edi + 0x14]
lea eax, [ebx + 0x18]
cmp ecx, eax
je 0x47623b
cmp byte [edi + 0x1f], 0
movzx edx, byte [ebx + 0x23]
js 0x4763df
test dl, dl
js 0x4762f3
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
movq xmm0, qword [eax]
movq qword [ecx], xmm0
mov ebx, dword [esp + 4]
lea esi, [ebx + 4]
lea ecx, [edi + 0x20]
lea eax, [ebx + 0x24]
cmp ecx, eax
je 0x476270
cmp byte [edi + 0x2b], 0
mov edx, dword [esp + 4]
movzx edx, byte [edx + 0x2f]
js 0x4763f9
test dl, dl
js 0x476307
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
movq xmm0, qword [eax]
movq qword [ecx], xmm0
cmp esi, edi
mov ebx, dword [esp + 4]
je 0x476298
add edi, 0x2c
mov eax, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov ecx, edx
sub ecx, eax
sar ecx, 2
imul esi, ecx, 0x96f96f97
mov ecx, edi
push esi
push edx
push eax
call fcn.00477610
mov edx, dword [ebx + 0x30]
mov eax, dword [ebx + 0x34]
mov dword [esp + 0x20], eax
cmp edx, eax
je 0x475ec0
mov eax, dword [ebp + 0xc]
movsx esi, byte [eax + 0xb]
mov ecx, eax
test esi, esi
jns 0x4762bc
mov esi, dword [eax + 4]
mov ecx, dword [eax]
lea eax, [ecx + esi]
mov dword [esp + 0x1c], eax
test esi, esi
js 0x4763dd
setne al
mov dword [esp + 0xc], ecx
test ecx, ecx
sete cl
test al, cl
jne 0x4763dd
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x10], eax
lea eax, [esi - 1]
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], esi
jmp 0x47634c
mov ebx, dword [esp + 4]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
call fcn.00549da0
jmp 0x47623b
mov eax, dword [esp + 4]
push dword [eax + 0x28]
push dword [eax + 0x24]
call fcn.00549da0
jmp 0x476270
lea eax, [edi + ebx]
add ebx, dword [esp + 0xc]
add edi, dword [esp + 0x18]
cmp eax, edi
jne 0x476334
cmp ebx, dword [esp + 0x1c]
je 0x47643a
mov edx, dword [esp + 8]
add edx, 0x9c
cmp edx, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
je 0x475ec0
movsx ebx, byte [edx + 0xb]
mov edi, edx
test ebx, ebx
jns 0x47635b
mov ebx, dword [edx + 4]
mov edi, dword [edx]
test ebx, ebx
js 0x4763dd
sete al
test edi, edi
setne cl
or cl, al
je 0x4763dd
mov dword [esp + 8], edx
mov dword [esp + 0x18], ebx
cmp ebx, esi
jne 0x476334
mov ebx, dword [esp + 0xc]
mov eax, edi
cmp dword [esp + 0x14], 0
je 0x476322
mov eax, dword [esp + 0x18]
lea esi, [eax - 1]
xor edx, edx
mov eax, dword [esp + 0xc]
movzx ebx, byte [eax + edx]
movzx eax, byte [edi + edx]
mov ecx, eax
add cl, 0xbf
mov ch, al
add ch, 0x20
cmp cl, 0x1a
movzx ecx, ch
cmovae ecx, eax
mov eax, ebx
add al, 0xbf
mov ah, bl
add ah, 0x20
cmp al, 0x1a
movzx eax, ah
cmovae eax, ebx
cmp cl, al
jne 0x476334
lea ebx, [edx + 1]
cmp esi, edx
je 0x47631b
cmp dword [esp + 0x24], edx
mov edx, ebx
jne 0x47638d
jmp 0x47631b
ud2
test dl, dl
jns 0x4763ed
mov eax, dword [esp + 4]
mov edx, dword [eax + 0x1c]
mov eax, dword [eax + 0x18]
push edx
push eax
call fcn.00549c70
jmp 0x476237
test dl, dl
jns 0x476407
mov eax, dword [esp + 4]
mov edx, dword [eax + 0x28]
mov eax, dword [eax + 0x24]
push edx
push eax
call fcn.00549c70
jmp 0x476270
test dl, dl
jns 0x476421
mov eax, dword [esp + 4]
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
push edx
push eax
call fcn.00549c70
jmp 0x476205
push dword [esi + 0x40]
push dword [esi + 0x3c]
call fcn.00549da0
jmp 0x476468
mov esi, dword [esp + 8]
lea eax, [esi + 0x3c]
mov ecx, dword [ebp + 0x18]
cmp eax, ecx
je 0x476468
cmp byte [ecx + 0xb], 0
movzx edx, byte [esi + 0x47]
js 0x4767b5
test dl, dl
js 0x47642d
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
movq xmm0, qword [eax]
movq qword [ecx], xmm0
xor eax, eax
dec eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov edx, dword [ebp + 0xc]
movsx eax, byte [edx + 0xb]
test eax, eax
jns 0x476487
mov eax, dword [edx + 4]
mov edx, dword [edx]
test eax, eax
mov edi, dword [ebp + 0x10]
js 0x4763dd
sete cl
test edx, edx
mov esi, edx
setne dl
or dl, cl
je 0x4763dd
lea edx, [esp + 0x40]
lea ecx, [esp + 0x34]
push eax
push esi
push edx
call fcn.004bc1c0
xor eax, eax
dec eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 8]
movsx eax, byte [ecx + 0x6b]
test eax, eax
js 0x476513
lea edx, [ecx + 0x60]
test eax, eax
sete cl
test edx, edx
setne ch
or ch, cl
je 0x4763dd
lea esi, [esp + 0x68]
lea ebx, [esp + 0x40]
mov ecx, ebx
push eax
push edx
push esi
call fcn.004bc1c0
push esi
call fcn.004ad650
add esp, 4
test al, al
je 0x476523
lea ecx, [esp + 0x28]
push esi
call fcn.0055fdf0
mov esi, dword [esp + 8]
jmp 0x476576
mov eax, dword [ecx + 0x64]
test eax, eax
js 0x4763dd
mov edx, dword [ecx + 0x60]
jmp 0x4764d2
xor eax, eax
lea esi, [esp + 0x58]
mov dword [esi + 8], eax
pxor xmm0, xmm0
movq qword [esi], xmm0
xor edx, edx
inc edx
mov edi, ebx
lea ebx, [esp + 0x74]
mov ecx, ebx
push eax
push edx
push esi
push edx
push eax
push edi
call fcn.004aee60
lea eax, [esp + 0x28]
mov ecx, ebx
push eax
call fcn.004af020
mov ecx, ebx
call fcn.004aef70
cmp byte [esi + 0xb], 0
jns 0x47656f
push dword [esp + 0x58]
call fcn.005c57c0
add esp, 4
mov esi, dword [esp + 8]
mov edi, dword [ebp + 0x10]
lea ecx, [esp + 0x68]
call fcn.0055ff40
lea ecx, [esp + 0x40]
call fcn.0055ff40
lea ebx, [esp + 0x28]
mov ecx, dword [ebp + 0x1c]
push ebx
call fcn.0055ffc0
mov ecx, ebx
call fcn.0055ff40
lea eax, [esi + 0x6c]
mov ecx, dword [ebp + 0x20]
cmp eax, ecx
je 0x4765c9
cmp byte [ecx + 0xb], 0
movzx edx, byte [esi + 0x77]
js 0x4767cb
test dl, dl
js 0x4765e1
mov ecx, dword [eax + 8]
mov edx, dword [ebp + 0x20]
mov dword [edx + 8], ecx
movq xmm0, qword [eax]
movq qword [edx], xmm0
movsx eax, byte [edi + 0xb]
test eax, eax
jns 0x4765d4
mov eax, dword [edi + 4]
test eax, eax
je 0x475f21
jmp 0x4767e1
push dword [esi + 0x70]
push dword [esi + 0x6c]
call fcn.00549da0
jmp 0x4765c9
mov edi, ebx
or edi, 7
inc edi
push edi
call fcn.005c5789
add esp, 4
mov esi, eax
mov dword [esp + 0x68], eax
or edi, 0x80000000
mov dword [esp + 0x70], edi
mov dword [esp + 0x6c], ebx
jmp 0x47663e
xor eax, eax
dec eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
cmp ebx, 0x7ffffff8
jae 0x4768d2
cmp ebx, 0xb
jae 0x4765ee
lea esi, [esp + 0x68]
mov byte [esi + 0xb], bl
test ebx, ebx
je 0x47664a
push ebx
push 0
push esi
call fcn.005c9b00
add esp, 0xc
mov byte [esi + ebx], 0
cmp byte [esp + 0x4c], 0
je 0x4768cd
mov eax, dword [esp + 0x58]
cmp byte [esp + 0x73], 0
lea esi, [esp + 0x40]
js 0x47666e
lea ecx, [esp + 0x68]
jmp 0x476672
mov ecx, dword [esp + 0x68]
push eax
push ecx
push esi
call fcn.00640170
add esp, 0xc
cmp eax, 0xffffffff
je 0x476759
push 0x48
call fcn.005c5789
add esp, 4
mov edi, eax
pxor xmm0, xmm0
movdqu xmmword [eax], xmm0
movdqu xmmword [eax + 0x10], xmm0
movdqu xmmword [eax + 0x20], xmm0
movdqu xmmword [eax + 0x30], xmm0
pxor xmm0, xmm0
movq qword [eax + 0x40], xmm0
mov ecx, eax
call fcn.00662bc0
mov dword [edi], 0x770a08
lea eax, [esp + 0x68]
mov ecx, edi
push eax
call fcn.00663530
test al, al
jne 0x47673d
push 0x2a
push str.....chromeupdaterwinmanifest_util.cc
call fcn.0055f480
add esp, 8
cmp eax, 2
jl 0x476727
lea ecx, [esp + 0x74]
push 0xfffffffffffffffe
push 0x4f
push str.....chromeupdaterwinmanifest_util.cc
call fcn.004ba430
lea eax, [esp + 0x7c]
push 0x23
push str.Failed_to_parse_XML_manifest_file:
push eax
call fcn.00533f70
add esp, 0xc
cmp byte [esp + 0x4c], 0
je 0x4768cd
push esi
push eax
call fcn.00643c60
add esp, 8
lea ecx, [esp + 0x74]
call fcn.004ba910
test edi, edi
je 0x47673b
mov ecx, edi
call fcn.00662c10
push edi
call fcn.005c57c0
add esp, 4
xor edi, edi
cmp byte [esp + 0x73], 0
jns 0x4761ad
push dword [esp + 0x68]
call fcn.005c57c0
add esp, 4
jmp 0x4761ad
push 0x2a
push str.....chromeupdaterwinmanifest_util.cc
call fcn.0055f480
add esp, 8
xor edi, edi
cmp eax, 2
jl 0x47673d
lea ecx, [esp + 0x74]
push 0xfffffffffffffffe
push 0x4a
push str.....chromeupdaterwinmanifest_util.cc
call fcn.004ba430
lea eax, [esp + 0x7c]
push 0x1e
push str.Failed_to_load_manifest_file:
push eax
call fcn.00533f70
add esp, 0xc
cmp byte [esp + 0x4c], 0
je 0x4768cd
push esi
push eax
call fcn.00643c60
add esp, 8
lea ecx, [esp + 0x74]
call fcn.004ba910
jmp 0x47673d
test dl, dl
jns 0x4767bf
mov edx, dword [esi + 0x40]
mov eax, dword [esi + 0x3c]
push edx
push eax
call fcn.00549c70
jmp 0x476468
test dl, dl
jns 0x4767d5
mov edx, dword [esi + 0x70]
mov eax, dword [esi + 0x6c]
push edx
push eax
call fcn.00549c70
jmp 0x4765c9
mov dword [esp + 0x40], 0xffffffff
push 0x18
push edi
push dword [esi + 0x94]
push dword [esi + 0x90]
lea eax, [esp + 0x50]
push eax
call fcn.00601900
add esp, 0x14
mov edx, dword [esp + 0x40]
cmp edx, dword [esi + 0x94]
je 0x476854
lea eax, [edx + 0x24]
mov ecx, dword [ebp + 0x24]
cmp eax, ecx
je 0x475f21
cmp byte [ecx + 0xb], 0
movzx ebx, byte [edx + 0x2f]
js 0x4768b7
test bl, bl
js 0x476844
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
movq xmm0, qword [eax]
movq qword [ecx], xmm0
jmp 0x475f21
push dword [edx + 0x28]
push dword [edx + 0x24]
call fcn.00549da0
jmp 0x475f21
push 0x2a
push str.....chromeupdaterwinmanifest_util.cc
call fcn.0055f480
add esp, 8
cmp eax, 2
jl 0x475f21
mov esi, edi
lea edi, [esp + 0x74]
mov ecx, edi
push 0xfffffffffffffffe
push 0x9c
push str.....chromeupdaterwinmanifest_util.cc
call fcn.004ba430
lea eax, [esp + 0x7c]
push 0x1e
push str.Install_data_index_not_found:
push eax
call fcn.00533f70
add esp, 0xc
movsx ecx, byte [esi + 0xb]
test ecx, ecx
jns 0x4768ad
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
mov dword [esp + 0x10], edx
push ecx
push dword [esp + 0x14]
jmp 0x475f11
test bl, bl
jns 0x4768c1
mov ebx, dword [edx + 0x28]
mov eax, dword [edx + 0x24]
push ebx
push eax
call fcn.00549c70
jmp 0x475f21
call fcn.005fb170
lea ecx, [esp + 0x68]
call fcn.005fb080
int3