Function at 0x4256b0
Capabilities:
Check if file exists
Contain obfuscated stackstrings
Create process on windows
Delete registry key
Delete registry value
Get common file path
Get session user name
Print debug messages
Query or enumerate registry value
Resolve function by parsing pe exports
Set registry value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4af559
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x214c
call fcn.004949d0
mov eax, dword [0x4e52d0]
xor eax, esp
mov dword [esp + 0x2148], eax
push ebx
push esi
push edi
mov eax, dword [0x4e52d0]
xor eax, esp
push eax
lea eax, [esp + 0x2160]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x306]
push edx
mov dword [esp + 0x3c], eax
mov word [esp + 0x308], cx
call fcn.004950a0
mov esi, dword [sym.imp.SHLWAPI.dll_SHGetValueW]
add esp, 0xc
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x300]
push ecx
lea edx, [esp + 0x64]
push edx
push str.UninstallString
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstallStormPlayer
mov edi, 0x102
mov ebx, 1
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x50], edi
mov dword [esp + 0x74], ebx
call esi
test eax, eax
jne 0x425d2e
push 0x206
push eax
lea ecx, [esp + 0x50e]
push ecx
mov byte [esp + 0x33], al
mov word [esp + 0x510], ax
call fcn.004950a0
add esp, 0xc
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x508]
push eax
lea ecx, [esp + 0x64]
push ecx
push str.DisplayVersion
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstallStormPlayer
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x50], edi
mov dword [esp + 0x74], ebx
call esi
test eax, eax
jne 0x425974
push 0x4bb300
lea edx, [esp + 0x508]
push edx
call dword [sym.imp.SHLWAPI.dll_StrCmpW]
test eax, eax
je 0x425974
lea eax, [esp + 0x26]
push eax
push str.5.42.1031.1111
lea esi, [esp + 0xd4]
call fcn.00441e80
lea ecx, [esp + 0x26]
push ecx
lea edx, [esp + 0x508]
push edx
lea esi, [esp + 0xc0]
mov dword [esp + 0x2170], 0
call fcn.00441e80
mov eax, esi
lea ecx, [esp + 0xcc]
call fcn.00441f10
test eax, eax
jns 0x42581f
mov byte [esp + 0x27], bl
lea eax, [esp + 0x26]
push eax
push str.5.63.0923.1111
lea esi, [esp + 0xe8]
call fcn.00441e80
lea eax, [esp + 0xb8]
mov ecx, esi
mov byte [esp + 0x2168], 2
call fcn.00441f10
test eax, eax
jle 0x42595e
push str.SkinFile
mov esi, str.SoftwareBaofengStormPlayerUserConfig
mov edi, SysReAllocStringLen
call fcn.00404940
add esp, 4
push str.ThemeFile
call fcn.00404940
add esp, 4
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0xfe]
push edx
mov word [esp + 0x100], cx
call fcn.004950a0
mov esi, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
add esp, 0xc
push ebx
push 0x23
lea eax, [esp + 0xfc]
push eax
push 0
call esi
test eax, eax
je 0x425964
lea ecx, [esp + 0x60]
push ecx
lea ecx, [esp + 0xf8]
call fcn.00402120
lea edx, [esp + 0x60]
push edx
lea eax, [esp + 0x3c]
push eax
mov ebx, str.BaofengStormPlayerProfiles
mov byte [esp + 0x2170], 3
call fcn.00404520
push eax
lea ecx, [esp + 0x5c]
push ecx
mov ebx, str._skinlist.xml
mov byte [esp + 0x2178], 4
call fcn.00404520
add esp, 0x10
lea ecx, [esp + 0x38]
mov byte [esp + 0x2168], 6
call fcn.00401d40
mov edx, dword [esp + 0x50]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x42593c
mov eax, dword [esp + 0x50]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x50], esp
mov edi, esp
call fcn.004046f0
add eax, 0x10
mov dword [edi], eax
call fcn.00403aa0
add esp, 4
lea ecx, [esp + 0x50]
call fcn.00401d40
lea ecx, [esp + 0x60]
call fcn.00401d40
mov dword [esp + 0x2168], 0xffffffff
jmp 0x425ace
mov esi, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
mov dword [esp + 0x2168], 0xffffffff
jmp 0x425ace
push str.SkinFile
mov esi, str.SoftwareBaofengStormPlayerUserConfig
mov edi, SysReAllocStringLen
call fcn.00404940
add esp, 4
push str.ThemeFile
call fcn.00404940
add esp, 4
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0xfe]
push ecx
mov word [esp + 0x100], ax
call fcn.004950a0
add esp, 0xc
push ebx
push 0x23
lea edx, [esp + 0xfc]
push edx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x425ac8
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0xf8]
call fcn.00402120
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x3c]
push edx
mov ebx, str.BaofengStormPlayerProfiles
mov dword [esp + 0x2170], 7
call fcn.00404520
push eax
lea eax, [esp + 0x24]
push eax
mov ebx, str._skinlist.xml
mov byte [esp + 0x2178], 8
call fcn.00404520
add esp, 0x10
mov byte [esp + 0x2168], 0xa
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x425a46
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x18]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x425a75
mov eax, dword [esp + 0x18]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x50], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
call fcn.00403aa0
add esp, 4
mov byte [esp + 0x2168], 7
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x425a9d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x2168], 0xffffffff
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x425ac8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea ecx, [esp + 0x2fc]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x425beb
cmp byte [esp + 0x27], 0
je 0x425beb
push str.WaitUninst
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
lea edx, [esp + 0x18]
push edx
mov ecx, 0x4bb300
mov esi, eax
call fcn.00402120
lea eax, [esp + 0x2fc]
push eax
push str.__s___Silence
lea edi, [esp + 0x20]
mov dword [esp + 0x2170], 0xb
call fcn.00402360
mov eax, dword [esp + 0x20]
add esp, 8
cmp dword [eax - 4], 1
jle 0x425b4f
mov ecx, dword [eax - 0xc]
push ecx
mov edx, edi
push edx
call fcn.004021c0
mov eax, dword [esp + 0x18]
push eax
push 0
xor eax, eax
call fcn.00401560
add esp, 8
push 0x7530
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.004923b5
add esp, 8
test eax, eax
js 0x425be1
mov ecx, dword [esp + 0x18]
cmp eax, dword [ecx - 8]
jg 0x425be1
mov dword [ecx - 0xc], eax
mov edx, dword [esp + 0x18]
xor ecx, ecx
mov word [edx + eax*2], cx
mov ecx, str.B5_Uninst.exe
call fcn.00401940
test esi, esi
je 0x425ba8
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esp + 0x2168], 0xffffffff
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42735a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
jmp 0x42748a
push 0x80070057
call fcn.00402bc0
lea ecx, [esp + 0x2fc]
push 0x5c
push ecx
call fcn.00492744
xor edx, edx
mov word [eax], dx
add esp, 8
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x300]
call fcn.00402120
push 0
push str.BaofengPlatform
mov dword [esp + 0x2170], 0xc
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
je 0x425c45
push 0
push 0x7d0
push 0
push 0
push 0
push 0x10
push eax
call dword [sym.imp.USER32.dll_SendMessageTimeoutW]
mov ecx, 0x4bede0
call fcn.00401940
mov ecx, 0x4bee08
call fcn.00401940
mov ecx, 0x4be380
call fcn.00401940
mov ecx, 0x4bee2c
call fcn.00401940
mov ecx, 0x4bee5c
call fcn.00401940
mov ecx, str.MediaEnc.exe
call fcn.00401940
mov ecx, 0x4bee80
call fcn.00401940
mov ecx, 0x4bee98
call fcn.00401940
mov ecx, 0x4beeb0
call fcn.00401940
mov ecx, 0x4beecc
call fcn.00401940
mov ecx, 0x4beee0
call fcn.00401940
mov ecx, 0x4bef0c
call fcn.00401940
mov ecx, 0x4bef20
call fcn.00401940
mov ecx, 0x4bef44
call fcn.00401940
mov ecx, 0x4bef6c
call fcn.00401940
mov ecx, str.HttpSvrUI.exe
call fcn.00401940
mov ecx, 0x4befa4
call fcn.00401940
push 1
push 0x25
lea ecx, [esp + 0x1344]
push ecx
push 0
call esi
test eax, eax
jne 0x425d35
mov dword [esp + 0x2168], 0xffffffff
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x425d2e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
jmp 0x42748a
push 1
push 0x23
lea ecx, [esp + 0x91c]
push ecx
push 0
call esi
test eax, eax
je 0x425d03
push 1
push 0
lea ecx, [esp + 0xf34]
push ecx
push 0
call esi
test eax, eax
jne 0x425d6d
lea ecx, [esp + 0x28]
call fcn.00401d40
xor eax, eax
jmp 0x42748a
push 1
push 0x10
lea edx, [esp + 0x1754]
push edx
push 0
call esi
test eax, eax
je 0x425d5d
push 1
push 0x19
lea eax, [esp + 0xb24]
push eax
push 0
call esi
test eax, eax
je 0x425d5d
push 1
push 0x17
lea ecx, [esp + 0xd2c]
push ecx
push 0
call esi
test eax, eax
je 0x425d5d
lea eax, [esp + 0x1134]
call fcn.0043f870
test eax, eax
je 0x425d5d
lea eax, [esp + 0x1544]
call fcn.0043f8c0
test eax, eax
je 0x425d5d
lea edx, [esp + 0x50]
push edx
lea ecx, [esp + 0x1340]
call fcn.00402120
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x918]
mov byte [esp + 0x216c], 0xd
call fcn.00402120
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0xf30]
mov byte [esp + 0x216c], 0xe
call fcn.00402120
lea edx, [esp + 0x34]
push edx
lea ecx, [esp + 0x1750]
mov byte [esp + 0x216c], 0xf
call fcn.00402120
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0xb20]
mov byte [esp + 0x216c], 0x10
call fcn.00402120
lea ecx, [esp + 0x54]
push ecx
lea ecx, [esp + 0xd28]
mov byte [esp + 0x216c], 0x11
call fcn.00402120
lea edx, [esp + 0x58]
push edx
lea ecx, [esp + 0x1138]
mov byte [esp + 0x216c], 0x12
call fcn.00402120
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x1548]
mov byte [esp + 0x216c], 0x13
call fcn.00402120
mov byte [esp + 0x2168], 0x14
call fcn.00404de0
test al, al
je 0x426097
call fcn.00404eb0
test al, al
jne 0x426097
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0x14]
push edx
mov ebx, 0x4befbc
call fcn.00404520
add esp, 8
push 0
push 0
mov byte [esp + 0x2170], 0x15
mov eax, dword [esp + 0x18]
mov esi, dword [sym.imp.SHELL32.dll_ShellExecuteW]
push 0
push eax
push str.taskbarunpin
push 0
call esi
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0x30]
push edx
mov ebx, 0x4beffc
call fcn.00404520
add esp, 8
lea edi, [esp + 0x10]
mov byte [esp + 0x2168], 0x16
call fcn.00404600
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2168], 0x15
call fcn.00401d40
mov eax, dword [esp + 0x10]
push 0
push 0
push 0
push eax
push str.taskbarunpin
push 0
call esi
lea ecx, [esp + 0x58]
push ecx
lea edx, [esp + 0x30]
push edx
mov ebx, 0x4bf028
call fcn.00404520
add esp, 8
mov byte [esp + 0x2168], 0x17
call fcn.00404600
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2168], 0x15
call fcn.00401d40
mov eax, dword [esp + 0x10]
push 0
push 0
push 0
push eax
push str.taskbarunpin
push 0
call esi
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x30]
push edx
call fcn.00404520
add esp, 8
mov byte [esp + 0x2168], 0x18
call fcn.00404600
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2168], 0x15
call fcn.00401d40
mov eax, dword [esp + 0x10]
push 0
push 0
push 0
push eax
push str.taskbarunpin
push 0
call esi
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x30]
push edx
call fcn.00404520
add esp, 8
mov byte [esp + 0x2168], 0x19
call fcn.00404600
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2168], 0x15
call fcn.00401d40
mov eax, dword [esp + 0x10]
push 0
push 0
push 0
push eax
push str.taskbarunpin
push 0
call esi
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x30]
push edx
call fcn.00404520
add esp, 8
mov byte [esp + 0x2168], 0x1a
call fcn.00404600
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2168], 0x15
call fcn.00401d40
mov eax, dword [esp + 0x10]
push 0
push 0
push 0
push eax
push str.taskbarunpin
push 0
call esi
lea ecx, [esp + 0x60]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.00404520
mov byte [esp + 0x2170], 0x1b
mov eax, dword [esp + 0x24]
add esp, 4
add eax, 0xfffffff0
mov dword [esp + 0x50], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
call fcn.00403aa0
add esp, 4
lea ecx, [esp + 0x1c]
call fcn.00401d40
mov ecx, edi
mov byte [esp + 0x2168], 0x14
call fcn.00401d40
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x44]
push ecx
mov ebx, 0x4bf040
call fcn.00404520
mov byte [esp + 0x2170], 0x1c
mov edx, dword [esp + 0x48]
push 0
push edx
call fcn.00401670
add esp, 0x10
call fcn.00404f00
test al, al
jne 0x426113
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x20]
push ecx
mov ebx, 0x4bf064
call fcn.00404520
add esp, 8
lea edi, [esp + 0x40]
mov byte [esp + 0x2168], 0x1d
call fcn.00404600
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2168], 0x1c
call fcn.00401d40
mov edx, dword [esp + 0x40]
push 0
push edx
call fcn.00401670
add esp, 8
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x20]
push ecx
mov ebx, str.StormAxInstallInstallShell.dll
call fcn.00404520
add esp, 8
lea edi, [esp + 0x40]
mov byte [esp + 0x2168], 0x1e
call fcn.00404600
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2168], 0x1c
call fcn.00401d40
mov edx, dword [esp + 0x40]
push 0
push edx
call fcn.00401670
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x28]
push ecx
mov ebx, str.AddressBar.dll
call fcn.00404520
add esp, 0x10
mov byte [esp + 0x2168], 0x1f
call fcn.00404600
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2168], 0x1c
call fcn.00401d40
mov edx, dword [esp + 0x40]
push 0
push edx
call fcn.00401670
add esp, 8
call fcn.00404f00
test al, al
lea eax, [esp + 0x28]
lea ecx, [esp + 0x18]
push eax
push ecx
je 0x426325
mov ebx, 0x4bf080
call fcn.00404520
add esp, 8
lea edx, [esp + 0x10]
push edx
mov ecx, 0x4bb300
mov byte [esp + 0x216c], 0x20
call fcn.00402120
mov byte [esp + 0x2168], 0x21
mov eax, dword [esp + 0x18]
push eax
push str.regsvr32__s__u___s_
lea edi, [esp + 0x18]
call fcn.00402360
mov ecx, dword [esp + 0x20]
add esp, 8
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x42624b
mov esi, edi
call fcn.0040a6f0
push eax
push 0
mov eax, 0xbb8
call fcn.00401560
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.004923b5
add esp, 0x10
test eax, eax
js 0x425be1
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx - 8]
jg 0x425be1
mov dword [ecx - 0xc], eax
mov ecx, dword [esp + 0x10]
xor edx, edx
mov word [ecx + eax*2], dx
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x20]
push eax
mov ebx, 0x4bf0d4
call fcn.00404520
add esp, 8
lea edi, [esp + 0x18]
mov byte [esp + 0x2168], 0x22
call fcn.00404600
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2168], 0x21
call fcn.00401d40
mov ecx, dword [esp + 0x18]
push ecx
push str.regsvr32__s__u___s_
lea edi, [esp + 0x18]
call fcn.00402360
mov edx, dword [esp + 0x20]
add esp, 8
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4262f0
mov esi, edi
call fcn.0040a6f0
push eax
push 0
mov eax, 0xbb8
call fcn.00401560
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.004923b5
add esp, 0x10
test eax, eax
js 0x425be1
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx - 8]
jg 0x425be1
mov dword [ecx - 0xc], eax
mov edx, dword [esp + 0x10]
xor ecx, ecx
mov word [edx + eax*2], cx
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x20]
push ecx
mov ebx, 0x4bf104
call fcn.00404520
add esp, 8
lea edi, [esp + 0x18]
mov byte [esp + 0x2168], 0x23
call fcn.00404600
mov byte [esp + 0x2168], 0x21
jmp 0x426492
mov ebx, 0x4bf12c
call fcn.00404520
add esp, 8
lea edx, [esp + 0x10]
push edx
mov ecx, 0x4bb300
mov byte [esp + 0x216c], 0x24
call fcn.00402120
mov byte [esp + 0x2168], 0x25
mov eax, dword [esp + 0x18]
push eax
push str.regsvr32__s__u___s_
lea edi, [esp + 0x18]
call fcn.00402360
mov ecx, dword [esp + 0x20]
add esp, 8
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4263bd
mov esi, edi
call fcn.0040a6f0
push eax
push 0
mov eax, 0xbb8
call fcn.00401560
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.004923b5
add esp, 0x10
test eax, eax
js 0x425be1
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx - 8]
jg 0x425be1
mov dword [ecx - 0xc], eax
mov ecx, dword [esp + 0x10]
xor edx, edx
mov word [ecx + eax*2], dx
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x20]
push eax
mov ebx, 0x4bf154
call fcn.00404520
add esp, 8
lea edi, [esp + 0x18]
mov byte [esp + 0x2168], 0x26
call fcn.00404600
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2168], 0x25
call fcn.00401d40
mov ecx, dword [esp + 0x18]
push ecx
push str.regsvr32__s__u___s_
lea edi, [esp + 0x18]
call fcn.00402360
mov edx, dword [esp + 0x20]
add esp, 8
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x426462
mov esi, edi
call fcn.0040a6f0
push eax
push 0
mov eax, 0xbb8
call fcn.00401560
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.004923b5
add esp, 0x10
test eax, eax
js 0x425be1
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx - 8]
jg 0x425be1
mov dword [ecx - 0xc], eax
mov edx, dword [esp + 0x10]
xor ecx, ecx
mov word [edx + eax*2], cx
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x20]
push ecx
mov ebx, 0x4bf180
call fcn.00404520
add esp, 8
lea edi, [esp + 0x18]
mov byte [esp + 0x2168], 0x27
call fcn.00404600
mov byte [esp + 0x2168], 0x25
lea ecx, [esp + 0x1c]
call fcn.00401d40
mov edx, dword [esp + 0x18]
push edx
push str.regsvr32__s__u___s_
lea edi, [esp + 0x18]
call fcn.00402360
mov eax, dword [esp + 0x20]
add esp, 8
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x426507
mov esi, edi
call fcn.0040a6f0
push eax
push 0
mov eax, 0xbb8
call fcn.00401560
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.004923b5
add esp, 0x10
test eax, eax
js 0x425be1
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx - 8]
jg 0x425be1
mov dword [ecx - 0xc], eax
mov edx, dword [esp + 0x10]
xor ecx, ecx
mov word [edx + eax*2], cx
lea ecx, [esp + 0x10]
call fcn.00401d40
lea ecx, [esp + 0x18]
mov byte [esp + 0x2168], 0x1c
call fcn.00401d40
mov eax, dword [esp + 0x64]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x20], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x216c], 0x28
mov eax, dword [esp + 0x54]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0xbc], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x2170], 0x29
mov eax, dword [esp + 0x30]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
mov eax, dword [esp + 0x3c]
push eax
mov byte [esp + 0x2178], 0x1c
call fcn.0042a890
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x18]
push edx
mov ebx, 0x4bf028
call fcn.00404520
mov byte [esp + 0x2170], 0x2a
mov eax, dword [esp + 0x1c]
add esp, 4
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
call fcn.00403aa0
add esp, 4
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x20]
push ecx
mov ebx, 0x4bf1a4
call fcn.00404520
add esp, 8
lea edi, [esp + 0x14]
mov byte [esp + 0x2168], 0x2b
call fcn.00404600
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2168], 0x2a
call fcn.00401d40
mov eax, dword [esp + 0x14]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
call fcn.00403aa0
add esp, 4
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x20]
push eax
mov ebx, 0x4bebf8
call fcn.00404520
add esp, 8
mov byte [esp + 0x2168], 0x2c
call fcn.00404600
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2168], 0x2a
call fcn.00401d40
mov eax, dword [esp + 0x14]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
call fcn.00403aa0
add esp, 4
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x20]
push edx
mov ebx, 0x4bf1bc
call fcn.00404520
add esp, 8
mov byte [esp + 0x2168], 0x2d
call fcn.00404600
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2168], 0x2a
call fcn.00401d40
mov eax, dword [esp + 0x14]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
call fcn.00403aa0
add esp, 4
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x30]
push ecx
mov ebx, 0x4bf1d4
call fcn.00404520
add esp, 8
mov byte [esp + 0x2168], 0x2e
call fcn.00404600
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2168], 0x2a
call fcn.00401d40
mov eax, dword [esp + 0x14]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
call fcn.00403aa0
add esp, 4
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x34]
push eax
mov ebx, 0x4bf1ec
call fcn.00404520
add esp, 8
mov byte [esp + 0x2168], 0x2f
call fcn.00404600
lea ecx, [esp + 0x30]
mov byte [esp + 0x2168], 0x2a
call fcn.00401d40
push ecx
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
call fcn.00403aa0
add esp, 4
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x1c]
push edx
mov ebx, 0x4bf028
call fcn.00404520
add esp, 8
mov byte [esp + 0x2168], 0x30
call fcn.00404600
lea ecx, [esp + 0x18]
mov byte [esp + 0x2168], 0x2a
call fcn.00401d40
mov eax, dword [esp + 0x14]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
call fcn.00403aa0
add esp, 4
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x14]
push ecx
mov ebx, 0x4bf1a4
call fcn.00404520
add esp, 8
mov byte [esp + 0x2168], 0x31
call fcn.00404600
lea ecx, [esp + 0x10]
mov byte [esp + 0x2168], 0x2a
call fcn.00401d40
mov eax, dword [esp + 0x14]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
call fcn.00403aa0
add esp, 4
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0xac]
push eax
mov ebx, 0x4bebf8
call fcn.00404520
add esp, 8
mov byte [esp + 0x2168], 0x32
call fcn.00404600
lea ecx, [esp + 0xa8]
mov byte [esp + 0x2168], 0x2a
call fcn.00401d40
mov eax, dword [esp + 0x14]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
call fcn.00403aa0
add esp, 4
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0xa8]
push edx
mov ebx, 0x4bf1bc
call fcn.00404520
add esp, 8
mov byte [esp + 0x2168], 0x33
call fcn.00404600
lea ecx, [esp + 0xa4]
mov byte [esp + 0x2168], 0x2a
call fcn.00401d40
mov eax, dword [esp + 0x14]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
call fcn.00403aa0
add esp, 4
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x7c]
push ecx
mov ebx, 0x4bf1d4
call fcn.00404520
add esp, 8
mov byte [esp + 0x2168], 0x34
call fcn.00404600
lea ecx, [esp + 0x78]
mov byte [esp + 0x2168], 0x2a
call fcn.00401d40
mov eax, dword [esp + 0x14]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
call fcn.00403aa0
add esp, 4
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0xb0]
push eax
mov ebx, 0x4bf204
call fcn.00404520
add esp, 8
mov byte [esp + 0x2168], 0x35
call fcn.00404600
lea ecx, [esp + 0xac]
mov byte [esp + 0x2168], 0x2a
call fcn.00401d40
mov eax, dword [esp + 0x14]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
call fcn.00403aa0
add esp, 4
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x84]
push edx
mov ebx, 0x4bf1ec
call fcn.00404520
add esp, 8
mov byte [esp + 0x2168], 0x36
call fcn.00404600
lea ecx, [esp + 0x80]
mov byte [esp + 0x2168], 0x2a
call fcn.00401d40
push ecx
mov dword [esp + 0x24], esp
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
call fcn.00403aa0
add esp, 4
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x78]
push ecx
mov ebx, 0x4bf028
call fcn.00404520
add esp, 8
mov byte [esp + 0x2168], 0x37
call fcn.00404600
lea ecx, [esp + 0x74]
mov byte [esp + 0x2168], 0x2a
call fcn.00401d40
mov eax, dword [esp + 0x14]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
call fcn.00403aa0
add esp, 4
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x8c]
push eax
mov ebx, 0x4bf1a4
call fcn.00404520
add esp, 8
mov byte [esp + 0x2168], 0x38
call fcn.00404600
lea ecx, [esp + 0x88]
mov byte [esp + 0x2168], 0x2a
call fcn.00401d40
mov eax, dword [esp + 0x14]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
call fcn.00403aa0
add esp, 4
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0xa4]
push edx
mov ebx, 0x4bebf8
call fcn.00404520
add esp, 8
mov byte [esp + 0x2168], 0x39
call fcn.00404600
lea ecx, [esp + 0xa0]
mov byte [esp + 0x2168], 0x2a
call fcn.00401d40
mov eax, dword [esp + 0x14]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
call fcn.00403aa0
add esp, 4
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x94]
push ecx
mov ebx, 0x4bf1bc
call fcn.00404520
add esp, 8
mov byte [esp + 0x2168], 0x3a
call fcn.00404600
lea ecx, [esp + 0x90]
mov byte [esp + 0x2168], 0x2a
call fcn.00401d40
mov eax, dword [esp + 0x14]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
call fcn.00403aa0
add esp, 4
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0xb4]
push eax
mov ebx, 0x4bf1d4
call fcn.00404520
add esp, 8
mov byte [esp + 0x2168], 0x3b
call fcn.00404600
lea ecx, [esp + 0xb0]
mov byte [esp + 0x2168], 0x2a
call fcn.00401d40
mov eax, dword [esp + 0x14]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
call fcn.00403aa0
add esp, 4
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x9c]
push edx
mov ebx, 0x4bf1ec
call fcn.00404520
add esp, 8
mov byte [esp + 0x2168], 0x3c
call fcn.00404600
lea ecx, [esp + 0x98]
mov byte [esp + 0x2168], 0x2a
call fcn.00401d40
mov eax, dword [esp + 0x14]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
call fcn.00403aa0
add esp, 4
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x80]
push ecx
mov ebx, 0x4bf218
call fcn.00404520
add esp, 8
mov byte [esp + 0x2168], 0x3d
call fcn.00404600
lea ecx, [esp + 0x7c]
mov byte [esp + 0x2168], 0x2a
call fcn.00401d40
mov edx, dword [esp + 0x14]
push 0
push edx
call fcn.00403e90
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x90]
push ecx
mov ebx, 0x4beca0
call fcn.00404520
add esp, 0x10
mov byte [esp + 0x2168], 0x3e
call fcn.00404600
lea ecx, [esp + 0x84]
mov byte [esp + 0x2168], 0x2a
call fcn.00401d40
mov edx, dword [esp + 0x14]
push 0
push edx
call fcn.00403e90
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x98]
push ecx
mov ebx, 0x4bf228
call fcn.00404520
add esp, 0x10
mov byte [esp + 0x2168], 0x3f
call fcn.00404600
lea ecx, [esp + 0x8c]
mov byte [esp + 0x2168], 0x2a
call fcn.00401d40
mov edx, dword [esp + 0x14]
push 0
push edx
call fcn.00403e90
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0xa0]
push ecx
mov ebx, 0x4bf028
call fcn.00404520
add esp, 0x10
mov byte [esp + 0x2168], 0x40
call fcn.00404600
lea ecx, [esp + 0x94]
mov byte [esp + 0x2168], 0x2a
call fcn.00401d40
mov eax, dword [esp + 0x14]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
call fcn.00403aa0
add esp, 4
lea edx, [esp + 0x58]
push edx
lea eax, [esp + 0xa0]
push eax
mov ebx, 0x4bebf8
call fcn.00404520
add esp, 8
mov byte [esp + 0x2168], 0x41
call fcn.00404600
lea ecx, [esp + 0x9c]
mov byte [esp + 0x2168], 0x2a
call fcn.00401d40
mov eax, dword [esp + 0x14]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
call fcn.00403aa0
add esp, 4
lea ecx, [esp + 0x58]
push ecx
lea edx, [esp + 0x50]
push edx
mov ebx, 0x4bf1a4
call fcn.00404520
add esp, 8
mov byte [esp + 0x2168], 0x42
call fcn.00404600
lea ecx, [esp + 0x4c]
mov byte [esp + 0x2168], 0x2a
call fcn.00401d40
mov eax, dword [esp + 0x14]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
call fcn.00403aa0
add esp, 4
lea eax, [esp + 0x44]
push eax
mov ecx, str.SoftwareBaofengStormPlayerUserConfigDirectShow
call fcn.00402120
mov edi, dword [sym.imp.SHLWAPI.dll_SHGetValueW]
mov eax, 4
lea ecx, [esp + 0x68]
push ecx
mov ecx, dword [esp + 0x48]
lea edx, [esp + 0x74]
push edx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
lea eax, [esp + 0x74]
push eax
push str.BHDState
push ecx
push SysReAllocStringLen
xor bl, bl
mov dword [esp + 0x88], 0
call edi
test eax, eax
jne 0x426e32
mov bl, 1
lea edx, [esp + 0x68]
push edx
mov edx, dword [esp + 0x48]
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x74]
push ecx
push str.EnableHRTF
push edx
xor esi, esi
push SysReAllocStringLen
mov byte [esp + 0x3f], 0
mov dword [esp + 0x74], esi
call edi
test eax, eax
jne 0x426e66
mov byte [esp + 0x27], 1
lea eax, [esp + 0x68]
push eax
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x74]
push edx
push str.HRTFBtnState
push eax
push SysReAllocStringLen
mov byte [esp + 0x3e], 0
mov dword [esp + 0x50], esi
call edi
cmp eax, esi
jne 0x426e98
mov byte [esp + 0x26], 1
mov esi, dword [esp + 0x44]
push esi
push SysReAllocStringLen
call dword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
cmp eax, 5
jne 0x426f13
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0xf8]
push edx
mov dword [esp + 0x54], 0x202
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
push esi
push str.CURRENT_USER
push str._s_s
lea eax, [esp + 0x1960]
push 0x800
push eax
call fcn.00492772
add esp, 0x14
push 0xf003f
lea ecx, [esp + 0xf8]
push ecx
push 2
lea edi, [esp + 0x1960]
call fcn.004051a0
test eax, eax
je 0x426f13
push esi
push SysReAllocStringLen
call dword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
test bl, bl
je 0x426f2d
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x44]
push edx
mov ebx, str.BHDState
call fcn.00404800
add esp, 4
cmp byte [esp + 0x27], 0
je 0x426f4a
mov eax, dword [esp + 0x5c]
mov esi, dword [esp + 0x44]
push eax
mov ebx, str.EnableHRTF
call fcn.00404800
add esp, 4
cmp byte [esp + 0x26], 0
je 0x426f67
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x44]
push ecx
mov ebx, str.HRTFBtnState
call fcn.00404800
add esp, 4
mov esi, dword [sym.imp.SHLWAPI.dll_SHDeleteValueW]
push str.medialibrary_runtimes
push str.SoftwareBaofengStormPlayerUserConfig
push SysReAllocStringLen
call esi
push str.medialibrary_quitimes
push str.SoftwareBaofengStormPlayerUserConfig
push SysReAllocStringLen
call esi
push str.JisuOpen
mov esi, str.SoftwareBaofengStormPlayerUserConfig
mov edi, SysReAllocStringLen
call fcn.00404940
add esp, 4
push str.JiSuIntroduction
call fcn.00404940
add esp, 4
push str.TipsJiSuOpen
call fcn.00404940
add esp, 4
push str.BreeezeWelcomePageShow
call fcn.00404940
add esp, 4
push str.AutoEnterBreezeAfterPlayListOver
call fcn.00404940
add esp, 4
push str.DefaultBreezeMode
call fcn.00404940
add esp, 4
push str.BreezeShowMode
call fcn.00404940
add esp, 4
push str.BreezeRememberChoice
call fcn.00404940
add esp, 4
push str.RememberSubtitleSettings
call fcn.00404940
add esp, 4
push str.ShowMode
call fcn.00404940
add esp, 4
push str.M_FontName
call fcn.00404940
add esp, 4
push str.M_FontSize
call fcn.00404940
add esp, 4
push str.M_FontColor
call fcn.00404940
add esp, 4
push str.M_FontBColor
call fcn.00404940
add esp, 4
push str.M_FontSColor
call fcn.00404940
add esp, 4
push str.M_Position
call fcn.00404940
add esp, 4
push str.V_FontName
call fcn.00404940
add esp, 4
push str.V_FontSize
call fcn.00404940
add esp, 4
push str.V_FontColor
call fcn.00404940
add esp, 4
push str.V_FontBColor
call fcn.00404940
add esp, 4
push str.V_FontSColor
call fcn.00404940
add esp, 4
push str.V_Position
call fcn.00404940
add esp, 4
push str.BarrageSettingFont
call fcn.00404940
add esp, 4
push str.BarrageSettingMode
call fcn.00404940
add esp, 4
push str.BarrageSettingTransparency
call fcn.00404940
add esp, 4
push str.BarrageSettingColor
call fcn.00404940
add esp, 4
push str.BarrageWindowHide
call fcn.00404940
add esp, 4
push str.PLShowType
call fcn.00404940
add esp, 4
push str.FirstUserCustomPictureSkin
call fcn.00404940
add esp, 4
push str.PlayOrder
call fcn.00404940
add esp, 4
lea esi, [esp + 0x18]
call fcn.00401d20
lea edx, [esp + 0x64]
push edx
lea eax, [esp + 0x50]
push eax
mov ebx, str.BaofengStormPlayer_tempBFVCenter__yf25__.exe
mov byte [esp + 0x2170], 0x44
call fcn.00404520
add esp, 8
mov edi, esi
mov byte [esp + 0x2168], 0x45
call fcn.00404600
lea ecx, [esp + 0x4c]
mov byte [esp + 0x2168], 0x44
call fcn.00401d40
mov eax, dword [esp + 0x18]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
call fcn.00403aa0
add esp, 4
call fcn.00404d90
test al, al
jne 0x4271b7
call fcn.00404de0
test al, al
je 0x4272e5
call fcn.00404eb0
test al, al
jne 0x4272e5
call fcn.00404f00
test al, al
jne 0x4272e5
call fcn.00406470
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x716]
push edx
mov word [esp + 0x718], cx
call fcn.004950a0
add esp, 0xc
push 0x104
lea eax, [esp + 0x710]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x710]
call fcn.00402120
mov edx, str.driversBFDrv.sys
lea eax, [esp + 0x10]
mov byte [esp + 0x2168], 0x46
call fcn.0040a4e0
mov eax, dword [esp + 0x10]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov esi, esp
call fcn.004046f0
add eax, 0x10
mov dword [esi], eax
call fcn.00403aa0
add esp, 4
test eax, eax
je 0x427364
lea esi, [esp + 0x1c]
call fcn.00401d20
mov edx, 0x4bb82c
mov edi, esi
mov byte [esp + 0x2168], 0x47
call fcn.004020e0
lea esi, [esp + 0x2c]
call fcn.00401d20
mov byte [esp + 0x2168], 0x48
mov edx, dword [esp + 0x10]
push edx
push str.BFDrv_DeleteFile__s_is_OK
mov edi, esi
call fcn.00402360
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea esi, [esp + 0x30]
mov edi, eax
call fcn.00401d20
mov byte [esp + 0x2168], 0x49
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
push edi
push 0x4bb834
push str.__s___TID:_u____s____s__n
mov edi, esi
call fcn.00402360
mov edx, dword [esp + 0x44]
add esp, 0x14
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov ecx, esi
call fcn.00401d40
lea ecx, [esp + 0x2c]
call fcn.00401d40
lea ecx, [esp + 0x1c]
call fcn.00401d40
lea ecx, [esp + 0x10]
call fcn.00401d40
lea ecx, [esp + 0x18]
call fcn.00401d40
lea ecx, [esp + 0x44]
call fcn.00401d40
lea ecx, [esp + 0x14]
call fcn.00401d40
lea ecx, [esp + 0x40]
call fcn.00401d40
lea ecx, [esp + 0x60]
call fcn.00401d40
lea ecx, [esp + 0x58]
call fcn.00401d40
lea ecx, [esp + 0x54]
call fcn.00401d40
lea ecx, [esp + 0x3c]
call fcn.00401d40
lea ecx, [esp + 0x34]
call fcn.00401d40
lea ecx, [esp + 0x48]
call fcn.00401d40
lea ecx, [esp + 0x64]
call fcn.00401d40
lea ecx, [esp + 0x50]
call fcn.00401d40
lea ecx, [esp + 0x28]
call fcn.00401d40
mov eax, 1
jmp 0x42748a
lea esi, [esp + 0x30]
call fcn.00401d20
mov edx, 0x4bb830
mov edi, esi
mov byte [esp + 0x2168], 0x4a
call fcn.004020e0
lea esi, [esp + 0x2c]
call fcn.00401d20
mov byte [esp + 0x2168], 0x4b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [esp + 0x14]
push eax
push str.BFDrv_DeleteFile__s_Faild__d____n
mov edi, esi
call fcn.00402360
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea esi, [esp + 0x1c]
mov edi, eax
call fcn.00401d20
mov byte [esp + 0x2168], 0x4c
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
push ecx
push edx
push edi
push 0x4bb834
push str.__s___TID:_u____s____s__n
mov edi, esi
call fcn.00402360
mov eax, dword [esp + 0x30]
add esp, 0x14
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov ecx, esi
call fcn.00401d40
lea ecx, [esp + 0x2c]
call fcn.00401d40
lea ecx, [esp + 0x30]
call fcn.00401d40
lea ecx, [esp + 0x10]
call fcn.00401d40
lea ecx, [esp + 0x18]
call fcn.00401d40
lea ecx, [esp + 0x44]
call fcn.00401d40
lea ecx, [esp + 0x14]
call fcn.00401d40
lea ecx, [esp + 0x40]
call fcn.00401d40
lea ecx, [esp + 0x60]
call fcn.00401d40
lea ecx, [esp + 0x58]
call fcn.00401d40
lea ecx, [esp + 0x54]
call fcn.00401d40
lea ecx, [esp + 0x3c]
call fcn.00401d40
lea ecx, [esp + 0x34]
call fcn.00401d40
lea ecx, [esp + 0x48]
call fcn.00401d40
lea ecx, [esp + 0x64]
call fcn.00401d40
lea ecx, [esp + 0x50]
call fcn.00401d40
lea ecx, [esp + 0x28]
call fcn.00401d40
or eax, 0xffffffff
mov ecx, dword [esp + 0x2160]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2148]
xor ecx, esp
call fcn.004912db
mov esp, ebp
pop ebp
ret 4