Function at 0x4860d0
Capabilities:
Check os version
Create directory
Create process on windows
Get common file path
Get session user name
Get startup folder
Persist via app paths registry key
Persist via default file association registry key
Set registry value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x50ac39
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1874
call fcn.004e91d0
mov eax, dword [0x5522c0]
xor eax, esp
mov dword [esp + 0x1870], eax
push ebx
push esi
push edi
mov eax, dword [0x5522c0]
xor eax, esp
push eax
lea eax, [esp + 0x1888]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x1c], esi
add esi, 0xb4
lea eax, [esp + 0x28]
push esi
push eax
mov ebx, 0x5200c0
mov dword [esp + 0x38], esi
call fcn.0045ce50
lea ecx, [esp + 0x58]
push esi
push ecx
mov ebx, 0x521030
mov dword [esp + 0x18a0], 0
call fcn.0045ce50
lea edx, [esp + 0x4c]
push esi
push edx
mov ebx, str.uninst.exe
mov byte [esp + 0x18a8], 1
call fcn.0045ce50
lea eax, [esp + 0x70]
push esi
push eax
mov ebx, 0x521084
mov byte [esp + 0x18b0], 2
call fcn.0045ce50
lea ecx, [esp + 0x58]
push esi
push ecx
mov ebx, 0x521054
mov byte [esp + 0x18b8], 3
call fcn.0045ce50
mov byte [esp + 0x18b8], 4
mov eax, dword [esi]
push 0x5c
push eax
call fcn.004e7735
add esp, 0x30
test eax, eax
jne 0x4861b6
or eax, 0xffffffff
jmp 0x4861ba
sub eax, dword [esi]
sar eax, 1
lea ecx, [esp + 0x2c]
mov edx, esi
call fcn.0045d990
push 1
push 0x19
lea edx, [esp + 0x64]
push edx
push 0
mov byte [esp + 0x18a0], 5
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [esp + 0x34]
push eax
mov ecx, 0x5258ec
call fcn.00459600
lea ecx, [esp + 0x54]
push ecx
mov ecx, 0x525900
mov byte [esp + 0x1894], 6
call fcn.00459600
lea edx, [esp + 0x40]
push edx
mov ecx, 0x525914
mov byte [esp + 0x1894], 7
call fcn.00459600
lea eax, [esp + 0x4c]
push eax
mov ecx, 0x52592c
mov byte [esp + 0x1894], 8
call fcn.00459600
lea ecx, [esp + 0x24]
push ecx
mov ecx, 0x525940
mov byte [esp + 0x1894], 9
call fcn.00459600
push 0
mov byte [esp + 0x1894], 0xa
call dword [sym.imp.ole32.dll_CoInitialize]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x28]
push 0
push edx
lea eax, [esp + 0x64]
push eax
xor edx, edx
mov ebx, 0x525954
call fcn.00492d00
test eax, eax
jne 0x486298
mov edi, dword [esp + 0x1c]
add edi, 0xb8
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x1389
call fcn.0048d550
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + 0xc8], 0
je 0x486308
lea edx, [esp + 0x18]
push esi
push edx
mov ebx, 0x521054
call fcn.0045ce50
add esp, 8
mov byte [esp + 0x1890], 0xb
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x18]
push 0
push eax
lea ecx, [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x30]
mov edx, 0x525960
mov ebx, 0x525974
call fcn.00492d00
test eax, eax
jne 0x48637a
mov edi, dword [esp + 0x1c]
add edi, 0xb8
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0x138a
call fcn.0048d550
jmp 0x48637f
mov ecx, dword [0x55ad8c]
cmp byte [ecx + 0xb9], 0
je 0x4863a7
lea edx, [esp + 0x18]
push esi
push edx
mov ebx, 0x521054
call fcn.0045ce50
add esp, 8
mov byte [esp + 0x1890], 0xc
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x18]
push 0
push eax
lea ecx, [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x30]
mov edx, 0x525960
mov ebx, 0x525974
call fcn.00492d00
test eax, eax
jne 0x48637a
mov edi, dword [esp + 0x1c]
add edi, 0xb8
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0x138a
call fcn.0048d550
jmp 0x48637f
call fcn.0048b9e0
mov byte [esp + 0x1890], 0xa
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
or ecx, 0xffffffff
lea edx, [eax + 0xc]
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4863a7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 1
push 0x1a
lea ecx, [esp + 0x474]
push ecx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x4863e8
lea edi, [esp + 0x46c]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4863d0
mov ecx, 0x15
mov esi, 0x527cf8
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x28]
push str.Baofeng.StormPlayer.WIN7APPID
push esi
lea edx, [esp + 0x474]
push edx
xor edx, edx
xor ebx, ebx
call fcn.00492d00
test eax, eax
jne 0x48642a
mov edi, dword [esp + 0x1c]
add edi, 0xb8
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0x138b
call fcn.0048d550
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0xc8], bl
je 0x486443
push 0
push esi
lea ecx, [esp + 0x474]
push ecx
jmp 0x48645c
mov edx, dword [0x55ad8c]
cmp byte [edx + 0xb9], bl
je 0x48648c
push 0
push esi
lea eax, [esp + 0x474]
push eax
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x44]
xor edx, edx
xor ebx, ebx
call fcn.00492d00
test eax, eax
jne 0x48648c
mov edi, dword [esp + 0x1c]
lea eax, [esp + 0x10]
add edi, 0xb8
mov dword [esp + 0x10], 0x139c
call fcn.0048d550
push 0x104
lea ecx, [esp + 0x60]
push 0
push ecx
call fcn.004e95e0
add esp, 0xc
push 1
push 0x17
lea edx, [esp + 0x64]
push edx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x60]
call fcn.00459600
push 5
push 0x5259bc
lea ebx, [esp + 0x28]
mov byte [esp + 0x1898], 0xd
call fcn.0045b450
mov ecx, dword [esp + 0x20]
mov edi, dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0
push ecx
call edi
push 6
push 0x5259c8
call fcn.0045b450
mov edx, dword [esp + 0x20]
push 0
push edx
call edi
mov eax, dword [esp + 0x20]
test eax, eax
je 0x486522
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x28]
push str.Baofeng.StormPlayer.WIN7APPID
push esi
push eax
xor edx, edx
mov ebx, 0x525954
call fcn.00492d00
test eax, eax
jne 0x48653d
mov edi, dword [esp + 0x1c]
add edi, 0xb8
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0x138c
call fcn.0048d550
mov eax, dword [esp + 0x20]
test eax, eax
je 0x486561
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x58]
push 0
push esi
push eax
xor edx, edx
mov ebx, 0x5259d8
call fcn.00492d00
test eax, eax
jne 0x48657c
mov edi, dword [esp + 0x1c]
add edi, 0xb8
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0x139a
call fcn.0048d550
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4865a0
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
push 0
push esi
push eax
xor edx, edx
mov ebx, 0x5259e4
call fcn.00492d00
test eax, eax
jne 0x4865bb
mov edi, dword [esp + 0x1c]
add edi, 0xb8
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0x138e
call fcn.0048d550
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4865df
mov ecx, dword [esp + 0x54]
mov edi, dword [esp + 0x50]
push 0
push esi
push eax
xor edx, edx
mov ebx, 0x5259f8
call fcn.00492d00
test eax, eax
jne 0x4865fa
mov edi, dword [esp + 0x1c]
add edi, 0xb8
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0x138d
call fcn.0048d550
mov eax, dword [esp + 0x20]
test eax, eax
je 0x48661e
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x38]
push 0
push esi
push eax
xor edx, edx
mov ebx, 0x525974
call fcn.00492d00
test eax, eax
jne 0x486639
mov edi, dword [esp + 0x1c]
add edi, 0xb8
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0x139b
call fcn.0048d550
call dword [sym.imp.ole32.dll_CoUninitialize]
lea eax, [esp + 0x264]
push eax
mov dword [esp + 0x268], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [esp + 0x268], 6
jne 0x4868df
cmp dword [esp + 0x26c], 1
jne 0x4868df
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x470]
call fcn.00459600
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x18]
push eax
mov ebx, 0x51d5c8
mov byte [esp + 0x1898], 0xe
call fcn.0045ce50
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x1c]
push edx
mov ebx, eax
mov byte [esp + 0x18a0], 0xf
call fcn.0045cda0
add esp, 0x10
lea edi, [esp + 0x18]
mov byte [esp + 0x1890], 0x10
call fcn.0045cf30
mov byte [esp + 0x1890], 0xf
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4866f6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1890], 0xe
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x48671e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x18]
mov esi, dword [sym.imp.SHELL32.dll_ShellExecuteW]
push 0
push 0
push 0
push ecx
push str.taskbarpin
push 0
call esi
mov byte [esp + 0x1890], 0xd
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 0x486760
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
add eax, 0xfffffff0
cmp byte [ecx + 0xc8], 0
je 0x486802
call fcn.0045d020
add eax, 0x10
mov dword [esp + 0x18], eax
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x14]
push eax
mov ebx, 0x51d5c8
mov byte [esp + 0x1898], 0x11
call fcn.0045ce50
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x20]
push edx
mov ebx, eax
mov byte [esp + 0x18a0], 0x12
call fcn.0045cda0
add esp, 0x10
lea edi, [esp + 0x18]
mov byte [esp + 0x1890], 0x13
call fcn.0045cf30
mov byte [esp + 0x1890], 0x12
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4867f5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1890], 0x11
jmp 0x486887
call fcn.0045d020
add eax, 0x10
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x14]
push edx
mov ebx, 0x51d5c8
mov byte [esp + 0x1898], 0x14
call fcn.0045ce50
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x20]
push edx
mov ebx, eax
mov byte [esp + 0x18a0], 0x15
call fcn.0045cda0
add esp, 0x10
lea edi, [esp + 0x18]
mov byte [esp + 0x1890], 0x16
call fcn.0045cf30
mov byte [esp + 0x1890], 0x15
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x48687f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1890], 0x14
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4868a7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [esp + 0x18]
push 0
push 0
push 0
push edi
push str.taskbarpin
push 0
call esi
lea eax, [edi - 0x10]
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [esp + 0x1890], 0xd
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4868df
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x28]
push ecx
push 0x51d754
mov edi, str.SoftwareMicrosoftWindowsCurrentVersionApp_PathsStormPlayer.exe
mov ebx, reloc.OLEAUT32.dll_SysReAllocString
call fcn.0045d1a0
mov esi, dword [esp + 0x24]
add esp, 8
test al, al
jne 0x48691a
lea edi, [esi + 0xb8]
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0x138f
call fcn.0048d550
push 0x525954
push str.DisplayName
mov edi, str.SoftwareMicrosoftWindowsCurrentVersionUninstallStormPlayer
call fcn.0045d1a0
add esp, 8
test al, al
jne 0x48694c
lea edi, [esi + 0xb8]
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0x1390
call fcn.0048d550
mov edx, dword [esp + 0x3c]
push edx
push str.UninstallString
mov edi, str.SoftwareMicrosoftWindowsCurrentVersionUninstallStormPlayer
call fcn.0045d1a0
add esp, 8
test al, al
jne 0x48697e
lea edi, [esi + 0xb8]
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0x1391
call fcn.0048d550
mov eax, dword [esp + 0x28]
push eax
push str.DisplayIcon
mov edi, str.SoftwareMicrosoftWindowsCurrentVersionUninstallStormPlayer
call fcn.0045d1a0
add esp, 8
test al, al
jne 0x4869b0
lea edi, [esi + 0xb8]
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0x1392
call fcn.0048d550
push str.5.36.0428.1111
push str.DisplayVersion
mov edi, str.SoftwareMicrosoftWindowsCurrentVersionUninstallStormPlayer
call fcn.0045d1a0
add esp, 8
test al, al
jne 0x4869e2
lea edi, [esi + 0xb8]
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0x1393
call fcn.0048d550
push str.http:__www.Baofeng.com
push str.URLInfoAbout
mov edi, str.SoftwareMicrosoftWindowsCurrentVersionUninstallStormPlayer
call fcn.0045d1a0
add esp, 8
test al, al
jne 0x486a14
lea edi, [esi + 0xb8]
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0x1394
call fcn.0048d550
push 0x525b0c
push str.Publisher
mov edi, str.SoftwareMicrosoftWindowsCurrentVersionUninstallStormPlayer
call fcn.0045d1a0
add esp, 8
test al, al
jne 0x486a46
lea edi, [esi + 0xb8]
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0x1395
call fcn.0048d550
push 4
lea ecx, [esp + 0x1c]
push ecx
push 4
push str.InstallActiveFlag
push str.SoftwareBaofengStormPlayerUserConfig
push SysReAllocString
mov dword [esp + 0x30], 1
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
mov ebx, eax
cmp ebx, 5
jne 0x486b4c
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x268]
push eax
mov dword [esp + 0x1c], 0x202
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
push str.SoftwareBaofengStormPlayerUserConfig
push str.CURRENT_USER
push str._s_s
lea ecx, [esp + 0x1088]
push 0x800
push ecx
call fcn.004e7763
add esp, 0x14
push 0xf003f
lea edx, [esp + 0x268]
push edx
push 2
lea edi, [esp + 0x1088]
call fcn.0045d400
test eax, eax
je 0x486b4c
push 4
lea eax, [esp + 0x1c]
push eax
push 4
push str.InstallActiveFlag
push str.SoftwareBaofengStormPlayerUserConfig
push SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x678]
push edx
mov ebx, eax
mov dword [esp + 0x18], 0x202
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
push str.SoftwareBaofengStormPlayerUserConfig
push str.CURRENT_USER
push str._s_s
lea eax, [esp + 0x888]
push 0x800
push eax
call fcn.004e7763
add esp, 0x14
push 2
lea ecx, [esp + 0x678]
push ecx
push 3
lea edi, [esp + 0x888]
call fcn.0045d400
test ebx, ebx
sete al
test al, al
jne 0x486b6c
lea edi, [esi + 0xb8]
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0x1396
call fcn.0048d550
cmp dword [esi + 0x14], 0
je 0x486ba5
push 1
mov ebx, str.InstallType
mov esi, str.SoftwareBaofengStormPlayerUserConfig
call fcn.0045d130
add esp, 4
test al, al
jne 0x486ba5
mov edi, dword [esp + 0x1c]
add edi, 0xb8
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0x1398
call fcn.0048d550
push str.URL:_Storm_Download_Protocol
push 0x51d754
mov edi, str.StormDL
mov ebx, SysReAllocString
call fcn.0045d1a0
push 0x51d754
push str.URL_Protocol
call fcn.0045d1a0
mov edx, dword [esp + 0x40]
push edx
lea eax, [esp + 0x5c]
push eax
mov ebx, 0x5210d8
call fcn.0045ce50
lea ecx, [esp + 0x2c]
push 0x51d5f0
push ecx
lea ecx, [esp + 0x68]
mov byte [esp + 0x18b0], 0x17
call fcn.0048d310
push eax
lea edx, [esp + 0x54]
push edx
mov ebx, 0x51d5f0
mov byte [esp + 0x18b8], 0x18
call fcn.0045ce50
push eax
lea eax, [esp + 0x70]
push eax
mov ebx, str.__TypeDZone__DZUrl__1___FromWeb
mov byte [esp + 0x18c0], 0x19
call fcn.0045ce50
add esp, 0x30
mov byte [esp + 0x1890], 0x1b
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x486c57
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1890], 0x1c
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x486c7f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x44]
push ecx
push 0x51d754
mov edi, str.StormDL_shellopencommand
mov ebx, SysReAllocString
call fcn.0045d1a0
mov edx, dword [esp + 0x24]
add esp, 8
cmp dword [edx + 0x14], 0
jne 0x486cd8
push 1
mov ebx, str.AutoRun
mov esi, str.SoftwareBaofengStormPlayerConfigRepairAutoRun
call fcn.0045d130
add esp, 4
test al, al
jne 0x486cd8
mov edi, dword [esp + 0x1c]
add edi, 0xb8
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0x1399
call fcn.0048d550
mov ebx, dword [sym.imp.SHLWAPI.dll_SHSetValueW]
push 4
lea eax, [esp + 0x1c]
push eax
push 4
push str.FirstHideBox
push str.SoftwareBaofengStormPlayerUserConfig
push SysReAllocString
mov dword [esp + 0x30], 0
call ebx
cmp eax, 5
jne 0x486dd6
mov esi, dword [sym.imp.ADVAPI32.dll_GetUserNameW]
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x678]
push edx
mov dword [esp + 0x38], 0x202
call esi
push str.SoftwareBaofengStormPlayerUserConfig
push str.CURRENT_USER
push str._s_s
lea eax, [esp + 0x888]
push 0x800
push eax
call fcn.004e7763
add esp, 0x14
push 0xf003f
lea ecx, [esp + 0x678]
push ecx
push 2
lea edi, [esp + 0x888]
call fcn.0045d400
test eax, eax
je 0x486dd6
push 4
lea edx, [esp + 0x1c]
push edx
push 4
push str.FirstHideBox
push str.SoftwareBaofengStormPlayerUserConfig
push SysReAllocString
call ebx
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x678]
push ecx
mov dword [esp + 0x1c], 0x202
call esi
push str.SoftwareBaofengStormPlayerUserConfig
push str.CURRENT_USER
push str._s_s
lea edx, [esp + 0x888]
push 0x800
push edx
call fcn.004e7763
add esp, 0x14
push 2
lea eax, [esp + 0x678]
push eax
push 3
lea edi, [esp + 0x888]
call fcn.0045d400
mov byte [esp + 0x1890], 0x17
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x486dfe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1890], 0xd
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x486e26
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1890], 0xa
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x486e4e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1890], 9
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x486e76
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1890], 8
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x486e9e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1890], 7
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x486ec6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1890], 6
mov eax, dword [esp + 0x54]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x486eee
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1890], 5
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x486f16
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1890], 4
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x486f3e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1890], 3
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 0x486f66
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1890], 2
mov eax, dword [esp + 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x486f8e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1890], 1
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x486fb6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1890], 0
mov eax, dword [esp + 0x50]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x486fde
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x1890], 0xffffffff
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x487009
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
mov ecx, dword [esp + 0x1888]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1870]
xor ecx, esp
call fcn.004e4900
mov esp, ebp
pop ebp
ret