Function at 0x4126f0
Capabilities:
Check if file exists
Create process on windows
Delete file
Get common file path
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44aa07
mov eax, dword fs:[0]
push eax
sub esp, 0xe7c
mov eax, dword [0x4611f4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0xe6c], eax
mov eax, dword [eax + 0x278]
cmp dword [eax - 0xc], 0
jne 0x412739
xor eax, eax
jmp 0x4138d9
push str.BFVKanDianYing.exe
call fcn.00413f50
push str.bugreport.exe
call fcn.00413f50
push str.BFVServer.exe
call fcn.00413f50
push str.BFVDesktop.exe
call fcn.00413f50
push str.BFVUpdate.exe
call fcn.00413f50
push str.BFVComponent.exe
call fcn.00413f50
push str.HistoryConverter.exe
call fcn.00413f50
push str.BFVOtherInst.exe
call fcn.00413f50
xor eax, eax
push 0x206
push eax
mov word [ebp - 0xc40], ax
lea eax, [ebp - 0xc3e]
push eax
call fcn.00434de0
mov ebx, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
add esp, 0xc
lea eax, [ebp - 0xc40]
push 1
push 0
push eax
push 0
call ebx
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x830], ax
lea eax, [ebp - 0x82e]
push eax
call fcn.00434de0
add esp, 0xc
lea eax, [ebp - 0x830]
push 1
push 0x10
push eax
push 0
call ebx
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push eax
call fcn.00434de0
add esp, 0xc
lea eax, [ebp - 0x218]
push 1
push 0x1a
push eax
push 0
call ebx
test eax, eax
je 0x41283b
lea edi, [ebp - 0x218]
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x412823
mov ecx, 0x15
mov esi, str.MicrosoftInternet_ExplorerQuick_Launch
rep movsd dword es:[edi], dword [esi]
xor eax, eax
push 0x206
push eax
mov word [ebp - 0xe48], ax
lea eax, [ebp - 0xe46]
push eax
call fcn.00434de0
add esp, 0xc
lea eax, [ebp - 0xe48]
push 1
push 0x19
push eax
push 0
call ebx
xor eax, eax
push 0x206
push eax
mov word [ebp - 0xa38], ax
lea eax, [ebp - 0xa36]
push eax
call fcn.00434de0
add esp, 0xc
lea eax, [ebp - 0xa38]
push 1
push 0x17
push eax
push 0
call ebx
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x628], ax
lea eax, [ebp - 0x626]
push eax
call fcn.00434de0
add esp, 0xc
lea eax, [ebp - 0x628]
push 1
push 0x1a
push eax
push 0
call ebx
test eax, eax
je 0x4128e8
lea edi, [ebp - 0x628]
add edi, 0xfffffffe
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4128d0
mov ecx, 0x1f
mov esi, str.MicrosoftInternet_ExplorerQuick_LaunchUser_PinnedTaskBar
rep movsd dword es:[edi], dword [esi]
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x420], ax
lea eax, [ebp - 0x41e]
push eax
call fcn.00434de0
add esp, 0xc
lea eax, [ebp - 0x420]
push 1
push 0x1a
push eax
push 0
call ebx
test eax, eax
je 0x41293a
lea edi, [ebp - 0x420]
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x412922
mov ecx, 0x20
mov esi, str.MicrosoftInternet_ExplorerQuick_LaunchUser_PinnedStartMenu
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0xc40]
push eax
lea ecx, [ebp - 0xe78]
call fcn.00402410
lea eax, [ebp - 0xe48]
push eax
lea ecx, [ebp - 0xe74]
mov dword [ebp - 4], 0
call fcn.00402410
lea eax, [ebp - 0x830]
push eax
lea ecx, [ebp - 0xe80]
mov byte [ebp - 4], 1
call fcn.00402410
lea eax, [ebp - 0xa38]
push eax
lea ecx, [ebp - 0xe64]
mov byte [ebp - 4], 2
call fcn.00402410
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0xe70]
mov byte [ebp - 4], 3
call fcn.00402410
lea eax, [ebp - 0x628]
push eax
lea ecx, [ebp - 0xe84]
mov byte [ebp - 4], 4
call fcn.00402410
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0xe7c]
mov byte [ebp - 4], 5
call fcn.00402410
mov byte [ebp - 4], 6
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
or ebx, 0xffffffff
cmp dword [0x46237c], 6
jne 0x412ed3
mov eax, dword [0x462380]
cmp eax, 1
je 0x412a06
cmp eax, 2
jne 0x412ed3
push 0x456840
lea edx, [ebp - 0xe84]
lea ecx, [ebp - 0xe68]
call fcn.0040bce0
add esp, 4
push 0x456858
lea edx, [ebp - 0xe64]
lea ecx, [ebp - 0xe58]
mov byte [ebp - 4], 7
call fcn.0040bce0
add esp, 4
push 0
push 0
push 0
mov byte [ebp - 4], 8
push dword [ebp - 0xe58]
mov edi, dword [sym.imp.SHELL32.dll_ShellExecuteW]
push str.taskbarunpin
push 0
call edi
push 0x456898
lea edx, [ebp - 0xe64]
lea ecx, [ebp - 0xe60]
call fcn.0040bce0
add esp, 4
push eax
lea ecx, [ebp - 0xe58]
mov byte [ebp - 4], 9
call fcn.00401a10
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0xe60]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x412aa7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push 0
push 0
push dword [ebp - 0xe58]
push str.taskbarunpin
push 0
call edi
push 0x456840
lea edx, [ebp - 0xe70]
lea ecx, [ebp - 0xe60]
call fcn.0040bce0
add esp, 4
push eax
lea ecx, [ebp - 0xe58]
mov byte [ebp - 4], 0xa
call fcn.00401a10
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0xe60]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x412b08
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push 0
push 0
push dword [ebp - 0xe58]
push str.taskbarunpin
push 0
call edi
push 0x456840
lea edx, [ebp - 0xe78]
lea ecx, [ebp - 0xe60]
call fcn.0040bce0
add esp, 4
push eax
lea ecx, [ebp - 0xe58]
mov byte [ebp - 4], 0xb
call fcn.00401a10
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0xe60]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x412b69
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push 0
push 0
push dword [ebp - 0xe58]
push str.taskbarunpin
push 0
call edi
push 0x456840
lea edx, [ebp - 0xe74]
lea ecx, [ebp - 0xe60]
call fcn.0040bce0
add esp, 4
push eax
lea ecx, [ebp - 0xe58]
mov byte [ebp - 4], 0xc
call fcn.00401a10
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0xe60]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x412bca
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push 0
push 0
push dword [ebp - 0xe58]
push str.taskbarunpin
push 0
call edi
mov edi, dword [ebp - 0xe68]
push edi
call esi
test eax, eax
jne 0x412c06
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x412c06
and eax, 0xfffffffe
push eax
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push edi
call esi
cmp dword [0x46237c], 6
jne 0x412e87
cmp dword [0x462380], 1
jne 0x412e87
push 0x456840
lea edx, [ebp - 0xe7c]
lea ecx, [ebp - 0xe60]
call fcn.0040bce0
add esp, 4
mov byte [ebp - 4], 0xd
push dword [ebp - 0xe60]
mov eax, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
call eax
test eax, eax
je 0x412c5e
mov eax, dword [ebp - 0xe6c]
mov dword [eax + 0x280], 1
push 0x456858
lea edx, [ebp - 0xe64]
lea ecx, [ebp - 0xe4c]
call fcn.0040bce0
add esp, 4
push 0
push 0
push 0
mov byte [ebp - 4], 0xe
push dword [ebp - 0xe4c]
mov edi, dword [sym.imp.SHELL32.dll_ShellExecuteW]
push str.startunpin
push 0
call edi
push 0x456898
lea edx, [ebp - 0xe64]
lea ecx, [ebp - 0xe50]
call fcn.0040bce0
add esp, 4
push eax
lea ecx, [ebp - 0xe4c]
mov byte [ebp - 4], 0xf
call fcn.00401a10
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0xe50]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x412ce2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push 0
push 0
push dword [ebp - 0xe4c]
push str.startunpin
push 0
call edi
push 0x456840
lea edx, [ebp - 0xe70]
lea ecx, [ebp - 0xe50]
call fcn.0040bce0
add esp, 4
push eax
lea ecx, [ebp - 0xe4c]
mov byte [ebp - 4], 0x10
call fcn.00401a10
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0xe50]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x412d43
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push 0
push 0
push dword [ebp - 0xe4c]
push str.startunpin
push 0
call edi
push 0x456840
lea edx, [ebp - 0xe78]
lea ecx, [ebp - 0xe50]
call fcn.0040bce0
add esp, 4
push eax
lea ecx, [ebp - 0xe4c]
mov byte [ebp - 4], 0x11
call fcn.00401a10
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0xe50]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x412da4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push 0
push 0
push dword [ebp - 0xe4c]
push str.startunpin
push 0
call edi
push 0x456840
lea edx, [ebp - 0xe74]
lea ecx, [ebp - 0xe50]
call fcn.0040bce0
add esp, 4
push eax
lea ecx, [ebp - 0xe4c]
mov byte [ebp - 4], 0x12
call fcn.00401a10
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0xe50]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x412e05
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push 0
push 0
push dword [ebp - 0xe4c]
push str.startunpin
push 0
call edi
mov edi, dword [ebp - 0xe60]
push edi
call esi
test eax, eax
jne 0x412e41
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x412e41
and eax, 0xfffffffe
push eax
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push edi
call esi
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0xe4c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x412e64
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0xe60]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x412e87
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0xe58]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x412eaa
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0xe68]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x412ecd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push 0x456840
lea edx, [ebp - 0xe78]
lea ecx, [ebp - 0xe54]
call fcn.0040bce0
add esp, 4
mov byte [ebp - 4], 0x13
push dword [ebp - 0xe54]
call edi
test eax, eax
je 0x412f29
mov edi, dword [ebp - 0xe54]
push edi
call esi
test eax, eax
jne 0x412f23
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x412f23
and eax, 0xfffffffe
push eax
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push edi
call esi
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push 0x456840
lea edx, [ebp - 0xe74]
lea ecx, [ebp - 0xe50]
call fcn.0040bce0
add esp, 4
push eax
lea ecx, [ebp - 0xe54]
mov byte [ebp - 4], 0x14
call fcn.00401a10
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0xe50]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x412f75
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0xe54]
call edi
test eax, eax
je 0x412fae
mov edi, dword [ebp - 0xe54]
push edi
call esi
test eax, eax
jne 0x412fa8
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x412fa8
and eax, 0xfffffffe
push eax
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push edi
call esi
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push 0x456840
lea edx, [ebp - 0xe80]
lea ecx, [ebp - 0xe50]
call fcn.0040bce0
add esp, 4
push eax
lea ecx, [ebp - 0xe54]
mov byte [ebp - 4], 0x15
call fcn.00401a10
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0xe50]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x412ffa
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0xe54]
call edi
test eax, eax
je 0x413033
mov edi, dword [ebp - 0xe54]
push edi
call esi
test eax, eax
jne 0x41302d
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x41302d
and eax, 0xfffffffe
push eax
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push edi
call esi
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push 0x456840
lea edx, [ebp - 0xe70]
lea ecx, [ebp - 0xe50]
call fcn.0040bce0
add esp, 4
push eax
lea ecx, [ebp - 0xe54]
mov byte [ebp - 4], 0x16
call fcn.00401a10
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0xe50]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41307f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0xe54]
call edi
test eax, eax
je 0x4130b2
mov edi, dword [ebp - 0xe54]
push edi
call esi
test eax, eax
jne 0x4130b2
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4130b2
and eax, 0xfffffffe
push eax
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push edi
call esi
push 0x4568dc
lea edx, [ebp - 0xe64]
lea ecx, [ebp - 0xe50]
call fcn.0040bce0
add esp, 4
push eax
lea ecx, [ebp - 0xe54]
mov byte [ebp - 4], 0x17
call fcn.00401a10
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0xe50]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4130fe
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xe54]
xor edx, edx
call fcn.0041c960
push 0x4568ec
lea edx, [ebp - 0xe64]
lea ecx, [ebp - 0xe50]
call fcn.0040bce0
add esp, 4
push eax
lea ecx, [ebp - 0xe54]
mov byte [ebp - 4], 0x18
call fcn.00401a10
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0xe50]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x413157
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xe54]
xor edx, edx
call fcn.0041c960
mov eax, dword [ebp - 0xe6c]
mov ecx, dword [eax + 0x278]
sub ecx, 0x10
call fcn.00401e50
lea edi, [eax + 0x10]
mov dword [ebp - 0xe58], edi
push str.BFVShellIcon_Ctrl_Window
push 0
mov byte [ebp - 4], 0x19
call dword [sym.imp.USER32.dll_FindWindowW]
mov esi, eax
test esi, esi
je 0x4131bb
push str.BFVDesktop_Notify_Message_String
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
push 0
push 0x3e8
push 0
push 0
push 0x640065
push eax
push esi
call dword [sym.imp.USER32.dll_SendMessageTimeoutW]
push str._npBFVWebPlugin.dll
lea edx, [ebp - 0xe58]
lea ecx, [ebp - 0xe5c]
call fcn.0040bce0
add esp, 4
mov byte [ebp - 4], 0x1a
push dword [ebp - 0xe5c]
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
call esi
test eax, eax
je 0x41329a
mov eax, dword [section..data]
mov ecx, section..data
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xe4c], eax
mov byte [ebp - 4], 0x1b
push dword [ebp - 0xe5c]
lea eax, [ebp - 0xe4c]
push str.regsvr32__s__u___s_
push eax
call fcn.0040be40
mov esi, dword [ebp - 0xe4c]
add esp, 0xc
cmp dword [esi - 4], 1
jle 0x413242
push dword [esi - 0xc]
lea ecx, [ebp - 0xe4c]
call fcn.004021a0
mov esi, dword [ebp - 0xe4c]
push ecx
push 0xbb8
mov edx, esi
xor ecx, ecx
call fcn.0041d0b0
push dword [esi - 8]
push esi
call fcn.004336a3
add esp, 8
test eax, eax
js 0x4138f5
cmp eax, dword [esi - 8]
jg 0x4138f5
mov dword [esi - 0xc], eax
xor ecx, ecx
mov word [esi + eax*2], cx
add esi, 0xfffffff0
mov byte [ebp - 4], 0x1a
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x413294
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
call fcn.0041d280
test eax, eax
je 0x4133a9
push str._npBFVWebPlugin64.dll
lea edx, [ebp - 0xe58]
lea ecx, [ebp - 0xe50]
call fcn.0040bce0
add esp, 4
push eax
lea ecx, [ebp - 0xe5c]
mov byte [ebp - 4], 0x1c
call fcn.00401a10
mov byte [ebp - 4], 0x1a
mov edx, dword [ebp - 0xe50]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4132f3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0xe5c]
call esi
test eax, eax
je 0x4133a9
mov eax, dword [section..data]
mov ecx, section..data
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xe4c], eax
mov byte [ebp - 4], 0x1d
push dword [ebp - 0xe5c]
lea eax, [ebp - 0xe4c]
push str.regsvr32__s__u___s_
push eax
call fcn.0040be40
mov esi, dword [ebp - 0xe4c]
add esp, 0xc
cmp dword [esi - 4], 1
jle 0x413357
push dword [esi - 0xc]
lea ecx, [ebp - 0xe4c]
call fcn.004021a0
mov esi, dword [ebp - 0xe4c]
push ecx
push 0xbb8
mov edx, esi
xor ecx, ecx
call fcn.0041d0b0
push dword [esi - 8]
push esi
call fcn.004336a3
add esp, 8
test eax, eax
js 0x4138f5
cmp eax, dword [esi - 8]
jg 0x4138f5
mov dword [esi - 0xc], eax
xor ecx, ecx
mov word [esi + eax*2], cx
add esi, 0xfffffff0
mov byte [ebp - 4], 0x1a
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4133a9
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
push str._bfvwebhelper.dll
lea edx, [ebp - 0xe58]
lea ecx, [ebp - 0xe50]
call fcn.0040bce0
add esp, 4
push eax
lea ecx, [ebp - 0xe5c]
mov byte [ebp - 4], 0x1e
call fcn.00401a10
mov byte [ebp - 4], 0x1a
mov edx, dword [ebp - 0xe50]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4133f5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0xe5c]
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
call esi
test eax, eax
je 0x4134b7
mov eax, dword [section..data]
mov ecx, section..data
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xe4c], eax
mov byte [ebp - 4], 0x1f
push dword [ebp - 0xe5c]
lea eax, [ebp - 0xe4c]
push str.regsvr32__s__u___s_
push eax
call fcn.0040be40
mov esi, dword [ebp - 0xe4c]
add esp, 0xc
cmp dword [esi - 4], 1
jle 0x41345f
push dword [esi - 0xc]
lea ecx, [ebp - 0xe4c]
call fcn.004021a0
mov esi, dword [ebp - 0xe4c]
push ecx
push 0xbb8
mov edx, esi
xor ecx, ecx
call fcn.0041d0b0
push dword [esi - 8]
push esi
call fcn.004336a3
add esp, 8
test eax, eax
js 0x4138f5
cmp eax, dword [esi - 8]
jg 0x4138f5
mov dword [esi - 0xc], eax
xor ecx, ecx
mov word [esi + eax*2], cx
add esi, 0xfffffff0
mov byte [ebp - 4], 0x1a
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4134b1
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
call fcn.0041d280
test eax, eax
je 0x4135c6
push str._bfvwebhelper64.dll
lea edx, [ebp - 0xe58]
lea ecx, [ebp - 0xe50]
call fcn.0040bce0
add esp, 4
push eax
lea ecx, [ebp - 0xe5c]
mov byte [ebp - 4], 0x20
call fcn.00401a10
mov byte [ebp - 4], 0x1a
mov edx, dword [ebp - 0xe50]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x413510
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0xe5c]
call esi
test eax, eax
je 0x4135c6
mov eax, dword [section..data]
mov ecx, section..data
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xe4c], eax
mov byte [ebp - 4], 0x21
push dword [ebp - 0xe5c]
lea eax, [ebp - 0xe4c]
push str.regsvr32__s__u___s_
push eax
call fcn.0040be40
mov esi, dword [ebp - 0xe4c]
add esp, 0xc
cmp dword [esi - 4], 1
jle 0x413574
push dword [esi - 0xc]
lea ecx, [ebp - 0xe4c]
call fcn.004021a0
mov esi, dword [ebp - 0xe4c]
push ecx
push 0xbb8
mov edx, esi
xor ecx, ecx
call fcn.0041d0b0
push dword [esi - 8]
push esi
call fcn.004336a3
add esp, 8
test eax, eax
js 0x4138f5
cmp eax, dword [esi - 8]
jg 0x4138f5
mov dword [esi - 0xc], eax
xor ecx, ecx
mov word [esi + eax*2], cx
add esi, 0xfffffff0
mov byte [ebp - 4], 0x1a
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4135c6
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
push str.UGCFlash.dll
lea edx, [ebp - 0xe58]
lea ecx, [ebp - 0xe50]
call fcn.0040bce0
add esp, 4
push eax
lea ecx, [ebp - 0xe5c]
mov byte [ebp - 4], 0x22
call fcn.00401a10
mov byte [ebp - 4], 0x1a
mov edx, dword [ebp - 0xe50]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x413612
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0xe5c]
mov eax, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
call eax
test eax, eax
je 0x4136cd
mov eax, dword [section..data]
mov ecx, section..data
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xe4c], eax
mov byte [ebp - 4], 0x23
push dword [ebp - 0xe5c]
lea eax, [ebp - 0xe4c]
push str.regsvr32__s__u___s_
push eax
call fcn.0040be40
mov esi, dword [ebp - 0xe4c]
add esp, 0xc
cmp dword [esi - 4], 1
jle 0x41367b
push dword [esi - 0xc]
lea ecx, [ebp - 0xe4c]
call fcn.004021a0
mov esi, dword [ebp - 0xe4c]
push ecx
push 0xbb8
mov edx, esi
xor ecx, ecx
call fcn.0041d0b0
push dword [esi - 8]
push esi
call fcn.004336a3
add esp, 8
test eax, eax
js 0x4138f5
cmp eax, dword [esi - 8]
jg 0x4138f5
mov dword [esi - 0xc], eax
xor ecx, ecx
mov word [esi + eax*2], cx
add esi, 0xfffffff0
mov byte [ebp - 4], 0x1a
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4136cd
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0xe6c]
push edi
mov ecx, esi
call fcn.00413900
mov ecx, dword [esi + 0x278]
sub ecx, 0x10
call fcn.00401e50
lea esi, [eax + 0x10]
mov dword [ebp - 0xe68], esi
mov byte [ebp - 4], 0x24
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, 0x104
or eax, ecx
jge 0x413720
push 0x104
lea ecx, [ebp - 0xe68]
call fcn.00402270
mov esi, dword [ebp - 0xe68]
push str...BFVFrame
push esi
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
push dword [esi - 8]
push esi
call fcn.004336a3
add esp, 8
test eax, eax
js 0x4138f5
cmp eax, dword [esi - 8]
jg 0x4138f5
xor ecx, ecx
mov dword [esi - 0xc], eax
mov word [esi + eax*2], cx
mov ecx, dword [ebp - 0xe6c]
push esi
call fcn.00413900
add esi, 0xfffffff0
mov byte [ebp - 4], 0x1a
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41377b
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x19
mov edx, dword [ebp - 0xe5c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41379e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov byte [ebp - 4], 0x13
lea eax, [edi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4137bb
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0xe54]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4137de
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0xe7c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x413801
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0xe84]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x413824
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0xe70]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x413847
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0xe64]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41386a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0xe80]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41388d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0xe74]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4138b0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0xe78]
add esi, 0xfffffff0
lea eax, [esi + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x4138d4
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00431c68
mov esp, ebp
pop ebp
ret
push 0x80070057
call fcn.004022e0
int3