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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x340
mov esi, esp
mov dword [esi + 0x328], ebp
mov ebx, ecx
lea ecx, [esi + 0x330]
mov dword [ecx - 4], esp
mov dword [ecx + 8], 0xffffffff
mov dword [ecx + 4], 0x4a9180
mov eax, dword fs:[0]
mov dword [ecx], eax
mov dword fs:[0], ecx
movups xmm0, xmmword [0x7a9568]
movaps xmmword [esi + 0x310], xmm0
movaps xmmword [esi + 0x300], xmm0
movaps xmmword [esi + 0x2f0], xmm0
movaps xmmword [esi + 0x2e0], xmm0
movaps xmmword [esi + 0x2d0], xmm0
mov eax, dword [ebx]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [section..00cfg]
lea eax, [esi + 0xc]
mov dword [esi + 8], ebx
mov ecx, ebx
push eax
mov ebx, eax
call edi
lea eax, [esi + 0x330]
mov dword [eax + 8], 0
mov ecx, ebx
call fcn.004af144
mov byte [esi + 0xd0], 3
mov dword [esi + 0xd8], eax
sub esp, 0x78
movaps xmm0, xmmword [esi + 0x310]
movups xmmword [esp + 0x68], xmm0
movaps xmm0, xmmword [esi + 0x300]
movups xmmword [esp + 0x58], xmm0
movaps xmm0, xmmword [esi + 0x2f0]
movups xmmword [esp + 0x48], xmm0
movaps xmm0, xmmword [esi + 0x2e0]
movups xmmword [esp + 0x38], xmm0
movaps xmm0, xmmword [esi + 0x2d0]
movups xmmword [esp + 0x28], xmm0
movups xmm0, xmmword [esi + 0xd0]
movups xmmword [esp + 0x18], xmm0
mov dword [esp + 0x14], str._s_CheckFiles_start
mov dword [esp + 0x10], str.XPluginBase
mov dword [esp + 0xc], str.CheckFiles
mov dword [esp + 8], 0x2fe
mov dword [esp + 4], str..._.._applet_third_party_xplugin_src_BasePlugin.cpp
mov dword [esp], 2
call fcn.004ee380
add esp, 0x78
lea ecx, [esi + 0xc]
call fcn.004aeec0
mov edi, dword [esi + 8]
mov eax, dword [edi]
mov ebx, dword [eax + 4]
mov dword [esi + 0x338], 0xffffffff
mov ecx, ebx
call dword [section..00cfg]
mov ecx, edi
lea edi, [esi + 0xc]
push edi
call ebx
mov dword [esi + 0x338], 1
mov ecx, edi
call fcn.004af144
push eax
push str._r_n_r_nCheck_files_of__s
push dword [ebp + 8]
call fcn.004af58e
add esp, 0xc
lea ecx, [esi + 0xc]
call fcn.004aeec0
mov ebx, dword [esi + 8]
mov eax, dword [ebx + 0x6c]
test eax, eax
je 0x49f83a
mov dword [esi + 0x338], 0xffffffff
mov ecx, ebx
push 0
push eax
push 5
call fcn.00496b90
test al, al
je 0x49f94a
movups xmm0, xmmword [0x7a9568]
movaps xmmword [esi + 0x280], xmm0
movaps xmmword [esi + 0x270], xmm0
movaps xmmword [esi + 0x260], xmm0
movaps xmmword [esi + 0x250], xmm0
mov eax, dword [ebx + 0x6c]
mov byte [esi + 0x40], 0
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], 0
mov eax, dword [ebx]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [section..00cfg]
mov ecx, ebx
lea ebx, [esi + 0xc]
push ebx
call edi
mov dword [esi + 0x338], 3
mov ecx, ebx
call fcn.004af144
mov byte [esi + 0xb0], 3
mov dword [esi + 0xb8], eax
sub esp, 0x78
movaps xmm0, xmmword [esi + 0x280]
movups xmmword [esp + 0x68], xmm0
movaps xmm0, xmmword [esi + 0x270]
movups xmmword [esp + 0x58], xmm0
movaps xmm0, xmmword [esi + 0x260]
movups xmmword [esp + 0x48], xmm0
movaps xmm0, xmmword [esi + 0x250]
movups xmmword [esp + 0x38], xmm0
movups xmm0, xmmword [esi + 0x40]
movups xmmword [esp + 0x28], xmm0
movups xmm0, xmmword [esi + 0xb0]
movups xmmword [esp + 0x18], xmm0
mov dword [esp + 0x14], str._s_CheckFiles_download_version__u_success
mov dword [esp + 0x10], str.XPluginBase
mov dword [esp + 0xc], str.CheckFiles
mov dword [esp + 8], 0x309
mov dword [esp + 4], str..._.._applet_third_party_xplugin_src_BasePlugin.cpp
mov dword [esp], 2
call fcn.004ee380
add esp, 0x78
lea ecx, [esi + 0xc]
call fcn.004aeec0
mov ebx, dword [esi + 8]
mov eax, dword [ebx + 0x6c]
mov dword [esi + 0x338], 0xffffffff
push eax
push str._r_ndownload_version__u_success
push dword [ebp + 8]
call fcn.004af58e
add esp, 0xc
jmp 0x49fa81
movups xmm0, xmmword [0x7a9568]
movaps xmmword [esi + 0x240], xmm0
movaps xmmword [esi + 0x230], xmm0
movaps xmmword [esi + 0x220], xmm0
movaps xmmword [esi + 0x210], xmm0
movaps xmmword [esi + 0x200], xmm0
mov eax, dword [ebx]
mov edi, dword [eax + 4]
mov dword [esi + 0x338], 0xffffffff
mov ecx, edi
call dword [section..00cfg]
mov ecx, ebx
lea ebx, [esi + 0xc]
push ebx
call edi
mov dword [esi + 0x338], 4
mov ecx, ebx
call fcn.004af144
mov byte [esi + 0xa0], 3
mov dword [esi + 0xa8], eax
sub esp, 0x78
movaps xmm0, xmmword [esi + 0x240]
movups xmmword [esp + 0x68], xmm0
movaps xmm0, xmmword [esi + 0x230]
movups xmmword [esp + 0x58], xmm0
movaps xmm0, xmmword [esi + 0x220]
movups xmmword [esp + 0x48], xmm0
movaps xmm0, xmmword [esi + 0x210]
movups xmmword [esp + 0x38], xmm0
movaps xmm0, xmmword [esi + 0x200]
movups xmmword [esp + 0x28], xmm0
movups xmm0, xmmword [esi + 0xa0]
movups xmmword [esp + 0x18], xmm0
mov dword [esp + 0x14], str._s_CheckFiles_download_version_is_not_set__skip
mov dword [esp + 0x10], str.XPluginBase
mov dword [esp + 0xc], str.CheckFiles
mov dword [esp + 8], 0x30d
mov dword [esp + 4], str..._.._applet_third_party_xplugin_src_BasePlugin.cpp
mov dword [esp], 2
call fcn.004ee380
add esp, 0x78
lea ecx, [esi + 0xc]
call fcn.004aeec0
mov dword [esi + 0x338], 0xffffffff
mov ecx, dword [ebp + 8]
push str._r_ndownload_version_is_not_set__skip
call fcn.004af0aa
mov ebx, dword [esi + 8]
jmp 0x49fa81
movups xmm0, xmmword [0x7a9568]
movaps xmmword [esi + 0x2c0], xmm0
movaps xmmword [esi + 0x2b0], xmm0
movaps xmmword [esi + 0x2a0], xmm0
movaps xmmword [esi + 0x290], xmm0
mov eax, dword [ebx + 0x6c]
mov byte [esi + 0x50], 0
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], 0
mov eax, dword [ebx]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [section..00cfg]
mov ecx, ebx
lea ebx, [esi + 0xc]
push ebx
call edi
mov dword [esi + 0x338], 2
mov ecx, ebx
call fcn.004af144
mov byte [esi + 0xc0], 3
mov dword [esi + 0xc8], eax
sub esp, 0x78
movaps xmm0, xmmword [esi + 0x2c0]
movups xmmword [esp + 0x68], xmm0
movaps xmm0, xmmword [esi + 0x2b0]
movups xmmword [esp + 0x58], xmm0
movaps xmm0, xmmword [esi + 0x2a0]
movups xmmword [esp + 0x48], xmm0
movaps xmm0, xmmword [esi + 0x290]
movups xmmword [esp + 0x38], xmm0
movups xmm0, xmmword [esi + 0x50]
movups xmmword [esp + 0x28], xmm0
movups xmm0, xmmword [esi + 0xc0]
movups xmmword [esp + 0x18], xmm0
mov dword [esp + 0x14], str._s_CheckFiles_download_version__u_invalid__clear
mov dword [esp + 0x10], str.XPluginBase
mov dword [esp + 0xc], str.CheckFiles
mov dword [esp + 8], 0x303
mov dword [esp + 4], str..._.._applet_third_party_xplugin_src_BasePlugin.cpp
mov dword [esp], 4
call fcn.004ee380
add esp, 0x78
lea ecx, [esi + 0xc]
call fcn.004aeec0
mov ebx, dword [esi + 8]
mov eax, dword [ebx]
mov edi, dword [eax + 0x10]
mov dword [esi + 0x338], 0xffffffff
mov ecx, edi
call dword [section..00cfg]
mov ecx, ebx
call edi
push 1
push 0xd
push eax
call fcn.00506400
add esp, 0xc
push dword [ebx + 0x6c]
push str._r_ndownload_version__u_failed
push dword [ebp + 8]
call fcn.004af58e
add esp, 0xc
xor eax, eax
mov ecx, ebx
push eax
push eax
call fcn.00494e00
mov eax, dword [ebx + 0x70]
test eax, eax
je 0x49fbb4
mov ecx, ebx
push 0
push eax
push 5
call fcn.00496b90
test al, al
je 0x49fcd6
movups xmm0, xmmword [0x7a9568]
movaps xmmword [esi + 0x1b0], xmm0
movaps xmmword [esi + 0x1a0], xmm0
movaps xmmword [esi + 0x190], xmm0
movaps xmmword [esi + 0x180], xmm0
mov eax, dword [ebx + 0x70]
mov byte [esi + 0x20], 0
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], 0
mov eax, dword [ebx]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [section..00cfg]
mov ecx, ebx
lea ebx, [esi + 0xc]
push ebx
call edi
mov dword [esi + 0x338], 6
mov ecx, ebx
call fcn.004af144
mov byte [esi + 0x80], 3
mov dword [esi + 0x88], eax
sub esp, 0x78
movaps xmm0, xmmword [esi + 0x1b0]
movups xmmword [esp + 0x68], xmm0
movaps xmm0, xmmword [esi + 0x1a0]
movups xmmword [esp + 0x58], xmm0
movaps xmm0, xmmword [esi + 0x190]
movups xmmword [esp + 0x48], xmm0
movaps xmm0, xmmword [esi + 0x180]
movups xmmword [esp + 0x38], xmm0
movups xmm0, xmmword [esi + 0x20]
movups xmmword [esp + 0x28], xmm0
movups xmm0, xmmword [esi + 0x80]
movups xmmword [esp + 0x18], xmm0
mov dword [esp + 0x14], str._s_CheckFiles_embedded_version__u_success
mov dword [esp + 0x10], str.XPluginBase
mov dword [esp + 0xc], str.CheckFiles
mov dword [esp + 8], 0x31e
mov dword [esp + 4], str..._.._applet_third_party_xplugin_src_BasePlugin.cpp
mov dword [esp], 2
call fcn.004ee380
add esp, 0x78
lea ecx, [esi + 0xc]
call fcn.004aeec0
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x70]
mov dword [esi + 0x338], 0xffffffff
push eax
push str._r_nembedded_version__u_success
push dword [ebp + 8]
call fcn.004af58e
add esp, 0xc
jmp 0x49ff27
cmp dword [ebx + 0x9c], 0
je 0x49fe32
movups xmm0, xmmword [0x7a9568]
movaps xmmword [esi + 0x120], xmm0
movaps xmmword [esi + 0x110], xmm0
movaps xmmword [esi + 0x100], xmm0
movaps xmmword [esi + 0xf0], xmm0
movaps xmmword [esi + 0xe0], xmm0
mov eax, dword [ebx]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [section..00cfg]
mov ecx, ebx
lea ebx, [esi + 0xc]
push ebx
call edi
mov dword [esi + 0x338], 8
mov ecx, ebx
call fcn.004af144
mov byte [esi + 0x60], 3
mov dword [esi + 0x68], eax
sub esp, 0x78
movaps xmm0, xmmword [esi + 0x120]
movups xmmword [esp + 0x68], xmm0
movaps xmm0, xmmword [esi + 0x110]
movups xmmword [esp + 0x58], xmm0
movaps xmm0, xmmword [esi + 0x100]
movups xmmword [esp + 0x48], xmm0
movaps xmm0, xmmword [esi + 0xf0]
movups xmmword [esp + 0x38], xmm0
movaps xmm0, xmmword [esi + 0xe0]
movups xmmword [esp + 0x28], xmm0
movups xmm0, xmmword [esi + 0x60]
movups xmmword [esp + 0x18], xmm0
mov dword [esp + 0x14], str._s_CheckFiles_embedded_version_is_not_installed__try_install
mov dword [esp + 0x10], str.XPluginBase
mov dword [esp + 0xc], str.CheckFiles
mov dword [esp + 8], 0x329
mov dword [esp + 4], str..._.._applet_third_party_xplugin_src_BasePlugin.cpp
mov dword [esp], 2
call fcn.004ee380
add esp, 0x78
lea ecx, [esi + 0xc]
call fcn.004aeec0
mov dword [esi + 0x338], 0xffffffff
mov ebx, dword [ebp + 8]
mov ecx, ebx
push str._r_nembedded_version_is_not_installed
call fcn.004af0aa
mov edi, dword [esi + 8]
mov ecx, edi
push 0
call fcn.00498d50
movzx eax, al
push dword [edi + 0x70]
push eax
push str._r_ntry_install_embedded_version__ret___d__new_version___u
push ebx
jmp 0x49fe25
movups xmm0, xmmword [0x7a9568]
movaps xmmword [esi + 0x1f0], xmm0
movaps xmmword [esi + 0x1e0], xmm0
movaps xmmword [esi + 0x1d0], xmm0
movaps xmmword [esi + 0x1c0], xmm0
mov eax, dword [ebx + 0x70]
mov byte [esi + 0x30], 0
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], 0
mov eax, dword [ebx]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [section..00cfg]
mov ecx, ebx
lea ebx, [esi + 0xc]
push ebx
call edi
mov dword [esi + 0x338], 5
mov ecx, ebx
call fcn.004af144
mov byte [esi + 0x90], 3
mov dword [esi + 0x98], eax
sub esp, 0x78
movaps xmm0, xmmword [esi + 0x1f0]
movups xmmword [esp + 0x68], xmm0
movaps xmm0, xmmword [esi + 0x1e0]
movups xmmword [esp + 0x58], xmm0
movaps xmm0, xmmword [esi + 0x1d0]
movups xmmword [esp + 0x48], xmm0
movaps xmm0, xmmword [esi + 0x1c0]
movups xmmword [esp + 0x38], xmm0
movups xmm0, xmmword [esi + 0x30]
movups xmmword [esp + 0x28], xmm0
movups xmm0, xmmword [esi + 0x90]
movups xmmword [esp + 0x18], xmm0
mov dword [esp + 0x14], str._s_CheckFiles_embeddeed_version__u_invalid__clear
mov dword [esp + 0x10], str.XPluginBase
mov dword [esp + 0xc], str.CheckFiles
mov dword [esp + 8], 0x314
mov dword [esp + 4], str..._.._applet_third_party_xplugin_src_BasePlugin.cpp
mov dword [esp], 4
call fcn.004ee380
add esp, 0x78
lea ecx, [esi + 0xc]
call fcn.004aeec0
mov ebx, dword [esi + 8]
mov eax, dword [ebx]
mov edi, dword [eax + 0x10]
mov dword [esi + 0x338], 0xffffffff
mov ecx, edi
call dword [section..00cfg]
mov ecx, ebx
call edi
push 1
push 0xc
push eax
call fcn.00506400
add esp, 0xc
push dword [ebx + 0x70]
push str._r_nembedded_version__u_failed
mov eax, dword [ebp + 8]
push eax
call fcn.004af58e
add esp, 0xc
xor edi, edi
mov ecx, ebx
push edi
push edi
call fcn.00494450
mov ecx, ebx
push edi
call fcn.00498d50
movzx eax, al
push dword [ebx + 0x70]
push eax
push str._r_ntry_install_embedded_version__ret___d__new_version___u
push dword [ebp + 8]
call fcn.004af58e
add esp, 0x10
jmp 0x49ff27
movups xmm0, xmmword [0x7a9568]
movaps xmmword [esi + 0x170], xmm0
movaps xmmword [esi + 0x160], xmm0
movaps xmmword [esi + 0x150], xmm0
movaps xmmword [esi + 0x140], xmm0
movaps xmmword [esi + 0x130], xmm0
mov eax, dword [ebx]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [section..00cfg]
mov ecx, ebx
lea ebx, [esi + 0xc]
push ebx
call edi
mov dword [esi + 0x338], 7
mov ecx, ebx
call fcn.004af144
mov byte [esi + 0x70], 3
mov dword [esi + 0x78], eax
sub esp, 0x78
movaps xmm0, xmmword [esi + 0x170]
movups xmmword [esp + 0x68], xmm0
movaps xmm0, xmmword [esi + 0x160]
movups xmmword [esp + 0x58], xmm0
movaps xmm0, xmmword [esi + 0x150]
movups xmmword [esp + 0x48], xmm0
movaps xmm0, xmmword [esi + 0x140]
movups xmmword [esp + 0x38], xmm0
movaps xmm0, xmmword [esi + 0x130]
movups xmmword [esp + 0x28], xmm0
movups xmm0, xmmword [esi + 0x70]
movups xmmword [esp + 0x18], xmm0
mov dword [esp + 0x14], str._s_CheckFiles_embedded_version_is_not_set__skip
mov dword [esp + 0x10], str.XPluginBase
mov dword [esp + 0xc], str.CheckFiles
mov dword [esp + 8], 0x325
mov dword [esp + 4], str..._.._applet_third_party_xplugin_src_BasePlugin.cpp
mov dword [esp], 2
call fcn.004ee380
add esp, 0x78
lea ecx, [esi + 0xc]
call fcn.004aeec0
mov dword [esi + 0x338], 0xffffffff
mov ecx, dword [ebp + 8]
push str._r_nembedded_version_is_not_set__skip
call fcn.004af0aa
mov eax, dword [esi + 0x330]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4