Function at 0x407b90
Capabilities:
Create directory
Move file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43a3a7
mov eax, dword fs:[0]
push eax
sub esp, 0x2a4
mov eax, dword [0x44e06c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
movzx eax, byte [0x4500d9]
test eax, eax
je 0x407e58
push str.DLStoreDir
lea ecx, [ebp - 0x298]
call fcn.00409520
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x298]
push ecx
mov ecx, 0x450154
call fcn.00408c40
push eax
lea edx, [ebp - 0x230]
push edx
call fcn.00404830
add esp, 8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x298]
call fcn.004093c0
push str.DLStoreFileName
lea ecx, [ebp - 0x2b0]
call fcn.00409520
mov byte [ebp - 4], 3
lea eax, [ebp - 0x2b0]
push eax
mov ecx, 0x450154
call fcn.00408c40
push eax
lea ecx, [ebp - 0x260]
push ecx
call fcn.00404830
add esp, 8
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2b0]
call fcn.004093c0
lea edx, [ebp - 0x260]
push edx
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x248]
push ecx
call fcn.004118f0
add esp, 0xc
mov byte [ebp - 4], 6
push 0
lea ecx, [ebp - 0x230]
call fcn.00408e00
push eax
call fcn.0041f45e
add esp, 8
cmp eax, 0xffffffff
jne 0x407d4b
lea ecx, [ebp - 0x230]
call fcn.00408e00
mov dword [ebp - 0x268], eax
push 0x208
push 0
lea edx, [ebp - 0x218]
push edx
call fcn.0041cb70
add esp, 0xc
push 0x5c
mov eax, dword [ebp - 0x268]
push eax
call fcn.00401360
add esp, 8
mov dword [ebp - 0x264], eax
cmp dword [ebp - 0x264], 0
je 0x407d4b
mov ecx, dword [ebp - 0x264]
sub ecx, dword [ebp - 0x268]
sar ecx, 1
add ecx, 1
push ecx
mov edx, dword [ebp - 0x268]
push edx
lea eax, [ebp - 0x218]
push eax
call fcn.00411d30
add esp, 0xc
push 0
lea ecx, [ebp - 0x218]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x407d23
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x26c], eax
mov edx, dword [ebp - 0x264]
add edx, 2
mov dword [ebp - 0x264], edx
push 0x5c
mov eax, dword [ebp - 0x264]
push eax
call fcn.00401360
add esp, 8
mov dword [ebp - 0x264], eax
jmp 0x407cd3
push 1
lea ecx, [ebp - 0x248]
call fcn.00408e00
push eax
mov ecx, 0x45018c
call fcn.00408e00
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
mov dword [ebp - 0x270], eax
cmp dword [ebp - 0x270], 0
jne 0x407dbe
mov dword [ebp - 0x274], 0xffffffff
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x248]
call fcn.00408f00
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x260]
call fcn.00408f00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x230]
call fcn.00408f00
mov eax, dword [ebp - 0x274]
jmp 0x407e8c
push 0x80
lea ecx, [ebp - 0x248]
call fcn.00408e00
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov dword [ebp - 0x278], eax
cmp dword [ebp - 0x278], 0
jne 0x407e26
mov dword [ebp - 0x27c], 0xffffffff
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x248]
call fcn.00408f00
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x260]
call fcn.00408f00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x230]
call fcn.00408f00
mov eax, dword [ebp - 0x27c]
jmp 0x407e8c
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x248]
call fcn.00408f00
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x260]
call fcn.00408f00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x230]
call fcn.00408f00
jmp 0x407e8a
push 1
mov ecx, 0x4501ec
call fcn.00408e00
push eax
mov ecx, 0x45018c
call fcn.00408e00
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
mov dword [ebp - 0x280], eax
cmp dword [ebp - 0x280], 0
jne 0x407e8a
or eax, 0xffffffff
jmp 0x407e8c
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041a9fe
mov esp, ebp
pop ebp
ret