Function at 0x44f1d0
Capabilities:
Create directory
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e5d78
mov eax, dword fs:[0]
push eax
mov eax, 0x14c0
call fcn.004ba9f0
mov eax, dword [0x53f1e4]
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
push str.WEMedia.exe
lea eax, [ebp - 0x290]
push esi
push eax
mov dword [ebp - 0x14cc], esi
call fcn.00403a10
add esp, 0xc
xor ebx, ebx
push 0xc8
lea ecx, [ebp - 0xbc4]
push ebx
push ecx
mov dword [ebp - 4], ebx
call fcn.004b9c60
xor edx, edx
xor eax, eax
xor ecx, ecx
add esp, 0xc
mov dword [ebp - method.CShortcutHelper.virtual_0], vtable.CShortcutHelper.0
mov dword [ebp - 0x2d4], ebx
mov dword [ebp - 0x2d0], ebx
mov word [ebp - 0xafc], dx
mov word [ebp - 0x4de], ax
mov word [ebp - 0x8f2], cx
mov word [ebp - 0x6e8], dx
mov byte [ebp - 4], 1
cmp dword [ebp - 0x27c], 8
mov eax, dword [ebp - 0x290]
jae 0x44f28a
lea eax, [ebp - 0x290]
lea edx, [ebp - 0x8f2]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x44f292
mov eax, dword [ebp + 8]
cmp byte [eax + 5], bl
je 0x44f2b4
lea ecx, [ebp - 0xbc8]
call fcn.00430ab0
push 0x208
lea edx, [ebp - 0x21e]
xor ecx, ecx
push ebx
push edx
mov word [ebp - 0x220], cx
call fcn.004b9c60
add esp, 0xc
push ebx
push 2
lea eax, [ebp - 0x220]
push eax
push ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x44f76a
lea edi, [ebp - 0x220]
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
cmp ax, bx
jne 0x44f2f4
mov ecx, dword [0x5062dc]
lea eax, [ebp - 0x220]
mov dword [edi], ecx
add eax, 0xfffffffe
mov cx, word [eax + 2]
add eax, 2
cmp cx, bx
jne 0x44f311
mov edx, dword [0x50a8b0]
mov ecx, dword [0x50a8b4]
mov dword [eax], edx
mov edx, dword [0x50a8b8]
mov dword [eax + 4], ecx
mov ecx, dword [0x50a8bc]
mov dword [eax + 8], edx
push ebx
lea edx, [ebp - 0x220]
push edx
mov dword [eax + 0xc], ecx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea edi, [ebp - 0x220]
add edi, 0xfffffffe
jmp 0x44f360
mov ax, word [edi + 2]
add edi, 2
cmp ax, bx
jne 0x44f360
mov eax, dword [0x5062dc]
mov dword [edi], eax
mov edi, 7
xor ecx, ecx
lea eax, [ebp - 0x220]
mov dword [ebp - 0x260], edi
mov dword [ebp - 0x264], ebx
mov word [ebp - 0x274], cx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x44f396
sub eax, edx
sar eax, 1
push eax
lea edx, [ebp - 0x220]
push edx
lea ecx, [ebp - 0x274]
call fcn.00404960
mov byte [ebp - 4], 2
xor eax, eax
mov word [ebp - 0x258], ax
lea eax, [ebp - 0x220]
mov dword [ebp - 0x244], edi
mov dword [ebp - 0x248], ebx
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x44f3e0
sub eax, edx
sar eax, 1
push eax
lea ecx, [ebp - 0x220]
push ecx
lea ecx, [ebp - 0x258]
call fcn.00404960
lea eax, [ebp - 0x220]
mov byte [ebp - 4], 3
add eax, 0xfffffffe
nop
mov cx, word [eax + 2]
add eax, 2
cmp cx, bx
jne 0x44f410
mov edx, dword [0x50a8b0]
mov ecx, dword [0x50a8b4]
mov dword [eax], edx
mov edx, dword [0x50a8b8]
mov dword [eax + 4], ecx
mov ecx, dword [0x50a8bc]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
lea eax, [ebp - 0x220]
add eax, 0xfffffffe
jmp 0x44f450
mov cx, word [eax + 2]
add eax, 2
cmp cx, bx
jne 0x44f450
mov edx, dword [str..lnk]
mov ecx, dword [0x50a9f8]
mov dword [eax], edx
mov dx, word [0x50a9fc]
mov dword [eax + 4], ecx
mov word [eax + 8], dx
lea edx, [ebp - 0x220]
lea ecx, [ebp - 0xbc8]
call fcn.00430880
push 0xc8
lea eax, [ebp - 0x14c4]
push ebx
push eax
call fcn.004b9c60
xor ecx, ecx
xor edx, edx
xor eax, eax
add esp, 0xc
mov dword [ebp - method.CShortcutHelper.virtual_0], vtable.CShortcutHelper.0
mov dword [ebp - 0xbd4], ebx
mov dword [ebp - 0xbd0], ebx
mov word [ebp - 0x13fc], cx
mov word [ebp - 0xdde], dx
mov word [ebp - 0x11f2], ax
mov word [ebp - 0xfe8], cx
push 0x50c8c0
lea edx, [ebp - 0x2c8]
push esi
push edx
mov byte [ebp - 4], 4
call fcn.00403a10
add esp, 0xc
mov edi, eax
lea esi, [ebp - 0x290]
mov byte [ebp - 4], 5
call fcn.00404350
mov edi, 8
mov byte [ebp - 4], 4
cmp dword [ebp - 0x2b4], edi
jb 0x44f520
mov eax, dword [ebp - 0x2c8]
push eax
call fcn.004b1c22
add esp, 4
mov eax, dword [ebp - 0x290]
cmp dword [ebp - 0x27c], edi
jae 0x44f534
lea eax, [ebp - 0x290]
lea edx, [ebp - 0x11f2]
sub edx, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x44f540
mov ecx, dword [ebp - 0x14cc]
push str.Unsetup.ico
push ecx
lea edx, [ebp - 0x2ac]
push edx
call fcn.00403a10
add esp, 0xc
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x2ac]
cmp dword [ebp - 0x298], edi
jae 0x44f582
lea eax, [ebp - 0x2ac]
lea edx, [ebp - 0xdde]
sub edx, eax
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x44f590
xor eax, eax
movzx ecx, word [eax + 0x50d5a4]
mov word [ebp + eax - 0x13fc], cx
add eax, 2
cmp cx, bx
jne 0x44f5a1
push 2
mov eax, 0x50d8f8
lea ecx, [ebp - 0x274]
call fcn.00403f00
mov esi, 7
push esi
mov eax, 0x50a8b0
lea ecx, [ebp - 0x274]
call fcn.00403f00
push 4
mov eax, str..lnk
lea ecx, [ebp - 0x274]
call fcn.00403f00
mov edx, dword [ebp - 0x274]
cmp dword [ebp - 0x260], edi
jae 0x44f606
lea edx, [ebp - 0x274]
lea ecx, [ebp - 0x14c8]
call fcn.00430880
push ebx
push ebx
push ebx
push 0x8000000
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
push esi
xor eax, eax
push 0x50a8b0
lea ecx, [ebp - 0x23c]
mov dword [ebp - 0x228], esi
mov dword [ebp - 0x22c], ebx
mov word [ebp - 0x23c], ax
call fcn.00404960
push 4
mov eax, str..lnk
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 7
call fcn.00403f00
mov ecx, dword [ebp + 8]
cmp byte [ecx + 6], bl
je 0x44f69d
call fcn.0040dac0
test al, al
je 0x44f69d
mov eax, dword [ebp - 0x23c]
cmp dword [ebp - 0x228], edi
jae 0x44f680
lea eax, [ebp - 0x23c]
mov ecx, dword [ebp - 0x258]
cmp dword [ebp - 0x244], edi
jae 0x44f694
lea ecx, [ebp - 0x258]
push eax
call fcn.0040e2e0
add esp, 4
cmp dword [ebp - 0x228], edi
jb 0x44f6b4
mov edx, dword [ebp - 0x23c]
push edx
call fcn.004b1c22
add esp, 4
xor eax, eax
mov dword [ebp - 0x228], esi
mov dword [ebp - 0x22c], ebx
mov word [ebp - 0x23c], ax
cmp dword [ebp - 0x298], edi
jb 0x44f6e0
mov ecx, dword [ebp - 0x2ac]
push ecx
call fcn.004b1c22
add esp, 4
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0xbd0]
xor edx, edx
mov dword [ebp - 0x298], esi
mov dword [ebp - 0x29c], ebx
mov word [ebp - 0x2ac], dx
mov dword [ebp - method.CShortcutHelper.virtual_0], vtable.CShortcutHelper.0
cmp eax, ebx
je 0x44f715
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0xbd4]
cmp eax, ebx
je 0x44f727
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp dword [ebp - 0x244], edi
jb 0x44f73e
mov eax, dword [ebp - 0x258]
push eax
call fcn.004b1c22
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x244], esi
mov dword [ebp - 0x248], ebx
mov word [ebp - 0x258], cx
cmp dword [ebp - 0x260], edi
jb 0x44f76a
mov edx, dword [ebp - 0x274]
push edx
call fcn.004b1c22
add esp, 4
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - method.CShortcutHelper.virtual_0], vtable.CShortcutHelper.0
cmp eax, ebx
je 0x44f789
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x2d4]
cmp eax, ebx
je 0x44f79b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp dword [ebp - 0x27c], 8
jb 0x44f7b3
mov eax, dword [ebp - 0x290]
push eax
call fcn.004b1c22
add esp, 4
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.004b1c2d
mov esp, ebp
pop ebp
ret 4