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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x511d86
mov eax, dword fs:[0]
push eax
mov eax, 0x6080
call fcn.004f8350
mov eax, dword [0x544354]
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 eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x608c], eax
call fcn.004a64e0
test al, al
je 0x43d3f3
push 0x800
lea eax, [ebp - 0x2010]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x800
push 0x51a15c
lea eax, [ebp - 0x2010]
push eax
call fcn.0047d930
call fcn.00470750
mov esi, dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
cmp eax, 0x600
lea eax, [ebp - 0x1010]
mov byte [ebp - 0x6085], 0
push eax
push 0
push 0
push 0x10
push 0
setae bh
call esi
test bh, bh
je 0x43cdf1
test eax, eax
lea eax, [ebp - 0x1010]
push 0x800
je 0x43cc44
push str.unknown_folder
push eax
call fcn.004947d0
jmp 0x43cc76
push eax
call fcn.0047bc90
push 0x800
push str.WinRAR.lnk
lea eax, [ebp - 0x1010]
push eax
call fcn.00494790
lea eax, [ebp - 0x1010]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
setne byte [ebp - 0x6085]
lea eax, [ebp - 0x1010]
push eax
push 0
push 0
push 0x19
push 0
call esi
test eax, eax
je 0x43cca1
push 0x800
push str.unknown_folder
lea eax, [ebp - 0x1010]
push eax
call fcn.004947d0
push 0x800
lea eax, [ebp - 0x1010]
push eax
call fcn.0047bc90
push 0x800
push str.WinRAR.lnk
lea eax, [ebp - 0x1010]
push eax
call fcn.00494790
xor eax, eax
mov word [ebp - 0x4014], ax
lea eax, [ebp - 0x4014]
push eax
push 0
push 0
push 0x10
push 0
call esi
test eax, eax
je 0x43ccfc
push 0x800
push str.unknown_folder
lea eax, [ebp - 0x4014]
push eax
call fcn.004947d0
mov eax, dword [ebp + 8]
mov bl, byte [ebp + 0x18]
cmp byte [eax + 0x14], 0
je 0x43ce14
test bl, bl
je 0x43cd2c
lea eax, [ebp - 0x1010]
push eax
call fcn.0046cad0
test al, al
jne 0x43cd2c
cmp byte [ebp - 0x6085], al
je 0x43ce20
push 0
push edi
push 0x537
call fcn.0048e4c0
push eax
push 0
lea eax, [ebp - 0x1010]
push eax
lea eax, [ebp - 0x2010]
push eax
push 1
call fcn.004ccdc0
test al, al
jne 0x43ce20
test bh, bh
je 0x43ce20
test bl, bl
je 0x43ce20
lea eax, [ebp - 0x1010]
push eax
call fcn.0046cad0
test al, al
je 0x43cd8e
lea eax, [ebp - 0x1010]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x43ce20
push 0x800
lea eax, [ebp - 0x1010]
push eax
call fcn.0043b770
test al, al
je 0x43ce20
push 0x800
lea eax, [ebp - 0x1010]
push eax
call fcn.0047bc90
push 0x800
push str.WinRAR.lnk
lea eax, [ebp - 0x1010]
push eax
call fcn.00494790
push 0
push edi
push 0x537
call fcn.0048e4c0
push eax
push 0
lea eax, [ebp - 0x1010]
push eax
lea eax, [ebp - 0x2010]
push eax
push 1
call fcn.004ccdc0
jmp 0x43ce20
test eax, eax
je 0x43cca1
push 0x800
push str.unknown_folder
lea eax, [ebp - 0x1010]
push eax
call fcn.004947d0
jmp 0x43d3f3
lea eax, [ebp - 0x1010]
push eax
call fcn.0046c6d0
lea eax, [ebp - 0x1010]
push eax
movzx eax, bh
neg eax
push 0
sbb eax, eax
and eax, 0xb
push 0
add eax, 0xb
push eax
push 0
call esi
test eax, eax
je 0x43ce57
push 0x800
push str.unknown_folder
lea eax, [ebp - 0x1010]
push eax
call fcn.004947d0
push 0x800
lea eax, [ebp - 0x1010]
push eax
call fcn.0047bc90
push 0x800
push str.WinRAR.lnk
lea eax, [ebp - 0x1010]
push eax
call fcn.00494790
mov eax, dword [ebp + 8]
cmp byte [eax + 0x15], 0
je 0x43cec7
test bl, bl
je 0x43ce9b
lea eax, [ebp - 0x1010]
push eax
call fcn.0046cad0
test al, al
je 0x43ced3
push 0
push edi
push 0x537
call fcn.0048e4c0
push eax
lea eax, [ebp - 0x4014]
push eax
lea eax, [ebp - 0x1010]
push eax
lea eax, [ebp - 0x2010]
push eax
push 1
call fcn.004ccdc0
jmp 0x43ced3
lea eax, [ebp - 0x1010]
push eax
call fcn.0046c6d0
push 0x51a15c
call fcn.004fe8d4
push str.WinRAR.chm
mov dword [ebp - 0x4024], eax
call fcn.004fe8d4
push str.Rar.txt
mov dword [ebp - 0x4020], eax
call fcn.004fe8d4
add esp, 0xc
mov dword [ebp - 0x401c], eax
push 0x391
call fcn.0048e4c0
push eax
call fcn.004fe8d4
push 0x51a224
mov dword [ebp - 0x4018], eax
call fcn.004fe8d4
add esp, 8
mov dword [ebp - 0x4034], eax
push 0x38e
call fcn.0048e4c0
push eax
call fcn.004fe8d4
add esp, 4
mov dword [ebp - 0x4030], eax
push 0x38f
call fcn.0048e4c0
push eax
call fcn.004fe8d4
add esp, 4
mov dword [ebp - 0x402c], eax
push 0x390
call fcn.0048e4c0
push eax
call fcn.004fe8d4
add esp, 4
mov dword [ebp - 0x4028], eax
lea eax, [ebp - 0x1010]
push eax
push 0
push 0
push 2
push 0
call esi
test eax, eax
je 0x43cfa5
push 0x800
push str.unknown_folder
lea eax, [ebp - 0x1010]
push eax
call fcn.004947d0
push 0x800
lea eax, [ebp - 0x1010]
push eax
call fcn.0047bc90
push 0x800
push 0x51a224
lea eax, [ebp - 0x1010]
push eax
call fcn.00494790
test bl, bl
je 0x43cfe4
lea eax, [ebp - 0x1010]
push eax
call fcn.0046cad0
test al, al
je 0x43d1a3
mov eax, dword [ebp + 8]
cmp byte [eax + 0x16], 0
je 0x43d197
mov eax, dword [ebp - 0x608c]
test eax, eax
je 0x43d00b
push dword [ebp + 0x10]
lea ecx, [ebp - 0x1010]
push ecx
push eax
call fcn.004947d0
test bl, bl
jne 0x43d0d5
lea eax, [ebp - 0x1010]
push eax
call fcn.0046cad0
test al, al
je 0x43d0c6
push 0x802
lea eax, [ebp - 0x3014]
push eax
push 0x517a54
lea eax, [ebp - 0x1010]
push eax
call fcn.0047d340
lea ecx, [ebp - 0x503c]
call fcn.0046e360
mov dword [ebp - 4], 0
lea eax, [ebp - 0x3014]
push eax
lea ecx, [ebp - 0x503c]
call fcn.0046e560
lea ecx, [ebp - 0x6084]
call fcn.00404070
push 0
lea eax, [ebp - 0x6084]
push eax
lea ecx, [ebp - 0x503c]
call fcn.0046e440
test al, al
je 0x43d0b4
jmp 0x43d090
lea eax, [ebp - 0x6084]
push eax
call fcn.0046c6d0
push 0
lea eax, [ebp - 0x6084]
push eax
lea ecx, [ebp - 0x503c]
call fcn.0046e440
test al, al
jne 0x43d090
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x503c]
call fcn.0046e380
push 0
lea eax, [ebp - 0x1010]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
xor esi, esi
jmp 0x43d0e0
push 0x800
lea eax, [ebp - 0x3010]
push eax
push dword [ebp + esi*4 - 0x4034]
lea eax, [ebp - 0x1010]
push eax
call fcn.0047d340
push 0x800
push str..lnk
lea eax, [ebp - 0x3010]
push eax
call fcn.00494790
push 0x800
push dword [ebp + esi*4 - 0x4024]
lea eax, [ebp - 0x2010]
push eax
call fcn.0047d930
lea eax, [ebp - 0x2010]
push eax
call fcn.0046cad0
test al, al
je 0x43d185
test bl, bl
je 0x43d151
lea eax, [ebp - 0x3010]
push eax
call fcn.0046cad0
test al, al
je 0x43d185
mov eax, esi
neg eax
push 0
sbb eax, eax
not eax
and eax, edi
push eax
push 0x537
call fcn.0048e4c0
push eax
lea eax, [ebp - 0x4014]
push eax
lea eax, [ebp - 0x3010]
push eax
lea eax, [ebp - 0x2010]
push eax
push 1
call fcn.004ccdc0
inc esi
cmp esi, 4
jb 0x43d0e0
mov esi, dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
jmp 0x43d1a3
lea eax, [ebp - 0x1010]
push eax
call fcn.0043b5c0
lea eax, [ebp - 0x1010]
push eax
push 0
push 0
push 0x17
push 0
call esi
test eax, eax
lea eax, [ebp - 0x1010]
push 0x800
je 0x43d1d3
push str.unknown_folder
push eax
call fcn.004947d0
jmp 0x43d3cd
push eax
call fcn.0047bc90
push 0x800
push 0x51a224
lea eax, [ebp - 0x1010]
push eax
call fcn.00494790
test bl, bl
je 0x43d207
lea eax, [ebp - 0x1010]
push eax
call fcn.0046cad0
test al, al
je 0x43d3cd
mov eax, dword [ebp + 8]
cmp byte [eax + 0x16], 0
je 0x43d3c1
test bl, bl
jne 0x43d2d9
lea eax, [ebp - 0x1010]
push eax
call fcn.0046cad0
test al, al
je 0x43d2ca
push 0x802
lea eax, [ebp - 0x3014]
push eax
push 0x517a54
lea eax, [ebp - 0x1010]
push eax
call fcn.0047d340
lea ecx, [ebp - 0x503c]
call fcn.0046e360
mov dword [ebp - 4], 1
lea eax, [ebp - 0x3014]
push eax
lea ecx, [ebp - 0x503c]
call fcn.0046e560
lea ecx, [ebp - 0x6084]
call fcn.00404070
push 0
lea eax, [ebp - 0x6084]
push eax
lea ecx, [ebp - 0x503c]
call fcn.0046e440
test al, al
je 0x43d2b8
lea eax, [ebp - 0x6084]
push eax
call fcn.0046c6d0
push 0
lea eax, [ebp - 0x6084]
push eax
lea ecx, [ebp - 0x503c]
call fcn.0046e440
test al, al
jne 0x43d294
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x503c]
call fcn.0046e380
push 0
lea eax, [ebp - 0x1010]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov esi, dword [ebp - 0x608c]
test esi, esi
je 0x43d303
lea eax, [ebp - 0x1010]
push eax
call fcn.0046cad0
test al, al
je 0x43d303
push dword [ebp + 0x10]
lea eax, [ebp - 0x1010]
push eax
push esi
call fcn.004947d0
xor esi, esi
jmp 0x43d310
push 0x800
lea eax, [ebp - 0x3010]
push eax
push dword [ebp + esi*4 - 0x4034]
lea eax, [ebp - 0x1010]
push eax
call fcn.0047d340
push 0x800
push str..lnk
lea eax, [ebp - 0x3010]
push eax
call fcn.00494790
push 0x800
push dword [ebp + esi*4 - 0x4024]
lea eax, [ebp - 0x2010]
push eax
call fcn.0047d930
lea eax, [ebp - 0x2010]
push eax
call fcn.0046cad0
test al, al
je 0x43d3b5
test bl, bl
je 0x43d381
lea eax, [ebp - 0x3010]
push eax
call fcn.0046cad0
test al, al
je 0x43d3b5
mov eax, esi
neg eax
push 0
sbb eax, eax
not eax
and eax, edi
push eax
push 0x537
call fcn.0048e4c0
push eax
lea eax, [ebp - 0x4014]
push eax
lea eax, [ebp - 0x3010]
push eax
lea eax, [ebp - 0x2010]
push eax
push 1
call fcn.004ccdc0
inc esi
cmp esi, 4
jb 0x43d310
jmp 0x43d3cd
lea eax, [ebp - 0x1010]
push eax
call fcn.0043b5c0
xor esi, esi
nop
push dword [ebp + esi - 0x4024]
call fcn.004fe8b9
push dword [ebp + esi - 0x4034]
call fcn.004fe8b9
add esi, 4
add esp, 8
cmp esi, 0x10
jb 0x43d3d0
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.004f833c
mov esp, ebp
pop ebp
ret 0x14