Function at 0x4010a0
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
mov dword [ebp - 0x38], 1
cmp dword [ebp + 8], 2
jge 0x4010e4
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx]
push eax
push str.Usage:__s__d88file____d__n
push 2
call fcn.00404b98
add esp, 4
push eax
call fcn.00401670
add esp, 0xc
mov eax, 1
jmp 0x4015b5
cmp dword [ebp + 8], 2
jle 0x401110
push 0x4181a0
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx]
push eax
call fcn.00406cf0
add esp, 8
test eax, eax
jne 0x401110
mov dword [ebp - 0x38], 0
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx]
push eax
mov ecx, 0x41f9c8
call fcn.004017c0
movzx ecx, al
test ecx, ecx
jne 0x401152
push 0x4181a4
push 2
call fcn.00404b98
add esp, 4
push eax
call fcn.00401670
add esp, 8
mov eax, 1
jmp 0x4015b5
mov ecx, 0x41f9c8
call fcn.00401b20
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x14], 0
jmp 0x401171
mov edx, dword [ebp - 0x14]
add edx, 1
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x50]
jge 0x4015b3
cmp dword [ebp - 0x38], 0
je 0x4011d2
mov ecx, dword [ebp - 0x14]
push ecx
push str._03d
push 0x4d51d0
call fcn.004016f0
add esp, 0xc
push 0x4d51d0
call fcn.0040724f
add esp, 4
push 0x4d51d0
call fcn.00407175
add esp, 4
push 0x4d51d0
mov ecx, 0x41f9c8
call fcn.00401b60
push eax
push str._n__s______s_n
call fcn.004016b0
add esp, 0xc
jmp 0x4011ea
mov ecx, 0x41f9c8
call fcn.00401b60
push eax
push str._n__s__n
call fcn.004016b0
add esp, 8
mov edx, dword [ebp - 0x14]
push edx
mov ecx, 0x41f9c8
call fcn.00401940
push 0x40
push 0x4d5190
push 1
mov ecx, 0x41f9c8
call fcn.00401e50
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [ebp - 0xc], eax
mov eax, 1
shl eax, 1
movzx ecx, byte [eax + 0x4d5190]
cmp ecx, 0xf7
jne 0x401249
mov edx, 1
imul eax, edx, 3
movzx ecx, byte [eax + 0x4d5190]
test ecx, ecx
jne 0x401249
mov edx, dword [ebp - 0xc]
sub edx, 1
mov dword [ebp - 0xc], edx
mov eax, 1
imul ecx, eax, 7
movzx edx, byte [ecx + 0x4d5190]
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0x24]
add ecx, 7
mov eax, 1
shl eax, cl
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
imul ecx, dword [ebp - 0xc]
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [ebp - 0x24]
push edx
push str.N_d__Sec_Trk___d__secsize__0x_04x__trksize__0x_04x_n
call fcn.004016b0
add esp, 0x14
mov eax, dword [ebp - 0xc]
push eax
push 1
mov ecx, 0x41f9c8
call fcn.00401b00
push 0x1400
push 0xff
push 0x41fd90
call fcn.00403bb0
add esp, 0xc
mov ecx, dword [ebp - 0x3c]
push ecx
push 0x41fd90
mov edx, dword [ebp - 0x24]
push edx
push 1
push 1
push 0
push 1
mov ecx, 0x41f9c8
call fcn.00401d50
push 5
push 0x41821c
push 0x41fd90
call fcn.00402c99
add esp, 0xc
test eax, eax
jne 0x40134a
push 0x2000
push 0
push 1
push 1
push 0
push 1
push 2
push 0x418224
call fcn.00401020
add esp, 0x20
push 0x1000
push 0
push 1
push 1
push 1
push 1
push 3
push str.SEDAT
call fcn.00401020
add esp, 0x20
push 0x500
push 0
push 1
push 9
push 1
push 1
push 3
push str.SS000
call fcn.00401020
add esp, 0x20
mov ecx, 0x41f9c8
call fcn.00401b80
cmp eax, 0x10
jne 0x4013e0
push 4
push str.BIOS
mov eax, 1
imul ecx, eax, 0
add ecx, 0x41fd90
push ecx
call fcn.00402c99
add esp, 0xc
test eax, eax
jne 0x4013e0
push 5
push str.BIOS2
mov edx, 1
shl edx, 4
add edx, 0x41fd90
push edx
call fcn.00402c99
add esp, 0xc
test eax, eax
jne 0x4013e0
push 5
push str.BIOS3
mov eax, 1
shl eax, 5
add eax, 0x41fd90
push eax
call fcn.00402c99
add esp, 0xc
test eax, eax
jne 0x4013e0
push 0x430
push 0
push 1
push 9
push 0
push 5
push 0xa
push str.SS039
call fcn.00401020
add esp, 0x20
mov dword [ebp - 0x1c], 0
jmp 0x4013f2
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], 0x140
jae 0x40159b
mov edx, dword [ebp - 0x1c]
shl edx, 4
add edx, 0x41fd90
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
movzx ecx, byte [eax]
cmp ecx, 0x20
jne 0x40141b
jmp 0x4013e9
mov edx, dword [ebp - 8]
movzx eax, byte [edx + 7]
cmp eax, 0x4b
jne 0x401429
jmp 0x4013e9
mov ecx, dword [ebp - 8]
movzx edx, byte [ecx]
cmp edx, 0xff
jne 0x40143c
jmp 0x40159b
mov dword [ebp - 0x10], 0
push 0x104
push 0
push 0x41f8c0
call fcn.00403bb0
add esp, 0xc
mov dword [ebp - 0x20], 0
jmp 0x401469
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 6
jge 0x40149b
mov ecx, dword [ebp - 8]
add ecx, dword [ebp - 0x20]
mov dl, byte [ecx]
mov byte [ebp - 1], dl
movsx eax, byte [ebp - 1]
test eax, eax
jne 0x401484
jmp 0x40149b
mov ecx, dword [ebp - 0x10]
mov dl, byte [ebp - 1]
mov byte [ecx + 0x41f8c0], dl
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
jmp 0x401460
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x40], 0x104
jae 0x4014b5
jmp 0x4014ba
call fcn.00402404
mov eax, dword [ebp - 0x40]
mov byte [eax + 0x41f8c0], 0
mov ecx, dword [ebp - 8]
movzx edx, byte [ecx + 0xc]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 8]
movzx ecx, byte [eax + 0xd]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 8]
movzx eax, byte [edx + 0xe]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 8]
movzx edx, byte [ecx + 0xf]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 8]
movzx ecx, byte [eax + 0xa]
mov edx, dword [ebp - 8]
movzx eax, byte [edx + 0xb]
shl eax, 8
lea ecx, [ecx + eax + 1]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x4c]
imul edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x48]
lea ecx, [edx + eax - 1]
mov edx, dword [ebp - 0x18]
imul edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x34]
lea edx, [edx + eax - 1]
sub ecx, edx
add ecx, 1
imul ecx, dword [ebp - 0x28]
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [ebp - 0x44]
jle 0x401540
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x2c]
push ecx
mov edx, dword [ebp - 0x48]
push edx
mov eax, dword [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 0x34]
push ecx
mov edx, dword [ebp - 0x18]
push edx
push 0x41f8c0
push str.__6s___START:_02x__02x____END:_02x__02x___ENTRYSIZE:_4x___SIZE:_4x_n
call fcn.004016b0
add esp, 0x20
mov eax, dword [ebp - 0x30]
push eax
push 0
mov ecx, dword [ebp - 0x24]
push ecx
mov edx, dword [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x18]
and eax, 1
push eax
mov ecx, dword [ebp - 0x18]
sar ecx, 1
push ecx
mov edx, dword [ebp - 0x18]
push edx
push 0x41f8c0
call fcn.00401020
add esp, 0x20
jmp 0x4013e9
cmp dword [ebp - 0x38], 0
je 0x4015ae
push 0x41825c
call fcn.00407175
add esp, 4
jmp 0x401168
xor eax, eax
mov esp, ebp
pop ebp
ret