Function at 0x4546e0
Capabilities:
Create directory

Disassembly:
sub esp, 0x14
push ebp
push esi
push edi
mov edi, dword [esp + 0x24]
mov eax, edi
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4546f0
sub eax, edx
sar eax, 1
lea esi, [eax + eax + 2]
push esi
call fcn.0045502b
mov ebp, eax
add esp, 4
test ebp, ebp
mov dword [esp + 0x14], ebp
je 0x454970
push esi
push 0
push ebp
call fcn.0047c3b0
mov eax, edi
add esp, 0xc
lea edx, [eax + 2]
jmp 0x454730
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x454730
sub eax, edx
sar eax, 1
lea esi, [eax + eax + 0x208]
push esi
call fcn.0045502b
add esp, 4
test eax, eax
mov dword [esp + 0xc], eax
je 0x454763
push esi
push 0
push eax
call fcn.0047c3b0
add esp, 0xc
mov eax, edi
lea edx, [eax + 2]
jmp 0x454770
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x454770
sub eax, edx
sar eax, 1
lea esi, [eax + eax + 0x208]
push ebx
push esi
call fcn.0045502b
mov ebx, eax
add esp, 4
test ebx, ebx
mov dword [esp + 0x14], ebx
je 0x4547a6
push esi
push 0
push ebx
call fcn.0047c3b0
add esp, 0xc
mov edx, ebp
mov eax, edi
sub edx, edi
lea esp, [esp]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x4547b0
nop
mov eax, ebp
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4547c5
sub eax, edx
sar eax, 1
mov dword [esp + 0x1c], eax
mov eax, ebx
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4547e0
sub eax, edx
sar eax, 1
mov esi, ebp
jne 0x454817
call fcn.00454480
mov edx, ebx
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [edx], cx
add eax, 2
add edx, 2
test cx, cx
jne 0x454800
mov esi, dword [esp + 0x10]
jmp 0x454857
call fcn.00454480
mov esi, dword [esp + 0x10]
mov edx, esi
movzx ecx, word [eax]
mov word [edx], cx
add eax, 2
add edx, 2
test cx, cx
jne 0x454822
mov eax, ebx
mov ebx, esi
call fcn.004544d0
mov edx, dword [esp + 0x14]
mov eax, esi
sub edx, esi
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x454844
mov ebx, dword [esp + 0x14]
mov edi, ebp
call fcn.004543d0
movzx ecx, word [ebp + 2]
cmp cx, 0x3a
jne 0x45486f
cmp word [ebp], 0
jne 0x45488b
movzx eax, word [ebp]
cmp ax, 0x2f
je 0x45487f
cmp ax, 0x5c
jne 0x454892
cmp cx, 0x2f
je 0x45488b
cmp cx, 0x5c
jne 0x454892
cmp word [ebp + 4], 0
je 0x4548c1
mov eax, ebp
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x454897
sub eax, edx
sar eax, 1
cmp eax, dword [esp + 0x1c]
jae 0x4548c1
push ebp
call fcn.00454620
add esp, 4
test eax, eax
je 0x4547c0
mov esi, dword [esp + 0x10]
mov ebp, esi
sub ebp, dword [esp + 0x18]
mov edi, ebx
lea esp, [esp]
cmp word [edi], 0
je 0x4548f4
movzx eax, word [edi]
cmp ax, 0x2f
je 0x4548f4
cmp ax, 0x5c
je 0x4548f4
push edi
call dword [sym.imp.USER32.dll_CharNextW]
mov edi, eax
cmp word [edi], 0
jne 0x4548d6
mov eax, dword [esp + 0x18]
jmp 0x454900
movzx ecx, word [eax]
mov word [eax + ebp], cx
add eax, 2
test cx, cx
jne 0x454900
movzx esi, word [edi]
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov word [edi], cx
call fcn.004544d0
mov word [edi], si
add edi, 2
test si, si
je 0x45493c
push 0
mov eax, ebx
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x4548d0
mov eax, dword [esp + 0x14]
test eax, eax
pop ebx
je 0x45494e
push eax
call fcn.0045505b
add esp, 4
mov eax, dword [esp + 0xc]
test eax, eax
je 0x45495f
push eax
call fcn.0045505b
add esp, 4
mov ecx, dword [esp + 0x14]
push ecx
call fcn.0045505b
mov edi, dword [esp + 0x28]
add esp, 4
push 0
push edi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
pop edi
pop esi
pop ebp
add esp, 0x14
ret