Function at 0x10037000
Capabilities:
Create directory

Disassembly:
push 0xffffffffffffffff
push 0x10066b18
mov eax, dword fs:[0]
push eax
sub esp, 0x48
mov eax, dword [0x1007a200]
xor eax, esp
mov dword [esp + 0x44], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1007a200]
xor eax, esp
push eax
lea eax, [esp + 0x5c]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [esi + 0x14]
xor edi, edi
mov dword [esp + 0x1c], esi
cmp eax, edi
je 0x1003717c
cmp eax, 3
jb 0x1003717c
cmp eax, 1
jae 0x10037058
call fcn.10048865
mov ebx, 8
cmp dword [esi + 0x18], ebx
jb 0x10037067
mov eax, dword [esi + 4]
jmp 0x1003706a
lea eax, [esi + 4]
cmp word [eax + 2], 0x3a
jne 0x1003717c
xor eax, eax
push 0xffffffffffffffff
mov word [esp + 0x28], ax
push edi
mov eax, esi
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], edi
call fcn.100024e0
mov dword [esp + 0x64], edi
mov ecx, dword [esp + 0x34]
lea esi, [ecx - 1]
cmp esi, ecx
jbe 0x100370ae
call fcn.10048865
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x38], ebx
jae 0x100370bc
lea eax, [esp + 0x24]
movzx eax, word [eax + esi*2]
cmp ax, 0x5c
je 0x10037122
cmp ax, 0x2f
je 0x10037122
or edx, 0xffffffff
sub edx, ecx
cmp edx, 1
ja 0x100370df
call fcn.10047307
mov ecx, dword [esp + 0x34]
lea edi, [ecx + 1]
lea eax, [esp + 0x20]
call fcn.10002ea0
test al, al
je 0x10037122
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x38], ebx
jae 0x100370fd
lea eax, [esp + 0x24]
mov edx, dword [esp + 0x34]
mov ecx, 0x5c
mov word [eax + edx*2], cx
mov eax, dword [esp + 0x24]
mov dword [esp + 0x34], edi
cmp dword [esp + 0x38], ebx
jae 0x1003711c
lea eax, [esp + 0x24]
xor ecx, ecx
mov word [eax + edi*2], cx
push 1
lea edx, [esp + 0x18]
push edx
xor eax, eax
lea edx, [esp + 0x28]
mov dword [esp + 0x1c], 0x5c
call fcn.10008ad0
mov esi, eax
push 1
lea eax, [esp + 0x18]
push eax
xor eax, eax
lea edx, [esp + 0x28]
mov dword [esp + 0x1c], 0x2f
call fcn.10008ad0
cmp esi, 0xffffffff
jne 0x1003715f
or esi, esi
cmp eax, 0xffffffff
jne 0x10037166
or eax, eax
mov edi, esi
cmp esi, eax
jb 0x1003716e
mov edi, eax
cmp edi, 0xffffffff
jne 0x1003719d
lea esi, [esp + 0x20]
call fcn.100156e0
xor eax, eax
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x44]
xor ecx, esp
call fcn.1004738d
add esp, 0x54
ret
mov ebp, dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
mov ebx, dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov dword [esp + 0x18], 1
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, edi
xor edx, edx
lea esi, [esp + 0x40]
call fcn.10007e80
mov eax, dword [esp + 0x40]
mov esi, 8
cmp dword [esp + 0x54], esi
jae 0x100371d6
lea eax, [esp + 0x40]
push eax
call ebp
test eax, eax
jne 0x10037201
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x54], esi
jae 0x100371eb
lea eax, [esp + 0x40]
push 0
push eax
call ebx
test eax, eax
jne 0x10037201
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x10037270
push 1
lea edx, [esp + 0x18]
lea esi, [edi + 1]
push edx
mov eax, esi
lea edx, [esp + 0x28]
mov dword [esp + 0x1c], 0x5c
call fcn.10008ad0
mov edi, eax
push 1
lea eax, [esp + 0x18]
push eax
mov eax, esi
lea edx, [esp + 0x28]
mov dword [esp + 0x1c], 0x2f
call fcn.10008ad0
cmp edi, 0xffffffff
jne 0x10037241
or edi, edi
cmp eax, 0xffffffff
jne 0x10037248
or eax, eax
cmp edi, eax
jb 0x1003724e
mov edi, eax
cmp edi, 0xffffffff
je 0x1003728b
cmp dword [esp + 0x54], 8
jb 0x100371b1
mov ecx, dword [esp + 0x40]
push ecx
call fcn.10047382
add esp, 4
jmp 0x100371b1
lea esi, [esp + 0x3c]
xor edi, edi
call fcn.100156e0
lea esi, [esp + 0x20]
call fcn.100156e0
mov eax, edi
jmp 0x1003717e
lea esi, [esp + 0x3c]
call fcn.100156e0
mov edi, dword [esp + 0x18]
lea esi, [esp + 0x20]
call fcn.100156e0
mov eax, edi
jmp 0x1003717e