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

Disassembly:
push 0xffffffffffffffff
push 0x4d43b6
mov eax, dword fs:[0]
push eax
mov eax, 0x5088
call fcn.004c1320
mov eax, dword [0x4eb0b4]
xor eax, esp
mov dword [esp + 0x5084], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4eb0b4]
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 0x4d9e58
lea edx, [esp + 0x309c]
push edx
call fcn.004607f0
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.SHELL32.dll_SHGetMalloc]
call fcn.0044b3b0
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp eax, 0x600
setae bl
mov byte [esp + 0x17], 0
test bl, bl
je 0x449d92
lea ecx, [esp + 0x2094]
push ecx
call fcn.00449230
test al, al
je 0x44a4e5
push 0x800
lea edx, [esp + 0x2098]
push edx
call fcn.004601c0
push 0x800
push str.WinRAR.lnk
lea eax, [esp + 0x209c]
push eax
call fcn.0047f4c0
lea ecx, [esp + 0x2094]
push ecx
call esi
lea edx, [esp + 0x2094]
test eax, eax
push edx
setne byte [esp + 0x1b]
call fcn.00449290
jmp 0x449da7
lea eax, [esp + 0x2094]
push eax
call fcn.00449230
test al, al
je 0x44a4e5
push 0x800
lea ecx, [esp + 0x2098]
push ecx
call fcn.004601c0
push 0x800
push str.WinRAR.lnk
lea edx, [esp + 0x209c]
push edx
call fcn.0047f4c0
mov eax, dword [esp + 0x50ac]
cmp byte [eax + 0x14], 0
je 0x449ed0
cmp byte [esp + 0x50b8], 0
je 0x449e06
lea ecx, [esp + 0x2094]
push ecx
call fcn.0043ccc0
test al, al
jne 0x449e06
cmp byte [esp + 0x17], al
je 0x449edd
push 0
push ebp
push 0x537
call fcn.00475570
push eax
push 0
lea edx, [esp + 0x20a4]
push edx
lea eax, [esp + 0x30a8]
push eax
push 1
call fcn.0049fbb0
test al, al
jne 0x449edd
test bl, bl
je 0x449edd
cmp byte [esp + 0x50b8], al
je 0x449edd
lea ecx, [esp + 0x2094]
push ecx
call fcn.0043ccc0
test al, al
je 0x449e69
lea edx, [esp + 0x2094]
push edx
call esi
test eax, eax
je 0x449edd
lea eax, [esp + 0x2094]
push eax
call fcn.00449230
test al, al
je 0x44a4e5
push 0x800
lea ecx, [esp + 0x2098]
push ecx
call fcn.004601c0
push 0x800
push str.WinRAR.lnk
lea edx, [esp + 0x209c]
push edx
call fcn.0047f4c0
push 0
push ebp
push 0x537
call fcn.00475570
push eax
push 0
lea eax, [esp + 0x20a4]
push eax
lea ecx, [esp + 0x30a8]
push ecx
push 1
call fcn.0049fbb0
jmp 0x449edd
lea edx, [esp + 0x2094]
push edx
call fcn.0043c760
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.004601c0
push 0x800
push str.WinRAR.lnk
lea edx, [esp + 0x209c]
push edx
call fcn.0047f4c0
mov esi, dword [esp + 0x50ac]
cmp byte [esi + 0x15], 0
je 0x449f9a
cmp byte [esp + 0x50b8], 0
je 0x449f71
lea eax, [esp + 0x2094]
push eax
call fcn.0043ccc0
test al, al
je 0x449fa7
push 0
push ebp
push 0x537
call fcn.00475570
push eax
push 0
lea ecx, [esp + 0x20a4]
push ecx
lea edx, [esp + 0x30a8]
push edx
push 1
call fcn.0049fbb0
jmp 0x449fa7
lea eax, [esp + 0x2094]
push eax
call fcn.0043c760
push 0x4d9e58
call fcn.004c339d
push str.WinRAR.chm
mov dword [esp + 0x3c], eax
call fcn.004c339d
push str.Rar.txt
mov dword [esp + 0x44], eax
call fcn.004c339d
add esp, 0xc
push 0x391
mov dword [esp + 0x40], eax
call fcn.00475570
push eax
call fcn.004c339d
push 0x4d9bec
mov dword [esp + 0x48], eax
call fcn.004c339d
add esp, 8
push 0x38e
mov dword [esp + 0x28], eax
call fcn.00475570
push eax
call fcn.004c339d
add esp, 4
push 0x38f
mov dword [esp + 0x2c], eax
call fcn.00475570
push eax
call fcn.004c339d
add esp, 4
push 0x390
mov dword [esp + 0x30], eax
call fcn.00475570
push eax
call fcn.004c339d
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.004601c0
push 0x800
push 0x4d9bec
lea edx, [esp + 0x209c]
push edx
call fcn.0047f4c0
cmp byte [esp + 0x50b8], 0
je 0x44a0b1
lea eax, [esp + 0x2094]
push eax
call fcn.0043ccc0
test al, al
je 0x44a25f
cmp byte [esi + 0x16], 0
je 0x44a252
mov edx, dword [esp + 0x20]
xor esi, esi
cmp edx, esi
je 0x44a0df
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 0x44a0d0
lea edx, [esp + 0x2094]
push edx
call fcn.0043ccc0
test al, al
je 0x44a197
push 0x802
lea eax, [esp + 0x4098]
push eax
push 0x4d7800
lea ecx, [esp + 0x20a0]
push ecx
call fcn.00460210
lea ecx, [esp + 0x108c]
call fcn.00441410
mov dword [esp + 0x50a4], esi
lea edx, [esp + 0x4094]
push edx
lea ecx, [esp + 0x1090]
call fcn.00441450
lea ecx, [esp + 0x44]
call fcn.00401550
push esi
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x1094]
call fcn.00441660
test al, al
je 0x44a180
lea esp, [esp]
lea ecx, [esp + 0x44]
push ecx
call fcn.0043c760
push esi
lea edx, [esp + 0x48]
push edx
lea ecx, [esp + 0x1094]
call fcn.00441660
test al, al
jne 0x44a160
mov dword [esp + 0x50a4], 0xffffffff
lea ecx, [esp + 0x108c]
call fcn.00441430
push esi
lea eax, [esp + 0x2098]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
jmp 0x44a1b0
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.00460210
push 0x800
push str..lnk
lea ecx, [esp + 0x409c]
push ecx
call fcn.0047f4c0
mov edx, dword [esp + esi*4 + 0x34]
push 0x800
push edx
lea eax, [esp + 0x309c]
push eax
call fcn.004607f0
lea ecx, [esp + 0x3094]
push ecx
call fcn.0043ccc0
test al, al
je 0x44a23f
mov edx, esi
neg edx
sbb edx, edx
not edx
push 0
and edx, ebp
push edx
push 0x537
call fcn.00475570
push eax
push 0
lea eax, [esp + 0x40a4]
push eax
lea ecx, [esp + 0x30a8]
push ecx
push 1
call fcn.0049fbb0
inc esi
cmp esi, 4
jb 0x44a1b0
mov esi, dword [esp + 0x50ac]
jmp 0x44a25f
lea edx, [esp + 0x2094]
push edx
call fcn.004492e0
lea eax, [esp + 0x18]
push eax
push 0x17
push 0
call ebx
test eax, eax
jne 0x44a4b8
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.004601c0
push 0x800
push 0x4d9bec
lea edx, [esp + 0x209c]
push edx
call fcn.0047f4c0
cmp byte [esp + 0x50b8], 0
je 0x44a2da
lea eax, [esp + 0x2094]
push eax
call fcn.0043ccc0
test al, al
je 0x44a4b8
cmp byte [esi + 0x16], 0
je 0x44a4ab
lea ecx, [esp + 0x2094]
push ecx
call fcn.0043ccc0
test al, al
je 0x44a3b8
push 0x802
lea edx, [esp + 0x4098]
push edx
push 0x4d7800
lea eax, [esp + 0x20a0]
push eax
call fcn.00460210
lea ecx, [esp + 0x108c]
call fcn.00441410
mov dword [esp + 0x50a4], 1
lea ecx, [esp + 0x4094]
push ecx
lea ecx, [esp + 0x1090]
call fcn.00441450
lea ecx, [esp + 0x1054]
call fcn.004072b0
lea ecx, [esp + 0x105c]
call fcn.004072b0
lea ecx, [esp + 0x1064]
call fcn.004072b0
push 0
lea edx, [esp + 0x48]
push edx
lea ecx, [esp + 0x1094]
call fcn.00441660
test al, al
je 0x44a3a1
mov edi, edi
lea eax, [esp + 0x44]
push eax
call fcn.0043c760
push 0
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0x1094]
call fcn.00441660
test al, al
jne 0x44a380
mov dword [esp + 0x50a4], 0xffffffff
lea ecx, [esp + 0x108c]
call fcn.00441430
push 0
lea edx, [esp + 0x2098]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov esi, dword [esp + 0x20]
test esi, esi
je 0x44a3ff
lea eax, [esp + 0x2094]
push eax
call fcn.0043ccc0
test al, al
je 0x44a3ff
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 0x44a3f0
xor esi, esi
jmp 0x44a410
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.00460210
push 0x800
push str..lnk
lea edx, [esp + 0x409c]
push edx
call fcn.0047f4c0
mov eax, dword [esp + esi*4 + 0x34]
push 0x800
push eax
lea ecx, [esp + 0x309c]
push ecx
call fcn.004607f0
lea edx, [esp + 0x3094]
push edx
call fcn.0043ccc0
test al, al
je 0x44a49f
mov eax, esi
neg eax
sbb eax, eax
not eax
push 0
and eax, ebp
push eax
push 0x537
call fcn.00475570
push eax
push 0
lea ecx, [esp + 0x40a4]
push ecx
lea edx, [esp + 0x30a8]
push edx
push 1
call fcn.0049fbb0
inc esi
cmp esi, 4
jb 0x44a410
jmp 0x44a4b8
lea eax, [esp + 0x2094]
push eax
call fcn.004492e0
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.004c1aa4
mov ecx, dword [esp + esi + 0x28]
push ecx
call fcn.004c1aa4
add esi, 4
add esp, 8
cmp esi, 0x10
jb 0x44a4c6
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.004c1302
add esp, 0x5094
ret 0x10