Function at 0x10069830
Capabilities:
Create directory

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100dd4bd
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x148
mov eax, dword [0x10145040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x13c], eax
xor esi, esi
mov dword [ebp - 0x18], 7
xorps xmm0, xmm0
mov dword [ebp - 0x1c], esi
xor ecx, ecx
movups xmmword [ebp - 0x2c], xmm0
mov word [ebp - 0x2c], cx
mov dword [ebp - 4], ecx
mov dword [ebp - 0x140], 0x5c
nop
mov edi, dword [eax + 0x10]
inc esi
cmp dword [eax + 0x14], 7
mov dword [ebp - 0x138], eax
jbe 0x100698b8
mov eax, dword [eax]
mov dword [ebp - 0x138], eax
cmp esi, edi
jae 0x10069934
push pe_nt_image_headers32
lea eax, [ebp - 0x130]
push 0
push eax
call fcn.100af4a0
add esp, 0xc
mov ecx, 0x101321e4
mov edx, pe_nt_image_headers32
nop dword [eax]
movzx eax, word [ecx]
cmp ax, dx
jae 0x10069a01
movzx eax, al
add ecx, 2
mov byte [ebp + eax - 0x130], 1
cmp ecx, 0x101321ea
jne 0x100698e0
mov edx, dword [ebp - 0x138]
lea ecx, [edx + edi*2]
lea esi, [edx + esi*2]
cmp esi, ecx
jae 0x10069934
mov edi, pe_nt_image_headers32
movzx eax, word [esi]
cmp ax, di
jae 0x1006992d
cmp byte [ebp + eax - 0x130], 0
jne 0x100699f8
add esi, 2
cmp esi, ecx
jb 0x10069917
or esi, 0xffffffff
mov edx, dword [ebp - 0x13c]
mov ecx, esi
xorps xmm0, xmm0
mov dword [ebp - 0x148], 0
movups xmmword [ebp - 0x158], xmm0
mov dword [ebp - 0x144], 0
mov eax, edx
cmp dword [edx + 0x10], esi
cmovb ecx, dword [edx + 0x10]
cmp dword [edx + 0x14], 7
jbe 0x1006996e
mov eax, dword [edx]
push ecx
push eax
lea ecx, [ebp - 0x158]
call fcn.1006ef60
lea ecx, [ebp - 0x2c]
call fcn.1006d670
movups xmm0, xmmword [ebp - 0x158]
xor eax, eax
lea ecx, [ebp - 0x158]
mov word [ebp - 0x158], ax
movups xmmword [ebp - 0x2c], xmm0
movq xmm0, qword [ebp - 0x148]
movq qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 7
call fcn.1006d670
cmp dword [ebp - 0x18], 7
lea eax, [ebp - 0x2c]
push 0
cmova eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x100699e8
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x10069a61
cmp esi, 0xffffffff
je 0x10069a6a
mov eax, dword [ebp - 0x13c]
jmp 0x100698a0
sub esi, edx
sar esi, 1
jmp 0x10069937
mov eax, dword [ebp - 0x138]
lea edi, [eax + edi*2]
lea esi, [eax + esi*2]
cmp esi, edi
jae 0x10069934
nop word [eax + eax]
movzx edx, word [esi]
mov ecx, 3
mov eax, 0x101321e4
cmp word [ebp - 0x140], dx
je 0x10069a54
cmp ecx, 1
je 0x10069a48
add eax, 2
dec ecx
cmp word [eax], dx
jne 0x10069a36
test eax, eax
jne 0x10069a54
add esi, 2
cmp esi, edi
jb 0x10069a20
jmp 0x10069934
sub esi, dword [ebp - 0x138]
sar esi, 1
jmp 0x10069937
mov byte [ebp - 0x131], 0
jmp 0x10069a71
mov byte [ebp - 0x131], 1
lea ecx, [ebp - 0x2c]
call fcn.1006d670
mov al, byte [ebp - 0x131]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10096753
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret