Function at 0x4630b0
Capabilities:
Check if file exists
Create directory
Delete file
Move file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x473490
mov eax, dword fs:[0]
push eax
mov eax, 0x41d8
call fcn.0043ddf0
mov eax, dword [0x492740]
xor eax, ebp
mov dword [ebp - 0x74], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 1
call fcn.004038a0
mov dword [ebp - 0x40b4], eax
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x40b8], 0
mov dword [ebp - 0x40b0], fcn.00416730
mov dword [ebp - 0x40ac], fcn.00416750
mov dword [ebp - 0x40a8], fcn.00416730
mov dword [ebp - 0x40a4], fcn.00416750
lea ecx, [ebp + 8]
call fcn.004010f0
push eax
lea eax, [ebp - 0x4098]
push eax
call fcn.004167a0
add esp, 8
test eax, eax
je 0x4631a3
mov dword [ebp - 0x4128], 0x47d2c8
lea ecx, [ebp - 0x4128]
push ecx
lea ecx, [ebp - 0x4124]
call fcn.0043b22c
push 0x48a190
lea edx, [ebp - 0x4124]
push edx
call fcn.0044193f
mov dword [ebp - 0x412c], 1
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.00405400
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.00405400
mov eax, dword [ebp - 0x412c]
jmp 0x463c29
lea eax, [ebp - 0x40a0]
push eax
call fcn.004169f0
add esp, 4
push 0
lea ecx, [ebp - 0x4094]
push ecx
call fcn.00416c00
add esp, 8
lea edx, [ebp - 0x40a0]
mov dword [ebp - 0x4084], edx
lea eax, [ebp - 0x4094]
push eax
call fcn.00416c30
add esp, 4
call fcn.00416c60
lea ecx, [ebp - 0x64]
push ecx
call fcn.00416fd0
add esp, 4
lea edx, [ebp - 0x40a8]
push edx
lea eax, [ebp - 0x40b0]
push eax
lea ecx, [ebp - 0x4094]
push ecx
lea edx, [ebp - 0x64]
push edx
call fcn.00419030
add esp, 0x10
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x463aa2
cmp dword [ebp - 0x10], 0
jne 0x463aa2
mov dword [ebp - 0x40c8], 0xffffffff
mov dword [ebp - 0x40c4], 0
mov dword [ebp - 0x40cc], 0
mov dword [ebp - 0x40c0], 0
jmp 0x463260
mov eax, dword [ebp - 0x40c0]
add eax, 1
mov dword [ebp - 0x40c0], eax
mov ecx, dword [ebp - 0x40c0]
cmp ecx, dword [ebp - 0x48]
jae 0x463a8b
mov dword [ebp - 0x40dc], 0
mov dword [ebp - 0x40ec], 0
mov dword [ebp - 0x40e8], 0
mov edx, dword [ebp - 0x40c0]
shl edx, 5
add edx, dword [ebp - 0x54]
mov dword [ebp - 0x40d8], edx
push 0
mov eax, dword [ebp - 0x40c0]
push eax
lea ecx, [ebp - 0x64]
push ecx
call fcn.00418440
add esp, 0xc
mov dword [ebp - 0x40e4], eax
mov edx, dword [ebp - 0x40e4]
cmp edx, dword [ebp - 0x40b8]
jbe 0x46330a
mov eax, dword [ebp - 0x6c]
push eax
push 0
call fcn.00416750
add esp, 8
mov ecx, dword [ebp - 0x40e4]
mov dword [ebp - 0x40b8], ecx
mov edx, dword [ebp - 0x40b8]
shl edx, 1
push edx
push 0
call fcn.00416730
add esp, 8
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0
jne 0x46330a
mov dword [ebp - 0x10], 2
jmp 0x463a8b
mov eax, dword [ebp - 0x6c]
push eax
mov ecx, dword [ebp - 0x40c0]
push ecx
lea edx, [ebp - 0x64]
push edx
call fcn.00418440
add esp, 0xc
cmp dword [ebp - 0x10], 0
je 0x46332c
jmp 0x463a8b
mov eax, dword [ebp - 0x40d8]
movzx ecx, byte [eax + 0x19]
test ecx, ecx
jne 0x463393
lea edx, [ebp - 0x40a8]
push edx
lea eax, [ebp - 0x40b0]
push eax
lea ecx, [ebp - 0x40e8]
push ecx
lea edx, [ebp - 0x40ec]
push edx
lea eax, [ebp - 0x40cc]
push eax
lea ecx, [ebp - 0x40c4]
push ecx
lea edx, [ebp - 0x40c8]
push edx
mov eax, dword [ebp - 0x40c0]
push eax
lea ecx, [ebp - 0x4094]
push ecx
lea edx, [ebp - 0x64]
push edx
call fcn.00419070
add esp, 0x28
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x463393
jmp 0x463a8b
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x40e0], eax
mov ecx, dword [ebp - 0x40e0]
mov dword [ebp - 0x40d4], ecx
mov dword [ebp - 0x40f4], 0
jmp 0x4633c3
mov edx, dword [ebp - 0x40f4]
add edx, 1
mov dword [ebp - 0x40f4], edx
mov eax, dword [ebp - 0x40f4]
mov ecx, dword [ebp - 0x40e0]
movzx edx, word [ecx + eax*2]
test edx, edx
je 0x463421
mov eax, dword [ebp - 0x40f4]
mov ecx, dword [ebp - 0x40e0]
movzx edx, word [ecx + eax*2]
cmp edx, 0x2f
jne 0x46341f
mov eax, dword [ebp - 0x40f4]
mov ecx, dword [ebp - 0x40e0]
mov word [ecx + eax*2], 0
push 0
mov edx, dword [ebp - 0x40e0]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov eax, dword [ebp - 0x40f4]
mov ecx, dword [ebp - 0x40e0]
mov word [ecx + eax*2], 0x5c
jmp 0x4633b4
mov edx, dword [ebp - 0x40d8]
movzx eax, byte [edx + 0x19]
test eax, eax
je 0x463448
push 0
mov ecx, dword [ebp - 0x40d4]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
jmp 0x463251
mov edx, dword [ebp - 0x40d4]
push edx
lea eax, [ebp - 0x40d0]
push eax
call fcn.004167c0
add esp, 8
test eax, eax
je 0x4639a1
lea ecx, [ebp - 0x4100]
call fcn.004038b0
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x40d4]
push ecx
lea ecx, [ebp - 0x4104]
call fcn.00401f90
mov byte [ebp - 4], 3
cmp dword [ebp - 0x40dc], 0
jne 0x4636f3
mov dword [ebp - 0x40dc], 1
mov dword [ebp - 0x4108], 1
jmp 0x4634bd
mov edx, dword [ebp - 0x4108]
add edx, 1
mov dword [ebp - 0x4108], edx
cmp dword [ebp - 0x4108], 0xa
jg 0x463533
lea ecx, [ebp - 0x410c]
call fcn.004038b0
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x4108]
push eax
mov ecx, dword [ebp - 0x4104]
push ecx
push 0x47d2e0
lea edx, [ebp - 0x410c]
push edx
call fcn.004037a0
add esp, 0x10
lea ecx, [ebp - 0x410c]
call fcn.004010f0
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x46351f
lea ecx, [ebp - 0x410c]
call fcn.004010f0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x410c]
call fcn.00405400
jmp 0x4634ae
mov dword [ebp - 0x4110], 1
jmp 0x46354e
mov eax, dword [ebp - 0x4110]
add eax, 1
mov dword [ebp - 0x4110], eax
cmp dword [ebp - 0x4110], 0xa
jg 0x4636f3
lea ecx, [ebp - 0x4118]
call fcn.004038b0
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x4110]
push ecx
mov edx, dword [ebp - 0x4104]
push edx
push 0x47d2f4
lea eax, [ebp - 0x4118]
push eax
call fcn.004037a0
add esp, 0x10
lea ecx, [ebp - 0x4118]
call fcn.004010f0
push eax
lea ecx, [ebp - 0x4104]
call fcn.004010f0
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
mov dword [ebp - 0x4114], eax
cmp dword [ebp - 0x4114], 0
je 0x4636df
lea ecx, [ebp - 0x4104]
push ecx
push 0x47d330
lea edx, [ebp - 0x4134]
push edx
call fcn.004015e0
add esp, 0xc
mov dword [ebp - 0x41bc], eax
mov eax, dword [ebp - 0x41bc]
mov dword [ebp - 0x41c0], eax
mov byte [ebp - 4], 6
push 0x47d324
mov ecx, dword [ebp - 0x41c0]
push ecx
lea edx, [ebp - 0x4138]
push edx
call fcn.00401530
add esp, 0xc
mov dword [ebp - 0x41c4], eax
mov eax, dword [ebp - 0x41c4]
mov dword [ebp - 0x41c8], eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x4118]
push ecx
mov edx, dword [ebp - 0x41c8]
push edx
lea eax, [ebp - 0x413c]
push eax
call fcn.00403570
add esp, 0xc
mov dword [ebp - 0x41cc], eax
mov ecx, dword [ebp - 0x41cc]
mov dword [ebp - 0x41d0], ecx
mov byte [ebp - 4], 8
push ecx
mov edx, esp
mov dword [ebp - 0x4130], esp
push 0x47d308
mov eax, dword [ebp - 0x41d0]
push eax
push edx
call fcn.00401530
add esp, 0xc
mov dword [ebp - 0x41d4], eax
mov ecx, 0x497300
call fcn.0046acf0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x413c]
call fcn.00405400
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x4138]
call fcn.00405400
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x4134]
call fcn.00405400
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x4118]
call fcn.00405400
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4104]
call fcn.00405400
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4100]
call fcn.00405400
jmp 0x46326f
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x4118]
call fcn.00405400
jmp 0x46353f
mov dword [ebp - 0x40fc], 0xb
cmp dword [0x497400], 0
jne 0x4637e0
push 0
push 0x47d354
lea ecx, [ebp - 0x4100]
call fcn.00405240
cmp eax, 0xffffffff
jne 0x46374f
push 0
push 0x47d360
lea ecx, [ebp - 0x4100]
call fcn.00405240
cmp eax, 0xffffffff
jne 0x46374f
push 0
push 0x47d36c
lea ecx, [ebp - 0x4100]
call fcn.00405240
cmp eax, 0xffffffff
je 0x463799
mov ecx, dword [ebp - 0x40d4]
push ecx
mov edx, dword [0x4973a4]
push edx
push 0x47d388
lea eax, [ebp - 0x4100]
push eax
call fcn.004037a0
add esp, 0x10
push 0x45
push 0x47d3f4
lea ecx, [ebp - 0x4100]
call fcn.004010f0
push eax
mov ecx, dword [0x497208]
push ecx
call dword [sym.imp.USER32.dll_MessageBoxW]
mov dword [ebp - 0x40fc], eax
jmp 0x4637e0
mov edx, dword [ebp - 0x40d4]
push edx
mov eax, dword [0x4973a4]
push eax
push 0x47d428
lea ecx, [ebp - 0x4100]
push ecx
call fcn.004037a0
add esp, 0x10
push 0x45
push 0x47d494
lea ecx, [ebp - 0x4100]
call fcn.004010f0
push eax
mov edx, dword [0x497208]
push edx
call dword [sym.imp.USER32.dll_MessageBoxW]
mov dword [ebp - 0x40fc], eax
cmp dword [ebp - 0x40fc], 0xb
jne 0x463850
mov eax, dword [ebp - 0x40c0]
add eax, 1
cmp eax, dword [ebp - 0x48]
jae 0x46382b
mov ecx, dword [ebp - 0x40c0]
add ecx, 1
mov dword [ebp - 0x40c0], ecx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4104]
call fcn.00405400
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4100]
call fcn.00405400
jmp 0x46326f
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4104]
call fcn.00405400
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4100]
call fcn.00405400
jmp 0x463a8b
cmp dword [ebp - 0x40fc], 0xa
je 0x463862
cmp dword [ebp - 0x40fc], 4
jne 0x463885
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4104]
call fcn.00405400
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4100]
call fcn.00405400
jmp 0x46326f
lea ecx, [ebp - 0x40f8]
call fcn.004038b0
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x40d4]
push edx
mov eax, dword [0x4973a4]
push eax
push 0x47d4c8
lea ecx, [ebp - 0x40f8]
push ecx
call fcn.004037a0
add esp, 0x10
lea ecx, [ebp - 0x40f8]
call fcn.004010f0
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
jne 0x4638d5
mov dword [ebp - 0x41d8], 0
jmp 0x463939
mov edx, dword [ebp - 0x70]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 1
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0x3fffffff
jle 0x4638fa
mov dword [ebp - 0x41dc], 0
jmp 0x46392d
mov eax, dword [ebp - 0x68]
shl eax, 1
call fcn.00445660
mov dword [ebp - 0x41e0], esp
mov eax, dword [ebp - 0x40b4]
push eax
mov ecx, dword [ebp - 0x68]
shl ecx, 1
push ecx
mov edx, dword [ebp - 0x70]
push edx
mov eax, dword [ebp - 0x41e0]
push eax
call fcn.00403850
mov dword [ebp - 0x41dc], eax
mov ecx, dword [ebp - 0x41dc]
mov dword [ebp - 0x41d8], ecx
mov edx, dword [ebp - 0x41d8]
mov dword [ebp - 0x414c], edx
lea eax, [ebp - 0x414c]
push eax
lea ecx, [ebp - 0x4148]
call fcn.0043b22c
push 0x48a190
lea ecx, [ebp - 0x4148]
push ecx
call fcn.0044193f
mov dword [ebp - 0x10], 0xb
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40f8]
call fcn.00405400
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4104]
call fcn.00405400
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4100]
call fcn.00405400
jmp 0x463a8b
mov edx, dword [ebp - 0x40e8]
mov dword [ebp - 0x40f0], edx
lea eax, [ebp - 0x40f0]
push eax
mov ecx, dword [ebp - 0x40c4]
add ecx, dword [ebp - 0x40ec]
push ecx
lea edx, [ebp - 0x40d0]
push edx
call fcn.00416890
add esp, 0xc
test eax, eax
jne 0x4639e2
mov eax, dword [ebp - 0x40f0]
cmp eax, dword [ebp - 0x40e8]
je 0x463a18
mov dword [ebp - 0x415c], 0x47d404
lea ecx, [ebp - 0x415c]
push ecx
lea ecx, [ebp - 0x4158]
call fcn.0043b22c
push 0x48a190
lea edx, [ebp - 0x4158]
push edx
call fcn.0044193f
mov dword [ebp - 0x10], 0xb
jmp 0x463a8b
lea eax, [ebp - 0x40d0]
push eax
call fcn.004167e0
add esp, 4
test eax, eax
je 0x463a61
mov dword [ebp - 0x416c], 0x47d4a4
lea ecx, [ebp - 0x416c]
push ecx
lea ecx, [ebp - 0x4168]
call fcn.0043b22c
push 0x48a190
lea edx, [ebp - 0x4168]
push edx
call fcn.0044193f
mov dword [ebp - 0x10], 0xb
jmp 0x463a8b
mov eax, dword [ebp - 0x40d8]
movzx ecx, byte [eax + 0x1d]
test ecx, ecx
je 0x463a86
mov edx, dword [ebp - 0x40d8]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0x40d4]
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
jmp 0x463251
mov edx, dword [ebp - 0x40c4]
push edx
lea eax, [ebp - 0x40b0]
push eax
call dword [ebp - 0x40ac]
add esp, 8
lea ecx, [ebp - 0x40b0]
push ecx
lea edx, [ebp - 0x64]
push edx
call fcn.00417000
add esp, 8
mov eax, dword [ebp - 0x6c]
push eax
push 0
call fcn.00416750
add esp, 8
lea ecx, [ebp - 0x4098]
push ecx
call fcn.004167e0
add esp, 4
cmp dword [ebp - 0x10], 0
jne 0x463b2b
push ecx
mov ecx, esp
mov dword [ebp - 0x4170], esp
push 0x47d50c
call fcn.00401f90
mov dword [ebp - 0x41e4], eax
mov ecx, 0x497300
call fcn.0046acf0
mov dword [ebp - 0x4174], 0
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.00405400
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.00405400
mov eax, dword [ebp - 0x4174]
jmp 0x463c29
cmp dword [ebp - 0x10], 4
jne 0x463b63
mov dword [ebp - 0x4184], 0x47d544
lea edx, [ebp - 0x4184]
push edx
lea ecx, [ebp - 0x4180]
call fcn.0043b22c
push 0x48a190
lea eax, [ebp - 0x4180]
push eax
call fcn.0044193f
jmp 0x463bfe
cmp dword [ebp - 0x10], 2
jne 0x463b98
mov dword [ebp - 0x4194], 0x47d574
lea ecx, [ebp - 0x4194]
push ecx
lea ecx, [ebp - 0x4190]
call fcn.0043b22c
push 0x48a190
lea edx, [ebp - 0x4190]
push edx
call fcn.0044193f
jmp 0x463bfe
cmp dword [ebp - 0x10], 3
jne 0x463bcd
mov dword [ebp - 0x41a4], 0x47d598
lea eax, [ebp - 0x41a4]
push eax
lea ecx, [ebp - 0x41a0]
call fcn.0043b22c
push 0x48a190
lea ecx, [ebp - 0x41a0]
push ecx
call fcn.0044193f
jmp 0x463bfe
mov dword [ebp - 0x41b4], 0x47d5ac
mov edx, dword [ebp - 0x10]
push edx
lea eax, [ebp - 0x41b4]
push eax
lea ecx, [ebp - 0x41b0]
call fcn.0043b27a
push 0x48a190
lea ecx, [ebp - 0x41b0]
push ecx
call fcn.0044193f
mov dword [ebp - 0x41b8], 1
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.00405400
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.00405400
mov eax, dword [ebp - 0x41b8]
lea esp, [ebp - 0x41e8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x74]
xor ecx, ebp
call fcn.0043aca7
mov esp, ebp
pop ebp
ret