Function at 0x44a320
Capabilities:
Create directory
Delete file
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x4d4c76
mov eax, dword fs:[0]
push eax
mov eax, 0x5088
call fcn.004c1c40
mov eax, dword [0x4ec0b4]
xor eax, esp
mov dword [esp + 0x5084], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4ec0b4]
xor eax, esp
push eax
lea eax, [esp + 0x509c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x50b0]
mov ebp, dword [esp + 0x50b4]
push 0x800
lea ecx, [esp + 0x3098]
push ecx
push 0
mov dword [esp + 0x2c], eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x800
push 0x4dae58
lea edx, [esp + 0x309c]
push edx
call fcn.00460e20
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.SHELL32.dll_SHGetMalloc]
call fcn.0044ba30
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp eax, 0x600
setae bl
mov byte [esp + 0x17], 0
test bl, bl
je 0x44a422
lea ecx, [esp + 0x2094]
push ecx
call fcn.004498c0
test al, al
je 0x44ab75
push 0x800
lea edx, [esp + 0x2098]
push edx
call fcn.004607d0
push 0x800
push str.WinRAR.lnk
lea eax, [esp + 0x209c]
push eax
call fcn.0047fc20
lea ecx, [esp + 0x2094]
push ecx
call esi
lea edx, [esp + 0x2094]
test eax, eax
push edx
setne byte [esp + 0x1b]
call fcn.00449920
jmp 0x44a437
lea eax, [esp + 0x2094]
push eax
call fcn.004498c0
test al, al
je 0x44ab75
push 0x800
lea ecx, [esp + 0x2098]
push ecx
call fcn.004607d0
push 0x800
push str.WinRAR.lnk
lea edx, [esp + 0x209c]
push edx
call fcn.0047fc20
mov eax, dword [esp + 0x50ac]
cmp byte [eax + 0x14], 0
je 0x44a560
cmp byte [esp + 0x50b8], 0
je 0x44a496
lea ecx, [esp + 0x2094]
push ecx
call fcn.0043d340
test al, al
jne 0x44a496
cmp byte [esp + 0x17], al
je 0x44a56d
push 0
push ebp
push 0x537
call fcn.00475cc0
push eax
push 0
lea edx, [esp + 0x20a4]
push edx
lea eax, [esp + 0x30a8]
push eax
push 1
call fcn.004a04a0
test al, al
jne 0x44a56d
test bl, bl
je 0x44a56d
cmp byte [esp + 0x50b8], al
je 0x44a56d
lea ecx, [esp + 0x2094]
push ecx
call fcn.0043d340
test al, al
je 0x44a4f9
lea edx, [esp + 0x2094]
push edx
call esi
test eax, eax
je 0x44a56d
lea eax, [esp + 0x2094]
push eax
call fcn.004498c0
test al, al
je 0x44ab75
push 0x800
lea ecx, [esp + 0x2098]
push ecx
call fcn.004607d0
push 0x800
push str.WinRAR.lnk
lea edx, [esp + 0x209c]
push edx
call fcn.0047fc20
push 0
push ebp
push 0x537
call fcn.00475cc0
push eax
push 0
lea eax, [esp + 0x20a4]
push eax
lea ecx, [esp + 0x30a8]
push ecx
push 1
call fcn.004a04a0
jmp 0x44a56d
lea edx, [esp + 0x2094]
push edx
call fcn.0043cde0
movzx ecx, bl
mov ebx, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
neg ecx
sbb ecx, ecx
lea eax, [esp + 0x18]
and ecx, 0xb
push eax
add ecx, 0xb
push ecx
push 0
call ebx
mov eax, dword [esp + 0x18]
mov edi, dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
lea edx, [esp + 0x2094]
push edx
push eax
call edi
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x14]
call eax
push 0x800
lea ecx, [esp + 0x2098]
push ecx
call fcn.004607d0
push 0x800
push str.WinRAR.lnk
lea edx, [esp + 0x209c]
push edx
call fcn.0047fc20
mov esi, dword [esp + 0x50ac]
cmp byte [esi + 0x15], 0
je 0x44a62a
cmp byte [esp + 0x50b8], 0
je 0x44a601
lea eax, [esp + 0x2094]
push eax
call fcn.0043d340
test al, al
je 0x44a637
push 0
push ebp
push 0x537
call fcn.00475cc0
push eax
push 0
lea ecx, [esp + 0x20a4]
push ecx
lea edx, [esp + 0x30a8]
push edx
push 1
call fcn.004a04a0
jmp 0x44a637
lea eax, [esp + 0x2094]
push eax
call fcn.0043cde0
push 0x4dae58
call fcn.004c3cbd
push str.WinRAR.chm
mov dword [esp + 0x3c], eax
call fcn.004c3cbd
push str.Rar.txt
mov dword [esp + 0x44], eax
call fcn.004c3cbd
add esp, 0xc
push 0x391
mov dword [esp + 0x40], eax
call fcn.00475cc0
push eax
call fcn.004c3cbd
push 0x4dabec
mov dword [esp + 0x48], eax
call fcn.004c3cbd
add esp, 8
push 0x38e
mov dword [esp + 0x28], eax
call fcn.00475cc0
push eax
call fcn.004c3cbd
add esp, 4
push 0x38f
mov dword [esp + 0x2c], eax
call fcn.00475cc0
push eax
call fcn.004c3cbd
add esp, 4
push 0x390
mov dword [esp + 0x30], eax
call fcn.00475cc0
push eax
call fcn.004c3cbd
add esp, 4
lea ecx, [esp + 0x18]
push ecx
push 2
push 0
mov dword [esp + 0x3c], eax
call ebx
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x2094]
push edx
push eax
call edi
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x14]
call eax
push 0x800
lea ecx, [esp + 0x2098]
push ecx
call fcn.004607d0
push 0x800
push 0x4dabec
lea edx, [esp + 0x209c]
push edx
call fcn.0047fc20
cmp byte [esp + 0x50b8], 0
je 0x44a741
lea eax, [esp + 0x2094]
push eax
call fcn.0043d340
test al, al
je 0x44a8ef
cmp byte [esi + 0x16], 0
je 0x44a8e2
mov edx, dword [esp + 0x20]
xor esi, esi
cmp edx, esi
je 0x44a76f
lea eax, [esp + 0x2094]
mov ecx, eax
sub edx, ecx
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, si
jne 0x44a760
lea edx, [esp + 0x2094]
push edx
call fcn.0043d340
test al, al
je 0x44a827
push 0x802
lea eax, [esp + 0x4098]
push eax
push 0x4d8800
lea ecx, [esp + 0x20a0]
push ecx
call fcn.00460820
lea ecx, [esp + 0x108c]
call fcn.00441aa0
mov dword [esp + 0x50a4], esi
lea edx, [esp + 0x4094]
push edx
lea ecx, [esp + 0x1090]
call fcn.00441ae0
lea ecx, [esp + 0x44]
call fcn.00401550
push esi
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x1094]
call fcn.00441cf0
test al, al
je 0x44a810
lea esp, [esp]
lea ecx, [esp + 0x44]
push ecx
call fcn.0043cde0
push esi
lea edx, [esp + 0x48]
push edx
lea ecx, [esp + 0x1094]
call fcn.00441cf0
test al, al
jne 0x44a7f0
mov dword [esp + 0x50a4], 0xffffffff
lea ecx, [esp + 0x108c]
call fcn.00441ac0
push esi
lea eax, [esp + 0x2098]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
jmp 0x44a840
mov edx, dword [esp + esi*4 + 0x24]
push 0x800
lea ecx, [esp + 0x4098]
push ecx
push edx
lea eax, [esp + 0x20a0]
push eax
call fcn.00460820
push 0x800
push str..lnk
lea ecx, [esp + 0x409c]
push ecx
call fcn.0047fc20
mov edx, dword [esp + esi*4 + 0x34]
push 0x800
push edx
lea eax, [esp + 0x309c]
push eax
call fcn.00460e20
lea ecx, [esp + 0x3094]
push ecx
call fcn.0043d340
test al, al
je 0x44a8cf
mov edx, esi
neg edx
sbb edx, edx
not edx
push 0
and edx, ebp
push edx
push 0x537
call fcn.00475cc0
push eax
push 0
lea eax, [esp + 0x40a4]
push eax
lea ecx, [esp + 0x30a8]
push ecx
push 1
call fcn.004a04a0
inc esi
cmp esi, 4
jb 0x44a840
mov esi, dword [esp + 0x50ac]
jmp 0x44a8ef
lea edx, [esp + 0x2094]
push edx
call fcn.00449970
lea eax, [esp + 0x18]
push eax
push 0x17
push 0
call ebx
test eax, eax
jne 0x44ab48
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x2094]
push ecx
push edx
call edi
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x14]
call eax
push 0x800
lea ecx, [esp + 0x2098]
push ecx
call fcn.004607d0
push 0x800
push 0x4dabec
lea edx, [esp + 0x209c]
push edx
call fcn.0047fc20
cmp byte [esp + 0x50b8], 0
je 0x44a96a
lea eax, [esp + 0x2094]
push eax
call fcn.0043d340
test al, al
je 0x44ab48
cmp byte [esi + 0x16], 0
je 0x44ab3b
lea ecx, [esp + 0x2094]
push ecx
call fcn.0043d340
test al, al
je 0x44aa48
push 0x802
lea edx, [esp + 0x4098]
push edx
push 0x4d8800
lea eax, [esp + 0x20a0]
push eax
call fcn.00460820
lea ecx, [esp + 0x108c]
call fcn.00441aa0
mov dword [esp + 0x50a4], 1
lea ecx, [esp + 0x4094]
push ecx
lea ecx, [esp + 0x1090]
call fcn.00441ae0
lea ecx, [esp + 0x1054]
call fcn.00482f00
lea ecx, [esp + 0x105c]
call fcn.00482f00
lea ecx, [esp + 0x1064]
call fcn.00482f00
push 0
lea edx, [esp + 0x48]
push edx
lea ecx, [esp + 0x1094]
call fcn.00441cf0
test al, al
je 0x44aa31
mov edi, edi
lea eax, [esp + 0x44]
push eax
call fcn.0043cde0
push 0
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0x1094]
call fcn.00441cf0
test al, al
jne 0x44aa10
mov dword [esp + 0x50a4], 0xffffffff
lea ecx, [esp + 0x108c]
call fcn.00441ac0
push 0
lea edx, [esp + 0x2098]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov esi, dword [esp + 0x20]
test esi, esi
je 0x44aa8f
lea eax, [esp + 0x2094]
push eax
call fcn.0043d340
test al, al
je 0x44aa8f
lea eax, [esp + 0x2094]
mov edx, esi
mov ecx, eax
sub edx, ecx
mov edi, edi
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x44aa80
xor esi, esi
jmp 0x44aaa0
mov eax, dword [esp + esi*4 + 0x24]
push 0x800
lea edx, [esp + 0x4098]
push edx
push eax
lea ecx, [esp + 0x20a0]
push ecx
call fcn.00460820
push 0x800
push str..lnk
lea edx, [esp + 0x409c]
push edx
call fcn.0047fc20
mov eax, dword [esp + esi*4 + 0x34]
push 0x800
push eax
lea ecx, [esp + 0x309c]
push ecx
call fcn.00460e20
lea edx, [esp + 0x3094]
push edx
call fcn.0043d340
test al, al
je 0x44ab2f
mov eax, esi
neg eax
sbb eax, eax
not eax
push 0
and eax, ebp
push eax
push 0x537
call fcn.00475cc0
push eax
push 0
lea ecx, [esp + 0x40a4]
push ecx
lea edx, [esp + 0x30a8]
push edx
push 1
call fcn.004a04a0
inc esi
cmp esi, 4
jb 0x44aaa0
jmp 0x44ab48
lea eax, [esp + 0x2094]
push eax
call fcn.00449970
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor esi, esi
mov eax, dword [esp + esi + 0x34]
push eax
call fcn.004c23c4
mov ecx, dword [esp + esi + 0x28]
push ecx
call fcn.004c23c4
add esi, 4
add esp, 8
cmp esi, 0x10
jb 0x44ab56
mov ecx, dword [esp + 0x509c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x5084]
xor ecx, esp
call fcn.004c1c22
add esp, 0x5094
ret 0x10