Function at 0x42fa40
Capabilities:
Create directory

Disassembly:
push 0xffffffffffffffff
push 0x4a54dc
mov eax, dword fs:[0]
push eax
sub esp, 0x278
mov eax, dword [0x4d32ac]
xor eax, esp
mov dword [esp + 0x270], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4d32ac]
xor eax, esp
push eax
lea eax, [esp + 0x28c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x29c]
mov ebp, dword [esp + 0x2a4]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2a0]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x20], eax
mov dword [esp + 0x2c], ebx
mov ecx, eax
mov esi, ebp
je 0x42fac3
lea edi, [eax + 2]
lea esp, [esp]
mov dx, word [eax]
add eax, 2
cmp dx, bx
jne 0x42fab0
sub eax, edi
sar eax, 1
jne 0x42fac3
xor ecx, ecx
cmp ebp, ebx
je 0x42fae3
mov eax, ebp
lea edi, [eax + 2]
lea esp, [esp]
mov dx, word [eax]
add eax, 2
cmp dx, bx
jne 0x42fad0
sub eax, edi
sar eax, 1
jne 0x42fae3
xor esi, esi
cmp ecx, ebx
jne 0x42faeb
cmp esi, ebx
jmp 0x42fb1e
cmp esi, ebx
je 0x42fb24
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42fb17
cmp dx, bx
je 0x42fb13
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42fb17
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x42faf1
xor eax, eax
jmp 0x42fb1c
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x42fd9a
cmp ebp, ebx
je 0x42fd9a
mov eax, ebp
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x42fb31
sub eax, edx
sar eax, 1
cmp eax, ebx
jle 0x42fd9a
mov eax, ebp
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x42fb50
sub eax, edx
sar eax, 1
cmp eax, ebx
jle 0x42fd9a
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 4]
cmp eax, ebx
jne 0x42fccd
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], ebx
push ebp
mov ebx, ecx
call fcn.0042f760
test eax, eax
je 0x42fd9a
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
mov eax, ebx
push eax
mov ecx, ebp
call fcn.0042f480
test eax, eax
je 0x42fd9a
cmp dword [esp + 0x1c], 0
je 0x42fd9a
mov ebx, dword [esp + 0x18]
test ebx, ebx
jbe 0x42fd9a
mov edi, dword [esp + 0x20]
xor esi, esi
test edi, edi
je 0x42fc27
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42fbd0
sub eax, edx
sar eax, 1
mov edi, eax
xor ecx, ecx
lea ebp, [edi + 1]
mov eax, ebp
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0047e2d5
mov esi, eax
add esp, 4
lea eax, [ebp + ebp]
push eax
push 0
push esi
call fcn.00485090
mov edx, dword [esp + 0x2c]
add esp, 0xc
lea ecx, [edi + edi]
push ecx
push edx
push esi
call fcn.00483140
mov edi, dword [esp + 0x2c]
add esp, 0xc
push esi
call dword [0x4a734c]
push 0
push esi
push 0
call dword [0x4a7338]
test esi, esi
je 0x42fc46
push esi
call fcn.0047fac6
add esp, 4
push 1
push 0x40000000
push edi
lea eax, [esp + 0x24]
xor edx, edx
push eax
mov eax, 0x80
lea ecx, [edx + 4]
mov dword [esp + 0x28], 0
call fcn.00404e50
test eax, eax
jl 0x42fcbf
push 0
push 0
lea ecx, [esp + 0x20]
push ecx
xor edx, edx
call fcn.0040de80
test eax, eax
jl 0x42fcb6
lea edx, [esp + 0x18]
push edx
mov edx, dword [esp + 0x20]
mov ecx, ebx
call fcn.0040de50
test eax, eax
jl 0x42fcb6
lea eax, [esp + 0x34]
push eax
push edi
call dword [0x4a721c]
cmp eax, 0xffffffff
je 0x42fcb6
push eax
call dword [0x4a7214]
mov dword [esp + 0x2c], 1
lea esi, [esp + 0x18]
call fcn.00404e90
lea esi, [esp + 0x18]
call fcn.00404e90
jmp 0x42fd9a
cmp eax, 1
jne 0x42fd9a
mov eax, dword [ecx + 0x1c]
sub eax, 0x10
call fcn.004046b0
add eax, 0x10
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
mov dword [esp + 0x29c], ebx
call fcn.0042e1f0
add esp, 8
lea edi, [esp + 0x18]
mov byte [esp + 0x294], 1
call fcn.00403b10
lea ecx, [esp + 0x1c]
mov byte [esp + 0x294], bl
call fcn.00404eb0
lea eax, [esp + 0x28]
push eax
mov ecx, ebp
call fcn.00404920
push eax
lea ecx, [esp + 0x34]
push ecx
mov ebx, edi
mov byte [esp + 0x29c], 2
call fcn.00405430
add esp, 8
mov byte [esp + 0x294], 3
call fcn.00403b10
lea ecx, [esp + 0x30]
call fcn.00404eb0
lea ecx, [esp + 0x28]
mov byte [esp + 0x294], 0
call fcn.00404eb0
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x24]
push esi
call fcn.0042f760
test eax, eax
je 0x42fd91
mov edx, dword [esp + 0x20]
push 0
push edx
push esi
call dword [0x4a7270]
mov dword [esp + 0x2c], eax
lea ecx, [esp + 0x18]
call fcn.00404eb0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x270]
xor ecx, esp
call fcn.0047f0e0
add esp, 0x284
ret 0xc