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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ed93b
mov eax, dword fs:[0]
push eax
mov eax, 0x165c
call fcn.004d34b0
mov eax, dword [0x521390]
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 esi, ecx
mov dword [ebp - 0x1634], esi
add esi, 0x23c
lea eax, [ebp - 0x163c]
push esi
push eax
mov ebx, str.StormPlayer.exe
mov dword [ebp - 0x1650], esi
call fcn.0045c1d0
lea ecx, [ebp - 0x1668]
push esi
push ecx
mov ebx, 0x4fb970
mov dword [ebp - 4], 0
call fcn.0045c1d0
lea edx, [ebp - 0x1654]
push esi
push edx
mov ebx, str.uninst.exe
mov byte [ebp - 4], 1
call fcn.0045c1d0
mov byte [ebp - 4], 2
mov eax, dword [esi]
push 0x5c
push eax
call fcn.004ce618
add esp, 0x20
test eax, eax
jne 0x48a831
or eax, 0xffffffff
jmp 0x48a835
sub eax, dword [esi]
sar eax, 1
lea ecx, [ebp - 0x164c]
mov edx, esi
call fcn.0045ccb0
push 1
push 0x19
lea eax, [ebp - 0x218]
push eax
push 0
mov byte [ebp - 4], 3
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea ecx, [ebp - 0x1648]
push ecx
mov ecx, 0x4fde14
call fcn.0045ab70
lea edx, [ebp - 0x1660]
push edx
mov ecx, 0x4fde28
mov byte [ebp - 4], 4
call fcn.0045ab70
lea eax, [ebp - 0x1658]
push eax
mov ecx, 0x4fde3c
mov byte [ebp - 4], 5
call fcn.0045ab70
push 0
mov byte [ebp - 4], 6
call dword [sym.imp.ole32.dll_CoInitialize]
mov ecx, dword [ebp - 0x164c]
mov edi, dword [ebp - 0x163c]
push 0
push ecx
mov ecx, dword [ebp - 0x1648]
lea edx, [ebp - 0x218]
push edx
xor edx, edx
mov ebx, 0x4fde54
call fcn.00495f80
test eax, eax
jne 0x48a8ed
mov edi, dword [ebp - 0x1634]
add edi, 0x274
lea eax, [ebp - 0x1630]
mov dword [ebp - 0x1630], 0x1389
call fcn.0047d470
mov eax, dword [0x5284a0]
cmp dword [eax + 0x90], 0
je 0x48a9cb
lea ecx, [ebp - 0x1630]
push esi
push ecx
mov ebx, 0x4fb994
call fcn.0045c1d0
add esp, 8
lea edx, [ebp - 0x1640]
push edx
mov ecx, 0x4fde60
mov byte [ebp - 4], 7
call fcn.0045ab70
mov byte [ebp - 4], 8
mov esi, dword [ebp - 0x164c]
mov ecx, dword [ebp - 0x1640]
mov edi, dword [ebp - 0x1630]
push 0
push esi
lea eax, [ebp - 0x218]
push eax
mov edx, str._DESKTOP
mov ebx, 0x4fde88
call fcn.00495f80
test eax, eax
jne 0x48a97d
mov edi, dword [ebp - 0x1634]
add edi, 0x274
lea eax, [ebp - 0x162c]
mov dword [ebp - 0x162c], 0x138a
call fcn.0047d470
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x1640]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x48a9a3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x1630]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x48a9d1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x48a9d1
mov esi, dword [ebp - 0x164c]
push 0x104
lea ecx, [ebp - 0x218]
push 0
push ecx
call fcn.004cfd40
add esp, 0xc
push 1
push 0x1a
lea edx, [ebp - 0x218]
push edx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x48aa2e
lea edi, [ebp - 0x218]
add edi, 0xfffffffe
jmp 0x48aa10
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x48aa10
mov ecx, 0x15
mov esi, 0x500d50
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x164c]
mov ecx, dword [ebp - 0x1648]
mov edi, dword [ebp - 0x163c]
push 0
push esi
lea eax, [ebp - 0x218]
push eax
xor edx, edx
mov ebx, 0x4fde54
call fcn.00495f80
test eax, eax
jne 0x48aa75
mov edi, dword [ebp - 0x1634]
add edi, 0x274
lea eax, [ebp - 0x162c]
mov dword [ebp - 0x162c], 0x138b
call fcn.0047d470
push 0x104
lea ecx, [ebp - 0x218]
push 0
push ecx
call fcn.004cfd40
add esp, 0xc
push 1
push 0x17
lea edx, [ebp - 0x218]
push edx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp - 0x1638]
push eax
lea ecx, [ebp - 0x218]
call fcn.0045ab70
lea ecx, [ebp - 0x1638]
push ecx
lea edx, [ebp - 0x1630]
push edx
mov ebx, 0x4f8eb8
mov byte [ebp - 4], 9
call fcn.0045c1d0
push eax
lea eax, [ebp - 0x162c]
push eax
mov ebx, 0x4fde54
mov byte [ebp - 4], 0xa
call fcn.0045c1d0
add esp, 0x10
lea edi, [ebp - 0x1638]
mov byte [ebp - 4], 0xb
call fcn.0045c2b0
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x162c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x48ab1a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x1630]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x48ab40
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x1638]
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov eax, dword [ebp - 0x1638]
test eax, eax
je 0x48ab7c
mov ecx, dword [ebp - 0x1648]
mov edi, dword [ebp - 0x163c]
push str.Baofeng.StormPlayer.WIN7APPID
push esi
push eax
xor edx, edx
mov ebx, 0x4fde54
call fcn.00495f80
test eax, eax
jne 0x48ab9d
mov edi, dword [ebp - 0x1634]
add edi, 0x274
lea eax, [ebp - 0x162c]
mov dword [ebp - 0x162c], 0x138c
call fcn.0047d470
mov eax, dword [ebp - 0x1638]
test eax, eax
je 0x48abc7
mov ecx, dword [ebp - 0x1660]
mov edi, dword [ebp - 0x1668]
push 0
push esi
push eax
xor edx, edx
mov ebx, 0x4fded0
call fcn.00495f80
test eax, eax
jne 0x48abe8
mov edi, dword [ebp - 0x1634]
add edi, 0x274
lea eax, [ebp - 0x162c]
mov dword [ebp - 0x162c], 0x138d
call fcn.0047d470
mov eax, dword [ebp - 0x1638]
test eax, eax
je 0x48ac12
mov ecx, dword [ebp - 0x1658]
mov edi, dword [ebp - 0x1654]
push 0
push esi
push eax
xor edx, edx
mov ebx, 0x4fdee4
call fcn.00495f80
test eax, eax
jne 0x48ac33
mov edi, dword [ebp - 0x1634]
add edi, 0x274
lea eax, [ebp - 0x162c]
mov dword [ebp - 0x162c], 0x138e
call fcn.0047d470
call dword [sym.imp.ole32.dll_CoUninitialize]
lea edx, [ebp - 0x338]
push edx
mov dword [ebp - 0x338], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [ebp - 0x334], 6
jne 0x48ad00
cmp dword [ebp - 0x330], 1
jne 0x48ad00
lea eax, [ebp - 0x1638]
push eax
lea ecx, [ebp - 0x162c]
push ecx
mov ebx, 0x4f8eb8
call fcn.0045c1d0
lea edx, [ebp - 0x1648]
push edx
lea ecx, [ebp - 0x1630]
push ecx
mov ebx, eax
mov byte [ebp - 4], 0xc
call fcn.0045c120
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x162c]
add eax, 0xfffffff0
add esp, 0x10
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x48acc4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x1630]
push 0
push 0
push 0
push ecx
push str.taskbarpin
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov eax, dword [ebp - 0x1630]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x48ad00
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x163c]
push ecx
push 0x4f5b64
mov edi, str.SoftwareMicrosoftWindowsCurrentVersionApp_PathsStormPlayer.exe
mov ebx, reloc.OLEAUT32.dll_SysReAllocString
call fcn.0045c4c0
mov esi, dword [ebp - 0x1634]
add esp, 8
test al, al
jne 0x48ad43
lea edi, [esi + 0x274]
lea eax, [ebp - 0x162c]
mov dword [ebp - 0x162c], 0x138f
call fcn.0047d470
push 0x4fde54
push str.DisplayName
mov edi, str.SoftwareMicrosoftWindowsCurrentVersionUninstallStormPlayer
call fcn.0045c4c0
add esp, 8
test al, al
jne 0x48ad79
lea edi, [esi + 0x274]
lea eax, [ebp - 0x162c]
mov dword [ebp - 0x162c], 0x1390
call fcn.0047d470
mov edx, dword [ebp - 0x1654]
push edx
push str.UninstallString
mov edi, str.SoftwareMicrosoftWindowsCurrentVersionUninstallStormPlayer
call fcn.0045c4c0
add esp, 8
test al, al
jne 0x48adb1
lea edi, [esi + 0x274]
lea eax, [ebp - 0x162c]
mov dword [ebp - 0x162c], 0x1391
call fcn.0047d470
mov eax, dword [ebp - 0x163c]
push eax
push str.DisplayIcon
mov edi, str.SoftwareMicrosoftWindowsCurrentVersionUninstallStormPlayer
call fcn.0045c4c0
add esp, 8
test al, al
jne 0x48ade9
lea edi, [esi + 0x274]
lea eax, [ebp - 0x162c]
mov dword [ebp - 0x162c], 0x1392
call fcn.0047d470
push str.5.15.0730.1111
push str.DisplayVersion
mov edi, str.SoftwareMicrosoftWindowsCurrentVersionUninstallStormPlayer
call fcn.0045c4c0
add esp, 8
test al, al
jne 0x48ae1f
lea edi, [esi + 0x274]
lea eax, [ebp - 0x162c]
mov dword [ebp - 0x162c], 0x1393
call fcn.0047d470
push str.http:__www.Baofeng.com
push str.URLInfoAbout
mov edi, str.SoftwareMicrosoftWindowsCurrentVersionUninstallStormPlayer
call fcn.0045c4c0
add esp, 8
test al, al
jne 0x48ae55
lea edi, [esi + 0x274]
lea eax, [ebp - 0x162c]
mov dword [ebp - 0x162c], 0x1394
call fcn.0047d470
push 0x4fdff4
push str.Publisher
mov edi, str.SoftwareMicrosoftWindowsCurrentVersionUninstallStormPlayer
call fcn.0045c4c0
add esp, 8
test al, al
jne 0x48ae8b
lea edi, [esi + 0x274]
lea eax, [ebp - 0x162c]
mov dword [ebp - 0x162c], 0x1395
call fcn.0047d470
push 4
lea ecx, [ebp - 0x1630]
push ecx
push 4
push str.InstallActiveFlag
push str.SoftwareBaofengStormPlayerUserConfig
push SysReAllocStringLen
mov dword [ebp - 0x1630], 1
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
mov esi, dword [sym.imp.ADVAPI32.dll_GetUserNameW]
mov ebx, eax
cmp ebx, 5
jne 0x48af95
lea edx, [ebp - 0x162c]
push edx
lea eax, [ebp - 0x420]
push eax
mov dword [ebp - 0x162c], 0x202
call esi
push str.SoftwareBaofengStormPlayerUserConfig
push str.CURRENT_USER
push str._s_s
lea ecx, [ebp - 0xe28]
push 0x800
push ecx
call fcn.004ce646
add esp, 0x14
push 0xf003f
lea edx, [ebp - 0x420]
push edx
push 2
lea edi, [ebp - 0xe28]
call fcn.0045c720
test eax, eax
je 0x48af99
push 4
lea eax, [ebp - 0x1630]
push eax
push 4
push str.InstallActiveFlag
push str.SoftwareBaofengStormPlayerUserConfig
push SysReAllocStringLen
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
lea ecx, [ebp - 0x1640]
push ecx
lea edx, [ebp - 0x628]
push edx
mov ebx, eax
mov dword [ebp - 0x1640], 0x202
call esi
push str.SoftwareBaofengStormPlayerUserConfig
push str.CURRENT_USER
push str._s_s
lea eax, [ebp - 0x1628]
push 0x800
push eax
call fcn.004ce646
add esp, 0x14
push 2
lea ecx, [ebp - 0x628]
push ecx
push 3
lea edi, [ebp - 0x1628]
call fcn.0045c720
test ebx, ebx
je 0x48afba
mov edi, dword [ebp - 0x1634]
add edi, 0x274
lea eax, [ebp - 0x162c]
mov dword [ebp - 0x162c], 0x1396
call fcn.0047d470
push 4
lea edx, [ebp - 0x1630]
push edx
push 4
push str.FirstHideBox
push str.SoftwareBaofengStormPlayerUserConfig
push SysReAllocStringLen
mov dword [ebp - 0x1630], 1
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
mov ebx, eax
cmp ebx, 5
jne 0x48b0be
lea eax, [ebp - 0x162c]
push eax
lea ecx, [ebp - 0x628]
push ecx
mov dword [ebp - 0x162c], 0x202
call esi
push str.SoftwareBaofengStormPlayerUserConfig
push str.CURRENT_USER
push str._s_s
lea edx, [ebp - 0x1628]
push 0x800
push edx
call fcn.004ce646
add esp, 0x14
push 0xf003f
lea eax, [ebp - 0x628]
push eax
push 2
lea edi, [ebp - 0x1628]
call fcn.0045c720
test eax, eax
je 0x48b0be
push 4
lea ecx, [ebp - 0x1630]
push ecx
push 4
push str.FirstHideBox
push str.SoftwareBaofengStormPlayerUserConfig
push SysReAllocStringLen
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
lea edx, [ebp - 0x1640]
mov ebx, eax
push edx
lea eax, [ebp - 0x420]
push eax
mov dword [ebp - 0x1640], 0x202
call esi
push str.SoftwareBaofengStormPlayerUserConfig
push str.CURRENT_USER
push str._s_s
lea ecx, [ebp - 0xe28]
push 0x800
push ecx
call fcn.004ce646
add esp, 0x14
push 2
lea edx, [ebp - 0x420]
push edx
push 3
lea edi, [ebp - 0xe28]
call fcn.0045c720
test ebx, ebx
sete al
test al, al
jne 0x48b0e8
mov edi, dword [ebp - 0x1634]
add edi, 0x274
lea eax, [ebp - 0x1644]
mov dword [ebp - 0x1644], 0x1397
call fcn.0047d470
mov eax, dword [0x5284a0]
cmp dword [eax + 0x28], 0
je 0x48b12c
push 1
mov ebx, str.InstallType
mov esi, str.SoftwareBaofengStormPlayerUserConfig
call fcn.0045c450
add esp, 4
test al, al
jne 0x48b12c
mov edi, dword [ebp - 0x1634]
add edi, 0x274
lea eax, [ebp - 0x1644]
mov dword [ebp - 0x1644], 0x1398
call fcn.0047d470
push str.URL:_Storm_Download_Protocol
push 0x4f5b64
mov edi, str.StormDL
mov ebx, SysReAllocStringLen
call fcn.0045c4c0
push 0x4f5b64
push str.URL_Protocol
call fcn.0045c4c0
mov ecx, dword [ebp - 0x1650]
push ecx
lea edx, [ebp - 0x1664]
push edx
mov ebx, 0x4fba18
call fcn.0045c1d0
lea eax, [ebp - 0x1644]
push 0x4f8ee0
push eax
lea ecx, [ebp - 0x1664]
mov byte [ebp - 4], 0xd
call fcn.0046a480
push eax
lea ecx, [ebp - 0x1650]
push ecx
mov ebx, 0x4f8ee0
mov byte [ebp - 4], 0xe
call fcn.0045c1d0
push eax
lea edx, [ebp - 0x165c]
push edx
mov ebx, str.__TypeDZone__DZUrl__1___FromWeb
mov byte [ebp - 4], 0xf
call fcn.0045c1d0
add esp, 0x30
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x1650]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x48b1dc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x1644]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x48b202
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x165c]
push ecx
push 0x4f5b64
mov edi, str.StormDL_shellopencommand
mov ebx, SysReAllocStringLen
call fcn.0045c4c0
mov edx, dword [0x5284a0]
add esp, 8
cmp dword [edx + 0x28], 0
jne 0x48b265
push 1
mov ebx, str.AutoRun
mov esi, str.SoftwareBaofengStormPlayerConfigRepairAutoRun
call fcn.0045c450
add esp, 4
test al, al
jne 0x48b265
mov edi, dword [ebp - 0x1634]
add edi, 0x274
lea eax, [ebp - 0x162c]
mov dword [ebp - 0x162c], 0x1399
call fcn.0047d470
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x165c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x48b28b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x1664]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x48b2b1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x1638]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x48b2d7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x1658]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x48b2fd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x1660]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x48b323
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x1648]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x48b349
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x164c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x48b36f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x1654]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x48b395
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x1668]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x48b3bb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x163c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x48b3e4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
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.004cbf11
mov esp, ebp
pop ebp
ret