Function at 0x460c00
Capabilities:
Create directory
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x476b5b
mov eax, dword fs:[0]
push eax
sub esp, 0x1c4
mov eax, dword [0x4922f8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [ebp + 8]
call fcn.00418f20
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp + 8]
call fcn.00401b20
cmp eax, 3
jbe 0x460c5a
mov ecx, dword [ebp + 8]
call fcn.00418f20
movzx eax, word [eax + 2]
cmp eax, 0x3a
jne 0x460c5a
mov ecx, dword [ebp - 0x10]
add ecx, 6
mov dword [ebp - 0x10], ecx
jmp 0x460c65
mov edx, dword [ebp - 0x10]
add edx, 2
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
movzx ecx, word [eax]
test ecx, ecx
je 0x460e95
mov edx, dword [ebp - 0x10]
movzx eax, word [edx]
cmp eax, 0x5c
je 0x460c8d
mov ecx, dword [ebp - 0x10]
movzx edx, word [ecx]
cmp edx, 0x2f
jne 0x460e90
xor eax, eax
mov ecx, dword [ebp - 0x10]
mov word [ecx], ax
push 0
mov ecx, dword [ebp + 8]
call fcn.00418f20
push eax
call dword [sym.imp.KERNEL32.DLL_CreateDirectoryW]
test eax, eax
jne 0x460e85
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xb7
je 0x460dcc
mov ecx, dword [ebp + 8]
call fcn.00418f20
push eax
lea edx, [ebp - 0x3c]
push edx
call fcn.0045f720
add esp, 8
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x178], eax
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
push ecx
lea edx, [ebp - 0x58]
push edx
call fcn.00460aa0
add esp, 8
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x180], eax
mov byte [ebp - 4], 1
push 0x485694
mov ecx, dword [ebp - 0x180]
push ecx
lea edx, [ebp - 0x74]
push edx
call fcn.00402d60
add esp, 0xc
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x188], eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x178]
push ecx
mov edx, dword [ebp - 0x188]
push edx
lea eax, [ebp - 0x90]
push eax
call fcn.00402df0
add esp, 0xc
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x190], ecx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x190]
push edx
mov ecx, 0x495ab8
call fcn.004016f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x90]
call fcn.004016d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x74]
call fcn.004016d0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x58]
call fcn.004016d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3c]
call fcn.004016d0
xor al, al
jmp 0x461096
mov ecx, dword [ebp + 8]
call fcn.00418f20
push eax
call dword [sym.imp.KERNEL32.DLL_GetFileAttributesW]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
and eax, 0x10
jne 0x460e85
mov ecx, dword [ebp + 8]
call fcn.00418f20
push eax
lea ecx, [ebp - 0xac]
push ecx
call fcn.0045f720
add esp, 8
mov dword [ebp - 0x194], eax
mov edx, dword [ebp - 0x194]
mov dword [ebp - 0x198], edx
mov dword [ebp - 4], 4
push 0x485698
mov eax, dword [ebp - 0x198]
push eax
lea ecx, [ebp - 0xc8]
push ecx
call fcn.00402d60
add esp, 0xc
mov dword [ebp - 0x19c], eax
mov edx, dword [ebp - 0x19c]
mov dword [ebp - 0x1a0], edx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x1a0]
push eax
mov ecx, 0x495ab8
call fcn.004016f0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xc8]
call fcn.004016d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xac]
call fcn.004016d0
xor al, al
jmp 0x461096
mov ecx, 0x5c
mov edx, dword [ebp - 0x10]
mov word [edx], cx
jmp 0x460c5c
push 0
mov ecx, dword [ebp + 8]
call fcn.00418f20
push eax
call dword [sym.imp.KERNEL32.DLL_CreateDirectoryW]
test eax, eax
jne 0x461094
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xb7
je 0x460fde
mov ecx, dword [ebp + 8]
call fcn.00418f20
push eax
lea eax, [ebp - 0xe4]
push eax
call fcn.0045f720
add esp, 8
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x1a8], ecx
mov dword [ebp - 4], 6
mov edx, dword [ebp - 0x1c]
push edx
lea eax, [ebp - 0x100]
push eax
call fcn.00460aa0
add esp, 8
mov dword [ebp - 0x1ac], eax
mov ecx, dword [ebp - 0x1ac]
mov dword [ebp - 0x1b0], ecx
mov byte [ebp - 4], 7
push 0x4856b8
mov edx, dword [ebp - 0x1b0]
push edx
lea eax, [ebp - 0x11c]
push eax
call fcn.00402d60
add esp, 0xc
mov dword [ebp - 0x1b4], eax
mov ecx, dword [ebp - 0x1b4]
mov dword [ebp - 0x1b8], ecx
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x1a8]
push edx
mov eax, dword [ebp - 0x1b8]
push eax
lea ecx, [ebp - 0x138]
push ecx
call fcn.00402df0
add esp, 0xc
mov dword [ebp - 0x1bc], eax
mov edx, dword [ebp - 0x1bc]
mov dword [ebp - 0x1c0], edx
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x1c0]
push eax
mov ecx, 0x495ab8
call fcn.004016f0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x138]
call fcn.004016d0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x11c]
call fcn.004016d0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x100]
call fcn.004016d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe4]
call fcn.004016d0
xor al, al
jmp 0x461096
mov ecx, dword [ebp + 8]
call fcn.00418f20
push eax
call dword [sym.imp.KERNEL32.DLL_GetFileAttributesW]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
and ecx, 0x10
jne 0x461094
mov ecx, dword [ebp + 8]
call fcn.00418f20
push eax
lea edx, [ebp - 0x154]
push edx
call fcn.0045f720
add esp, 8
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x1c8], eax
mov dword [ebp - 4], 0xa
push str._exists_and_is_not_a_directory
mov ecx, dword [ebp - 0x1c8]
push ecx
lea edx, [ebp - 0x170]
push edx
call fcn.00402d60
add esp, 0xc
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0x1cc]
mov dword [ebp - 0x1d0], eax
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x1d0]
push ecx
mov ecx, 0x495ab8
call fcn.004016f0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x170]
call fcn.004016d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x154]
call fcn.004016d0
xor al, al
jmp 0x461096
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret