Function at 0x48e5c0
Capabilities:
Create directory

Disassembly:
push 0xffffffffffffffff
push 0x4b3088
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14
mov al, byte [esp + 0x24]
push ebx
push ebp
push esi
push edi
push 0
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], al
call fcn.00410c90
mov edx, dword [esp + 0x34]
or ebx, 0xffffffff
mov edi, edx
mov ecx, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [esp + 0x1c]
call fcn.00410d10
mov eax, dword [esp + 0x18]
mov ebp, dword [0x4b49e8]
test eax, eax
mov dword [esp + 0x2c], 0
jne 0x48e627
mov eax, 0x4b49e4
push eax
call fcn.00485280
add esp, 4
test al, al
je 0x48e658
push 1
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], ebx
call fcn.00410c90
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
mov ecx, dword [esp + 0x14]
mov dword fs:[0], ecx
add esp, 0x20
ret
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x48e694
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x48e66d
mov eax, 0x4b49e4
push 0
push eax
call dword [sym.imp.kernel32.dll_CreateDirectoryA]
cmp eax, 1
push 1
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], 0xffffffff
sete bl
call fcn.00410c90
jmp 0x48eb70
mov ecx, dword [esp + 0x18]
lea esi, [eax - 1]
cmp eax, esi
jb 0x48e6b5
test ecx, ecx
je 0x48e6b5
lea ecx, [esp + 0x14]
call fcn.0041f450
mov ecx, dword [esp + 0x18]
lea eax, [ecx + esi]
jmp 0x48e6ba
mov eax, 0x4b49e4
cmp byte [eax], 0x5c
je 0x48e6e0
mov edi, 0x4ca2e0
mov ecx, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4ca2e0
lea ecx, [esp + 0x1c]
call fcn.0041f750
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov esi, 2
cmp eax, esi
jb 0x48e9d0
test ecx, ecx
je 0x48e706
lea ecx, [esp + 0x14]
call fcn.0041f450
mov ecx, dword [esp + 0x18]
mov eax, ecx
jmp 0x48e70b
mov eax, 0x4b49e4
cmp byte [eax], 0x5c
jne 0x48e7ae
cmp dword [esp + 0x1c], 1
jb 0x48e731
test ecx, ecx
je 0x48e731
lea ecx, [esp + 0x14]
call fcn.0041f450
mov ecx, dword [esp + 0x18]
lea eax, [ecx + 1]
jmp 0x48e736
mov eax, 0x4b49e4
cmp byte [eax], 0x5c
jne 0x48e7ae
cmp dword [esp + 0x1c], esi
jne 0x48e765
push 1
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], ebx
call fcn.00410c90
pop edi
pop esi
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 0x14]
mov dword fs:[0], ecx
add esp, 0x20
ret
push 1
lea ecx, [esp + 0x38]
push esi
push ecx
lea ecx, [esp + 0x20]
mov byte [esp + 0x40], 0x5c
call fcn.0048eb90
mov ebp, eax
mov eax, dword [0x4b49e8]
cmp ebp, eax
jne 0x48ea2f
push 1
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], ebx
call fcn.00410c90
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
mov ecx, dword [esp + 0x14]
mov dword fs:[0], ecx
add esp, 0x20
ret
test ecx, ecx
je 0x48e7c3
lea ecx, [esp + 0x14]
call fcn.0041f450
mov ecx, dword [esp + 0x18]
mov eax, ecx
jmp 0x48e7c8
mov eax, 0x4b49e4
cmp byte [eax], 0x61
jle 0x48e7ec
test ecx, ecx
je 0x48e7e2
lea ecx, [esp + 0x14]
call fcn.0041f450
mov ecx, dword [esp + 0x18]
mov eax, ecx
jmp 0x48e7e7
mov eax, 0x4b49e4
cmp byte [eax], 0x7a
jl 0x48e832
test ecx, ecx
je 0x48e801
lea ecx, [esp + 0x14]
call fcn.0041f450
mov ecx, dword [esp + 0x18]
mov eax, ecx
jmp 0x48e806
mov eax, 0x4b49e4
cmp byte [eax], 0x41
jle 0x48e92c
test ecx, ecx
je 0x48e824
lea ecx, [esp + 0x14]
call fcn.0041f450
mov ecx, dword [esp + 0x18]
mov eax, ecx
jmp 0x48e829
mov eax, 0x4b49e4
cmp byte [eax], 0x5a
jge 0x48e92c
cmp dword [esp + 0x1c], 1
jb 0x48e84f
test ecx, ecx
je 0x48e84f
lea ecx, [esp + 0x14]
call fcn.0041f450
mov ecx, dword [esp + 0x18]
lea eax, [ecx + 1]
jmp 0x48e854
mov eax, 0x4b49e4
cmp byte [eax], 0x3a
jne 0x48e92c
mov eax, dword [esp + 0x1c]
cmp eax, 3
jne 0x48e88a
push 1
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], ebx
call fcn.00410c90
pop edi
pop esi
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 0x14]
mov dword fs:[0], ecx
add esp, 0x20
ret
cmp eax, esi
jb 0x48e8a4
test ecx, ecx
je 0x48e8a4
lea ecx, [esp + 0x14]
call fcn.0041f450
mov edx, dword [esp + 0x18]
lea eax, [edx + 2]
jmp 0x48e8a9
mov eax, 0x4b49e4
cmp byte [eax], 0x5c
je 0x48e8d2
push 1
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], ebx
call fcn.00410c90
pop edi
pop esi
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 0x14]
mov dword fs:[0], ecx
add esp, 0x20
ret
push 1
lea eax, [esp + 0x14]
push 3
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1c], 0x5c
call fcn.0048eb90
mov ebp, eax
mov eax, dword [0x4b49e8]
cmp ebp, eax
jne 0x48ea2f
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x48e905
mov eax, 0x4b49e4
push 0
push eax
call dword [sym.imp.kernel32.dll_CreateDirectoryA]
cmp eax, 1
push 1
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], 0xffffffff
sete bl
call fcn.00410c90
jmp 0x48eb70
test ecx, ecx
je 0x48e941
lea ecx, [esp + 0x14]
call fcn.0041f450
mov ecx, dword [esp + 0x18]
mov eax, ecx
jmp 0x48e946
mov eax, 0x4b49e4
cmp byte [eax], 0x5c
jne 0x48e9d0
cmp dword [esp + 0x1c], 1
jb 0x48e96c
test ecx, ecx
je 0x48e96c
lea ecx, [esp + 0x14]
call fcn.0041f450
mov ecx, dword [esp + 0x18]
lea eax, [ecx + 1]
jmp 0x48e971
mov eax, 0x4b49e4
cmp byte [eax], 0x5c
je 0x48e9d0
push 1
lea ecx, [esp + 0x15]
push 1
push ecx
lea ecx, [esp + 0x20]
mov byte [esp + 0x1d], 0x5c
call fcn.0048eb90
mov ebp, eax
mov eax, dword [0x4b49e8]
cmp ebp, eax
jne 0x48ea2f
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x48e9a9
mov eax, 0x4b49e4
push 0
push eax
call dword [sym.imp.kernel32.dll_CreateDirectoryA]
cmp eax, 1
push 1
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], 0xffffffff
sete bl
call fcn.00410c90
jmp 0x48eb70
mov eax, dword [0x4b49e8]
cmp ebp, eax
jne 0x48ea33
push 1
lea edx, [esp + 0x16]
push 0
push edx
lea ecx, [esp + 0x20]
mov byte [esp + 0x1e], 0x5c
call fcn.0048eb90
mov ebp, eax
mov eax, dword [0x4b49e8]
cmp ebp, eax
jne 0x48ea2f
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x48ea08
mov eax, 0x4b49e4
push 0
push eax
call dword [sym.imp.kernel32.dll_CreateDirectoryA]
cmp eax, 1
push 1
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], 0xffffffff
sete bl
call fcn.00410c90
jmp 0x48eb70
mov ecx, dword [esp + 0x18]
cmp ebp, eax
mov bl, 1
je 0x48eb48
mov byte [esp + 0x13], 0x5c
cmp dword [esp + 0x1c], ebp
jb 0x48ea5d
test ecx, ecx
je 0x48ea5d
lea ecx, [esp + 0x14]
call fcn.0041f450
mov eax, dword [esp + 0x18]
add eax, ebp
jmp 0x48ea62
mov eax, 0x4b49e4
mov byte [eax], 0
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x48ea72
mov eax, 0x4b49e4
push eax
call fcn.00485280
add esp, 4
test al, al
jne 0x48ea9d
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x48ea8c
mov eax, 0x4b49e4
push 0
push eax
call dword [sym.imp.kernel32.dll_CreateDirectoryA]
cmp eax, 1
sete bl
jmp 0x48ea9f
mov bl, 1
mov edx, dword [esp + 0x1c]
cmp edx, ebp
jb 0x48eadb
mov eax, dword [esp + 0x18]
test eax, eax
je 0x48eadb
mov cl, byte [eax - 1]
test cl, cl
je 0x48eacb
cmp cl, 0xff
je 0x48eacb
push 0
push edx
lea ecx, [esp + 0x1c]
call fcn.00410dd0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x48ead7
mov byte [eax - 1], 0xff
mov eax, dword [esp + 0x18]
add eax, ebp
jmp 0x48eae0
mov eax, 0x4b49e4
mov byte [eax], 0x5c
mov esi, dword [esp + 0x1c]
lea eax, [ebp + 1]
cmp eax, esi
jae 0x48eb2f
sub esi, eax
cmp esi, 1
jb 0x48eb2f
mov ecx, dword [esp + 0x18]
push esi
push 0x5c
lea edi, [ecx + eax]
push edi
call fcn.0049f060
add esp, 0xc
test eax, eax
je 0x48eb2f
mov cl, byte [eax]
lea edx, [esp + 0x13]
cmp cl, byte [edx]
je 0x48eb5e
sub edi, eax
lea esi, [esi + edi - 1]
lea edi, [eax + 1]
push esi
push 0x5c
push edi
call fcn.0049f060
add esp, 0xc
test eax, eax
jne 0x48eb0c
mov eax, dword [0x4b49e8]
mov ecx, dword [esp + 0x18]
mov edx, dword [0x4b49e8]
mov ebp, eax
cmp eax, edx
jne 0x48ea42
test ecx, ecx
je 0x48eb70
mov al, byte [ecx - 1]
test al, al
je 0x48eb66
cmp al, 0xff
je 0x48eb66
dec al
mov byte [ecx - 1], al
jmp 0x48eb70
mov ecx, dword [esp + 0x18]
sub eax, ecx
jmp 0x48eb38
dec ecx
push ecx
call fcn.004a2a3d
add esp, 4
mov ecx, dword [esp + 0x24]
pop edi
pop esi
mov al, bl
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x20
ret