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

Disassembly:
push 0xffffffffffffffff
push 0x4d3a36
mov eax, dword fs:[0]
push eax
mov eax, 0x5078
call fcn.004c0c80
mov eax, dword [0x4eb984]
xor eax, esp
mov dword [esp + 0x5074], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4eb984]
xor eax, esp
push eax
lea eax, [esp + 0x508c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x50a0]
mov ebp, dword [esp + 0x50a4]
push 0x800
lea ecx, [esp + 0x408c]
push ecx
push 0
mov dword [esp + 0x2c], eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x800
push 0x4d9e90
lea edx, [esp + 0x4090]
push edx
call fcn.00460500
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.SHELL32.dll_SHGetMalloc]
call fcn.0044b030
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp eax, 0x600
setae bl
mov byte [esp + 0x17], 0
test bl, bl
je 0x449a62
lea ecx, [esp + 0x2084]
push ecx
call fcn.00448f00
test al, al
je 0x44a128
push 0x800
lea edx, [esp + 0x2088]
push edx
call fcn.0045fed0
push 0x800
push str.WinRAR.lnk
lea eax, [esp + 0x208c]
push eax
call fcn.0047efb0
lea ecx, [esp + 0x2084]
push ecx
call esi
lea edx, [esp + 0x2084]
test eax, eax
push edx
setne byte [esp + 0x1b]
call fcn.00448f60
jmp 0x449a77
lea eax, [esp + 0x2084]
push eax
call fcn.00448f00
test al, al
je 0x44a128
push 0x800
lea ecx, [esp + 0x2088]
push ecx
call fcn.0045fed0
push 0x800
push str.WinRAR.lnk
lea edx, [esp + 0x208c]
push edx
call fcn.0047efb0
mov eax, dword [esp + 0x509c]
cmp byte [eax + 0x14], 0
je 0x449ba0
cmp byte [esp + 0x50a8], 0
je 0x449ad6
lea ecx, [esp + 0x2084]
push ecx
call fcn.0043ca60
test al, al
jne 0x449ad6
cmp byte [esp + 0x17], al
je 0x449bad
push 0
push ebp
push 0x537
call fcn.004750b0
push eax
push 0
lea edx, [esp + 0x2094]
push edx
lea eax, [esp + 0x409c]
push eax
push 1
call fcn.0049f430
test al, al
jne 0x449bad
test bl, bl
je 0x449bad
cmp byte [esp + 0x50a8], al
je 0x449bad
lea ecx, [esp + 0x2084]
push ecx
call fcn.0043ca60
test al, al
je 0x449b39
lea edx, [esp + 0x2084]
push edx
call esi
test eax, eax
je 0x449bad
lea eax, [esp + 0x2084]
push eax
call fcn.00448f00
test al, al
je 0x44a128
push 0x800
lea ecx, [esp + 0x2088]
push ecx
call fcn.0045fed0
push 0x800
push str.WinRAR.lnk
lea edx, [esp + 0x208c]
push edx
call fcn.0047efb0
push 0
push ebp
push 0x537
call fcn.004750b0
push eax
push 0
lea eax, [esp + 0x2094]
push eax
lea ecx, [esp + 0x409c]
push ecx
push 1
call fcn.0049f430
jmp 0x449bad
lea edx, [esp + 0x2084]
push edx
call fcn.0043c500
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 + 0x2084]
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 + 0x2088]
push ecx
call fcn.0045fed0
push 0x800
push str.WinRAR.lnk
lea edx, [esp + 0x208c]
push edx
call fcn.0047efb0
mov esi, dword [esp + 0x509c]
cmp byte [esi + 0x15], 0
je 0x449c6a
cmp byte [esp + 0x50a8], 0
je 0x449c41
lea eax, [esp + 0x2084]
push eax
call fcn.0043ca60
test al, al
je 0x449c77
push 0
push ebp
push 0x537
call fcn.004750b0
push eax
push 0
lea ecx, [esp + 0x2094]
push ecx
lea edx, [esp + 0x409c]
push edx
push 1
call fcn.0049f430
jmp 0x449c77
lea eax, [esp + 0x2084]
push eax
call fcn.0043c500
push 0x38e
mov dword [esp + 0x28], 0x4d9c2c
call fcn.004750b0
push 0x38f
mov dword [esp + 0x2c], eax
call fcn.004750b0
push 0x390
mov dword [esp + 0x30], eax
call fcn.004750b0
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 + 0x2084]
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 + 0x2088]
push ecx
call fcn.0045fed0
push 0x800
push 0x4d9c2c
lea edx, [esp + 0x208c]
push edx
call fcn.0047efb0
cmp byte [esp + 0x50a8], 0
je 0x449d1c
lea eax, [esp + 0x2084]
push eax
call fcn.0043ca60
test al, al
je 0x449ed2
cmp byte [esi + 0x16], 0
je 0x449ec5
mov edx, dword [esp + 0x20]
xor esi, esi
cmp edx, esi
je 0x449d4f
lea eax, [esp + 0x2084]
mov ecx, eax
sub edx, ecx
jmp 0x449d40
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, si
jne 0x449d40
lea edx, [esp + 0x2084]
push edx
call fcn.0043ca60
test al, al
je 0x449e07
push 0x802
lea eax, [esp + 0x3088]
push eax
push 0x4d7800
lea ecx, [esp + 0x2090]
push ecx
call fcn.0045ff20
lea ecx, [esp + 0x34]
call fcn.004411c0
mov dword [esp + 0x5094], esi
lea edx, [esp + 0x3084]
push edx
lea ecx, [esp + 0x38]
call fcn.00441200
lea ecx, [esp + 0x103c]
call fcn.00401510
push esi
lea eax, [esp + 0x1040]
push eax
lea ecx, [esp + 0x3c]
call fcn.00441410
test al, al
je 0x449df3
jmp 0x449dd0
lea ecx, [esp + 0x103c]
push ecx
call fcn.0043c500
push esi
lea edx, [esp + 0x1040]
push edx
lea ecx, [esp + 0x3c]
call fcn.00441410
test al, al
jne 0x449dd0
mov dword [esp + 0x5094], 0xffffffff
lea ecx, [esp + 0x34]
call fcn.004411e0
push esi
lea eax, [esp + 0x2088]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
jmp 0x449e20
mov ecx, dword [esi*4 + 0x4ea160]
cmp word [ecx], 0
je 0x449eb2
mov eax, dword [esp + esi*4 + 0x24]
push 0x800
lea edx, [esp + 0x3088]
push edx
push eax
lea ecx, [esp + 0x2090]
push ecx
call fcn.0045ff20
push 0x800
push str..lnk
lea edx, [esp + 0x308c]
push edx
call fcn.0047efb0
mov eax, dword [esi*4 + 0x4ea160]
push 0x800
push eax
lea ecx, [esp + 0x4090]
push ecx
call fcn.00460500
mov edx, esi
neg edx
sbb edx, edx
not edx
push 0
and edx, ebp
push edx
push 0x537
call fcn.004750b0
push eax
push 0
lea eax, [esp + 0x3094]
push eax
lea ecx, [esp + 0x409c]
push ecx
push 1
call fcn.0049f430
inc esi
cmp esi, 4
jb 0x449e20
mov esi, dword [esp + 0x509c]
jmp 0x449ed2
lea edx, [esp + 0x2084]
push edx
call fcn.00448fb0
lea eax, [esp + 0x18]
push eax
push 0x17
push 0
call ebx
test eax, eax
jne 0x44a11c
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x2084]
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 + 0x2088]
push ecx
call fcn.0045fed0
push 0x800
push 0x4d9c2c
lea edx, [esp + 0x208c]
push edx
call fcn.0047efb0
cmp byte [esp + 0x50a8], 0
je 0x449f4d
lea eax, [esp + 0x2084]
push eax
call fcn.0043ca60
test al, al
je 0x44a11c
cmp byte [esi + 0x16], 0
je 0x44a10f
lea ecx, [esp + 0x2084]
push ecx
call fcn.0043ca60
test al, al
je 0x44a028
push 0x802
lea edx, [esp + 0x3088]
push edx
push 0x4d7800
lea eax, [esp + 0x2090]
push eax
call fcn.0045ff20
lea ecx, [esp + 0x34]
call fcn.004411c0
mov dword [esp + 0x5094], 1
lea ecx, [esp + 0x3084]
push ecx
lea ecx, [esp + 0x38]
call fcn.00441200
lea ecx, [esp + 0x204c]
call fcn.00482210
lea ecx, [esp + 0x2054]
call fcn.00482210
lea ecx, [esp + 0x205c]
call fcn.00482210
push 0
lea edx, [esp + 0x1040]
push edx
lea ecx, [esp + 0x3c]
call fcn.00441410
test al, al
je 0x44a014
jmp 0x449ff0
lea eax, [esp + 0x103c]
push eax
call fcn.0043c500
push 0
lea ecx, [esp + 0x1040]
push ecx
lea ecx, [esp + 0x3c]
call fcn.00441410
test al, al
jne 0x449ff0
mov dword [esp + 0x5094], 0xffffffff
lea ecx, [esp + 0x34]
call fcn.004411e0
push 0
lea edx, [esp + 0x2088]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov esi, dword [esp + 0x20]
test esi, esi
je 0x44a06f
lea eax, [esp + 0x2084]
push eax
call fcn.0043ca60
test al, al
je 0x44a06f
lea eax, [esp + 0x2084]
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 0x44a060
xor esi, esi
mov edx, dword [esi*4 + 0x4ea160]
cmp word [edx], 0
je 0x44a103
mov ecx, dword [esp + esi*4 + 0x24]
push 0x800
lea eax, [esp + 0x3088]
push eax
push ecx
lea edx, [esp + 0x2090]
push edx
call fcn.0045ff20
push 0x800
push str..lnk
lea eax, [esp + 0x308c]
push eax
call fcn.0047efb0
mov ecx, dword [esi*4 + 0x4ea160]
push 0x800
push ecx
lea edx, [esp + 0x4090]
push edx
call fcn.00460500
mov eax, esi
neg eax
sbb eax, eax
not eax
push 0
and eax, ebp
push eax
push 0x537
call fcn.004750b0
push eax
push 0
lea ecx, [esp + 0x3094]
push ecx
lea edx, [esp + 0x409c]
push edx
push 1
call fcn.0049f430
inc esi
cmp esi, 4
jb 0x44a071
jmp 0x44a11c
lea eax, [esp + 0x2084]
push eax
call fcn.00448fb0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [esp + 0x508c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x5074]
xor ecx, esp
call fcn.004c0c62
add esp, 0x5084
ret 0x10