Function at 0x1068461
Capabilities:
Create directory

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x15c
mov eax, dword [0x1099a38]
mov ecx, dword [ebp + 0x10]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [esi + 0x18]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x124], ecx
mov ecx, dword [ebp + 0x1c]
push 0x10bd1a0
mov dword [ebp - 0x110], esi
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x134], ecx
mov dword [eax], edi
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0xfffa
mov ebx, 0x1106960
push ebx
push 0xf033
push 0
mov byte [0x1106960], 0
call fcn.01031fb1
push ebx
call fcn.01045550
push 7
push ebx
call fcn.01046c95
test edi, edi
je 0x1068bb8
push 0x104
push dword [ebp - 0x124]
push 0x10224e8
push 0x10c6040
call fcn.01070fc9
push 0
push dword [ebp - 0x124]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
je 0x10685bb
push dword [ebp - 0x124]
call fcn.01044a00
and dword [ebp - 0x128], 0
push 3
pop eax
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x118], eax
mov eax, dword [0x10c5b88]
mov dword [ebp - 0x138], 5
mov dword [ebp - 0x140], eax
push 6
pop ecx
push dword [esi + 0x18]
xor eax, eax
and dword [ebp - 0x10c], eax
lea edi, [ebp - 0x15c]
push 0x10224bc
rep stosd dword es:[edi], eax
call fcn.010430af
pop ecx
pop ecx
push dword [ebp + 0x18]
xor edi, edi
push dword [ebp + 0x14]
lea eax, [ebp - 0x15c]
push 0x10bd140
push edi
push eax
push 0x10674e7
push dword [ebp - 0x124]
push edi
push edi
push dword [0x10bbbc8]
push dword [esi + 0x14]
push dword [esi + 0x18]
push dword [0x10c3b64]
call fcn.01067c8b
and dword [0x10bd140], 0xfffffff7
cmp eax, edi
je 0x10685db
push 0x1022494
call fcn.010430af
pop ecx
jmp 0x1068835
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x106851a
push 0x102245c
call fcn.01071aad
jmp 0x1068bb4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
push edi
push 0x1022430
mov dword [ebp - 0x10c], edi
call fcn.01071ac0
cmp edi, 0x4c7
pop ecx
pop ecx
je 0x1068bb4
cmp edi, 0x2ee2
jne 0x1068626
dec dword [ebp - 0x12c]
jne 0x1068638
mov dword [ebp - 0x12c], 3
mov dword [ebp - 0x10c], 0xf04b
cmp dword [ebp + 0x14], 0
je 0x1068647
dec dword [ebp - 0x138]
je 0x1068b8c
mov dword [ebp - 0x10c], 1
jmp 0x1068835
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0xf011
push 0
mov byte [ebp - 0x108], 0
mov byte [0x10f6960], 0
call fcn.010312a2
mov ecx, dword [ebp - 0x10c]
mov eax, 0xc00e4100
and ecx, eax
cmp ecx, eax
jne 0x1068688
mov dword [ebp - 0x10c], 0xd
mov edi, 0xfffa
push edi
mov esi, 0x10f6960
push esi
push dword [ebp - 0x10c]
push 0
call fcn.010312a2
test eax, eax
jne 0x10686ca
push eax
push edi
push esi
push eax
push dword [ebp - 0x10c]
mov eax, dword [0x10bd190]
push eax
neg eax
sbb eax, eax
and eax, 0x800
add eax, 0x1000
push eax
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
cmp byte [0x10f6960], 0
jne 0x1068702
push edi
push ebx
push 0xf04a
push 0
mov byte [0x1106960], 0
call fcn.010312a2
push dword [ebp - 0x10c]
push ebx
push esi
call dword [sym.imp.msvcrt.dll_sprintf]
add esp, 0xc
cmp byte [0x10f6960], 0
je 0x1068735
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1068707
sub eax, edx
cmp byte [eax + 0x10f695f], 0xa
je 0x1068735
dec esi
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x106871a
mov edi, esi
mov esi, 0x100ab5c
movsw word es:[edi], word [esi]
mov esi, 0x10f6960
mov edi, 0xfffa
push edi
push ebx
push 0xf049
push 0
mov byte [0x1106960], 0
call fcn.010312a2
mov eax, esi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x106874c
mov edi, ebx
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x1068758
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, ebx
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x1068771
cmp dword [ebp - 0x128], 0
mov esi, 0x100ab5c
movsw word es:[edi], word [esi]
je 0x10687c9
push 0xfffa
mov esi, 0x10f6960
push esi
push 0xf04c
push 0
mov byte [0x10f6960], al
call fcn.010312a2
mov eax, esi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10687a7
mov edi, ebx
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x10687b3
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, ebx
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x10687cc
or dword [0x10bd140], 8
mov esi, 0x100ab5c
movsw word es:[edi], word [esi]
push 0x10015
lea eax, [ebp - 0x108]
push eax
push ebx
push dword [0x10c3b64]
call fcn.0107473f
cmp eax, 2
jne 0x1068820
push 0
push dword [ebp - 0x134]
push dword [0x10c3b64]
call fcn.01039763
test eax, eax
je 0x10687e2
push 0x4c7
jmp 0x1068baf
mov esi, dword [ebp - 0x110]
xor eax, eax
inc eax
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x10c], eax
mov eax, dword [esi + 0x18]
xor edi, edi
cmp eax, edi
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x114], edi
mov dword [ebp - 0x120], edi
mov byte [0x10f6960], 0
mov dword [ebp - 0x130], edi
jbe 0x1068bb8
xor eax, eax
mov dword [ebp - 0x11c], eax
mov ecx, dword [esi + 0x14]
mov edx, dword [ebp - 0x11c]
add edx, ecx
test byte [edx + 0x14], 1
je 0x1068889
mov dword [ebp - 0x10c], 1
jmp 0x1068990
cmp dword [ebp - 0x114], edi
je 0x10688a1
lea edi, [eax + ecx]
push 6
pop ecx
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x110]
mov edi, dword [esi + 0x14]
lea ecx, [eax + edi]
mov edx, dword [ecx + 0x14]
test edx, 0x40000
je 0x10688c9
mov ecx, dword [ecx + 0x10]
or byte [ecx + 0x13], 2
mov ecx, dword [esi + 0x14]
and dword [ecx + eax + 0xc], 0
mov ecx, dword [esi + 0x14]
jmp 0x106895b
test edx, 0x100000
je 0x1068962
inc dword [ebp - 0x120]
cmp byte [0x10f6960], 0
je 0x1068900
mov edi, 0x10f6960
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x10688ea
mov esi, 0x102242c
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x110]
mov ecx, dword [esi + 0x14]
mov edi, dword [ecx + eax]
mov esi, edi
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x1068908
sub edi, esi
mov edx, edi
mov edi, 0x10f6960
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x1068919
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x110]
mov ecx, dword [ecx + 0x14]
lea ecx, [ecx + eax + 0x10]
mov edx, dword [ecx]
test byte [edx + 0x13], 2
jne 0x1068979
mov ecx, edx
or byte [ecx + 0x13], 2
mov ecx, dword [ebp - 0x110]
mov edx, dword [ecx + 0x14]
and dword [edx + eax + 0xc], 0
mov ecx, dword [ecx + 0x14]
and dword [ecx + eax + 8], 0
jmp 0x106896f
mov ecx, dword [ebp - 0x11c]
test byte [ecx + edi + 0x15], 2
je 0x1068979
mov dword [ebp - 0x10c], 1
mov esi, dword [ebp - 0x110]
mov ecx, dword [esi + 0x14]
and dword [ecx + eax + 0x14], 0
inc dword [ebp - 0x114]
add eax, 0x18
mov edi, dword [ebp - 0x130]
add dword [ebp - 0x11c], 0x18
inc edi
cmp edi, dword [ebp - 0x13c]
mov dword [ebp - 0x130], edi
jb 0x1068869
cmp dword [ebp - 0x114], 0
je 0x1068bb8
xor esi, esi
cmp dword [ebp - 0x10c], esi
jne 0x1068b33
cmp dword [ebp - 0x118], esi
je 0x10689de
dec dword [ebp - 0x118]
jmp 0x1068b3d
cmp dword [ebp + 0x14], esi
jne 0x1068ba0
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0xf011
push esi
mov byte [0x1106960], 0
mov byte [ebp - 0x108], 0
call fcn.010312a2
cmp dword [ebp - 0x120], esi
push 0xfffa
push ebx
je 0x1068a76
cmp dword [ebp - 0x120], 1
jne 0x1068a2a
push 0xf04d
jmp 0x1068a2f
push 0xf04e
push esi
call fcn.010312a2
mov eax, 0x10f6960
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1068a3c
mov edi, ebx
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x1068a48
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, ebx
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x1068a63
mov esi, 0x100ab5c
movsw word es:[edi], word [esi]
xor esi, esi
jmp 0x1068a81
push 0xf04f
push esi
call fcn.010312a2
push 0xfffa
push 0x10f6960
push 0xf04c
push esi
mov byte [0x10f6960], 0
call fcn.010312a2
mov edi, ebx
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x1068aa0
mov edx, 0x100ab5c
mov esi, edx
mov eax, 0x10f6960
movsw word es:[edi], word [esi]
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1068ab8
mov edi, ebx
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x1068ac4
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, ebx
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x1068add
or dword [0x10bd140], 8
mov esi, edx
movsw word es:[edi], word [esi]
push 0x10015
lea eax, [ebp - 0x108]
push eax
push ebx
push dword [0x10c3b64]
call fcn.0107473f
cmp eax, 2
jne 0x1068b29
push 0
push dword [ebp - 0x134]
push dword [0x10c3b64]
call fcn.01039763
test eax, eax
je 0x1068af0
jmp 0x1068816
mov dword [ebp - 0x128], 1
mov dword [ebp - 0x118], 3
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x110]
mov dword [ecx + 0x18], eax
mov ecx, dword [0x10c5b88]
sub ecx, dword [ebp - 0x140]
push 0xfffa
push ebx
add ecx, eax
mov eax, dword [ebp - 0x144]
push 0xf033
mov dword [eax], ecx
push 0
mov byte [0x1106960], 0
call fcn.01031fb1
push ebx
call fcn.01045550
mov esi, dword [ebp - 0x110]
jmp 0x1068545
push dword [ebp - 0x10c]
push 0x1022400
call fcn.01071ac0
pop ecx
pop ecx
jmp 0x1068bb4
push 0x10223c4
call fcn.01071aad
push 0x80030202
call fcn.01037f35
xor eax, eax
jmp 0x1068bbb
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.0106bc50
leave
ret 0x18