Function at 0x402100
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x61c
mov eax, dword [0x42603c]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
push 0x206
push eax
lea ecx, [ebp - 0x20a]
push ecx
mov word [ebp - 0x20c], ax
call fcn.00413700
xor edx, edx
push 0x206
push edx
lea eax, [ebp - 0x61a]
push eax
mov word [ebp - 0x61c], dx
call fcn.00413700
lea edx, [ebp - 0x20c]
add esp, 0x18
mov eax, ebx
sub edx, ebx
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x402156
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x402170
sub eax, edx
sar eax, 1
cmp word [ebp + eax*2 - 0x20e], 0x5c
lea eax, [ebp + eax*2 - 0x20c]
jne 0x402197
xor ecx, ecx
mov word [eax - 2], cx
push esi
push edi
xor edx, edx
push 0x206
push edx
lea eax, [ebp - 0x412]
push eax
mov word [ebp - 0x414], dx
call fcn.00413700
lea ecx, [ebp - 0x20c]
push 0x5c
push ecx
call fcn.0040f52d
mov edi, dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
add esp, 0x14
test eax, eax
je 0x402228
add eax, 2
push 0x5c
push eax
call fcn.0040f52d
mov esi, eax
add esp, 8
test esi, esi
je 0x402228
lea eax, [ebp - 0x20c]
mov edx, esi
sub edx, eax
sar edx, 1
push edx
mov ecx, eax
push ecx
lea edx, [ebp - 0x414]
push edx
call fcn.0040f8f5
lea eax, [ebp - 0x414]
push 0
push eax
call fcn.0040fe09
add esp, 0x14
test eax, eax
jne 0x40227c
push 0x5c
add esi, 2
push esi
call fcn.0040f52d
mov esi, eax
add esp, 8
test esi, esi
jne 0x4021e3
push 0
push ebx
call fcn.0040fe09
add esp, 8
test eax, eax
je 0x40235b
push 0
push ebx
call edi
test eax, eax
jne 0x40235b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ebx
push str.wmcFuncFileSystem__CreateFullDirectory__CreateDirectory
lea edx, [ebp - 0x61c]
push str.__s_:
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x14
pop edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040f51e
mov esp, ebp
pop ebp
ret
push 0
lea ecx, [ebp - 0x414]
push ecx
call edi
test eax, eax
je 0x4022e7
push 0x5c
add esi, 2
push esi
call fcn.0040f52d
mov esi, eax
add esp, 8
test esi, esi
je 0x402228
nop
lea eax, [ebp - 0x20c]
mov edx, esi
sub edx, eax
sar edx, 1
push edx
mov ecx, eax
push ecx
lea edx, [ebp - 0x414]
push edx
call fcn.0040f8f5
add esp, 0xc
push 0
lea eax, [ebp - 0x414]
push eax
call edi
test eax, eax
je 0x402321
push 0x5c
add esi, 2
push esi
call fcn.0040f52d
mov esi, eax
add esp, 8
test esi, esi
jne 0x4022a0
jmp 0x402228
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x414]
push ecx
push str.wmcFuncFileSystem__CreateFullDirectory__CreateDirectory
lea edx, [ebp - 0x61c]
push str.__s_:
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x14
pop edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040f51e
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x414]
push eax
push str.wmcFuncFileSystem__CreateFullDirectory__CreateDirectory
lea ecx, [ebp - 0x61c]
push str.__s_:
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x14
pop edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040f51e
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
mov eax, 1
pop esi
call fcn.0040f51e
mov esp, ebp
pop ebp
ret