Function at 0x478060
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 0x4edd3b
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, 0xc
lea eax, [ebp - 0x163c]
push esi
push eax
mov ebx, str.StormPlayer.exe
mov dword [ebp - 0x164c], esi
call fcn.0045c1d0
lea ecx, [ebp - 0x1660]
push esi
push ecx
mov ebx, 0x4fb970
mov dword [ebp - 4], 0
call fcn.0045c1d0
lea edx, [ebp - 0x1650]
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 0x4780fe
or eax, 0xffffffff
jmp 0x478102
sub eax, dword [esi]
sar eax, 1
lea ecx, [ebp - 0x1648]
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 - 0x1644]
push ecx
mov ecx, 0x4fde14
call fcn.0045ab70
lea edx, [ebp - 0x1664]
push edx
mov ecx, 0x4fde28
mov byte [ebp - 4], 4
call fcn.0045ab70
lea eax, [ebp - 0x165c]
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 - 0x1648]
mov edi, dword [ebp - 0x163c]
push 0
push ecx
mov ecx, dword [ebp - 0x1644]
lea edx, [ebp - 0x218]
push edx
xor edx, edx
mov ebx, 0x4fde54
call fcn.00495f80
test eax, eax
jne 0x4781b7
mov edi, dword [ebp - 0x1634]
add edi, 0x6c
lea eax, [ebp - 0x1630]
mov dword [ebp - 0x1630], 0x1389
call fcn.0047d470
mov eax, dword [ebp - 0x1634]
cmp dword [eax + 0x60], 0
je 0x478290
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 - 0x1648]
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 0x478242
mov edi, dword [ebp - 0x1634]
add edi, 0x6c
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 0x478268
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 0x478296
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x478296
mov esi, dword [ebp - 0x1648]
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 0x4782ee
lea edi, [ebp - 0x218]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4782d0
mov ecx, 0x15
mov esi, 0x500d50
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x1648]
mov ecx, dword [ebp - 0x1644]
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 0x478332
mov edi, dword [ebp - 0x1634]
add edi, 0x6c
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 0x4783d7
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 0x4783fd
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 0x478439
mov ecx, dword [ebp - 0x1644]
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 0x478457
mov edi, dword [ebp - 0x1634]
add edi, 0x6c
lea eax, [ebp - 0x162c]
mov dword [ebp - 0x162c], 0x138c
call fcn.0047d470
mov eax, dword [ebp - 0x1638]
test eax, eax
je 0x478481
mov ecx, dword [ebp - 0x1664]
mov edi, dword [ebp - 0x1660]
push 0
push esi
push eax
xor edx, edx
mov ebx, 0x4fded0
call fcn.00495f80
test eax, eax
jne 0x47849f
mov edi, dword [ebp - 0x1634]
add edi, 0x6c
lea eax, [ebp - 0x162c]
mov dword [ebp - 0x162c], 0x138d
call fcn.0047d470
mov eax, dword [ebp - 0x1638]
test eax, eax
je 0x4784c9
mov ecx, dword [ebp - 0x165c]
mov edi, dword [ebp - 0x1650]
push 0
push esi
push eax
xor edx, edx
mov ebx, 0x4fdee4
call fcn.00495f80
test eax, eax
jne 0x4784e7
mov edi, dword [ebp - 0x1634]
add edi, 0x6c
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 0x4785b4
cmp dword [ebp - 0x330], 1
jne 0x4785b4
lea eax, [ebp - 0x1638]
push eax
lea ecx, [ebp - 0x162c]
push ecx
mov ebx, 0x4f8eb8
call fcn.0045c1d0
lea edx, [ebp - 0x1644]
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 0x478578
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 0x4785b4
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 0x4785f4
lea edi, [esi + 0x6c]
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 0x478627
lea edi, [esi + 0x6c]
lea eax, [ebp - 0x162c]
mov dword [ebp - 0x162c], 0x1390
call fcn.0047d470
mov edx, dword [ebp - 0x1650]
push edx
push str.UninstallString
mov edi, str.SoftwareMicrosoftWindowsCurrentVersionUninstallStormPlayer
call fcn.0045c4c0
add esp, 8
test al, al
jne 0x47865c
lea edi, [esi + 0x6c]
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 0x478691
lea edi, [esi + 0x6c]
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 0x4786c4
lea edi, [esi + 0x6c]
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 0x4786f7
lea edi, [esi + 0x6c]
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 0x47872a
lea edi, [esi + 0x6c]
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 0x478834
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 0x478838
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 0x478856
mov edi, dword [ebp - 0x1634]
add edi, 0x6c
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 0x47895a
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 0x47895a
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 0x478981
mov edi, dword [ebp - 0x1634]
add edi, 0x6c
lea eax, [ebp - 0x162c]
mov dword [ebp - 0x162c], 0x1397
call fcn.0047d470
mov eax, dword [ebp - 0x1634]
cmp dword [eax + 4], 0
je 0x4789c3
push 1
mov ebx, str.InstallType
mov esi, str.SoftwareBaofengStormPlayerUserConfig
call fcn.0045c450
add esp, 4
test al, al
jne 0x4789c3
mov edi, dword [ebp - 0x1634]
add edi, 0x6c
lea eax, [ebp - 0x162c]
mov dword [ebp - 0x162c], 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 - 0x164c]
push ecx
lea edx, [ebp - 0x1654]
push edx
mov ebx, 0x4fba18
call fcn.0045c1d0
lea eax, [ebp - 0x162c]
push 0x4f8ee0
push eax
lea ecx, [ebp - 0x1654]
mov byte [ebp - 4], 0xd
call fcn.0046a480
push eax
lea ecx, [ebp - 0x164c]
push ecx
mov ebx, 0x4f8ee0
mov byte [ebp - 4], 0xe
call fcn.0045c1d0
push eax
lea edx, [ebp - 0x1658]
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 - 0x164c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x478a73
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 - 0x162c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x478a99
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x1658]
push ecx
push 0x4f5b64
mov edi, str.StormDL_shellopencommand
mov ebx, SysReAllocStringLen
call fcn.0045c4c0
mov edx, dword [ebp - 0x1634]
add esp, 8
cmp dword [edx + 4], 0
jne 0x478af9
push 1
mov ebx, str.AutoRun
mov esi, str.SoftwareBaofengStormPlayerConfigRepairAutoRun
call fcn.0045c450
add esp, 4
test al, al
jne 0x478af9
mov edi, dword [ebp - 0x1634]
add edi, 0x6c
lea eax, [ebp - 0x1630]
mov dword [ebp - 0x1630], 0x1399
call fcn.0047d470
mov byte [ebp - 4], 0xd
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 0x478b1f
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 - 0x1654]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x478b45
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 0x478b6b
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 - 0x165c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x478b91
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 - 0x1664]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x478bb7
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 - 0x1644]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x478bdd
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 - 0x1648]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x478c03
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 - 0x1650]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x478c29
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 - 0x1660]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x478c4f
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 0x478c78
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