Function at 0x4a18b4
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffcc
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 4], eax
lea eax, [ebp - 0x20]
mov edx, dword [0x479fe8]
call fcn.00403e48
lea eax, [ebp - 0x2c]
mov edx, dword [0x53da68]
call fcn.00403e48
xor eax, eax
push ebp
push 0x4a1c42
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.004fe288
mov esi, eax
call fcn.0064dfa0
mov dword [ebp - 8], eax
call fcn.0064dfa0
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x130]
mov edx, dword [ebp - 4]
add eax, dword [edx + 0x134]
test eax, eax
setg byte [ebp - 0xd]
mov eax, dword [ebp - 4]
call fcn.005f7d30
test eax, eax
setg byte [ebp - 0xe]
mov eax, dword [0x669a50]
test byte [eax + 1], 0x20
je 0x4a1987
mov eax, dword [0x669708]
mov eax, dword [eax]
call fcn.00621634
test al, al
je 0x4a1958
mov eax, dword [0x669708]
mov eax, dword [eax]
xor edx, edx
call fcn.00621e10
push 0
mov eax, dword [0x669708]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_CreateDirectoryW
mov edx, dword [0x669708]
mov edx, dword [edx]
mov eax, dword [esi + 0x1a8]
add eax, 0x38
mov ecx, 0x4a1c54
call fcn.00403b24
jmp 0x4a1a50
mov al, byte [ebp - 0xd]
or al, byte [ebp - 0xe]
je 0x4a1a16
cmp byte [ebp - 0xd], 0
je 0x4a19fd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4d4]
mov edi, dword [eax + 0x18]
dec edi
test edi, edi
jl 0x4a19fd
inc edi
xor ebx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4d4]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dl, byte [eax + 0x5c4]
mov eax, dword [ebp - 8]
call fcn.0064e1f0
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dl, byte [eax + 0x5d4]
mov eax, dword [ebp - 0xc]
call fcn.0064e1f0
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x5c4], 0
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x5d4], 0
inc ebx
dec edi
jne 0x4a19ad
cmp byte [ebp - 0xe], 0
je 0x4a1a0e
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x9e0], edx
mov eax, dword [ebp - 4]
call fcn.005ba2a4
mov eax, dword [ebp - 4]
call fcn.005b82f4
lea edx, [ebp - 0x34]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x160]
call fcn.00654994
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x30]
mov edx, 0x4a1c6c
call fcn.006547e4
mov edx, dword [ebp - 0x30]
mov eax, dword [esi + 0x1a8]
add eax, 0x38
call fcn.004038bc
mov eax, dword [ebp - 4]
call fcn.005bf884
test al, al
je 0x4a1a64
mov eax, dword [ebp - 4]
call fcn.005b82f4
mov eax, dword [esi + 0x1a8]
mov byte [eax + 0x56], 3
mov eax, dword [0x669a50]
test byte [eax + 1], 0x20
jne 0x4a1a8c
mov eax, dword [esi + 0x1a8]
mov edx, dword [eax]
call dword [edx + 0x28]
test al, al
je 0x4a1b85
lea eax, [ebp - 0x20]
mov edx, dword [0x6694c8]
mov ecx, dword [0x479fe8]
call fcn.004040ec
lea eax, [ebp - 0x2c]
mov edx, dword [ebp - 4]
add edx, 0x808
mov ecx, dword [0x53da68]
call fcn.004040ec
mov eax, dword [0x669a50]
test byte [eax + 1], 0x20
je 0x4a1adb
mov eax, dword [0x6694c8]
mov dword [eax + 4], 0x80000000
mov eax, dword [0x6694c8]
add eax, 8
call fcn.00403880
xor ecx, ecx
mov dl, 1
mov eax, dword [0x4a1640]
call fcn.00622a00
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [ebx + 0x1cc], eax
mov eax, ebx
call fcn.004a27f4
mov eax, dword [0x669a50]
test byte [eax + 1], 0x20
jne 0x4a1b10
mov eax, ebx
call fcn.0063c5d0
dec eax
jne 0x4a1b2f
call fcn.004fe288
mov eax, dword [eax + 0x1a8]
lea edx, [ebp - 0x30]
call fcn.0062d7b8
mov edx, dword [ebp - 0x30]
mov eax, ebx
call fcn.004a26fc
jmp 0x4a1b58
mov eax, dword [ebp - 4]
add eax, 0x808
lea edx, [ebp - 0x2c]
mov ecx, dword [0x53da68]
call fcn.004040ec
mov eax, dword [0x6694c8]
lea edx, [ebp - 0x20]
mov ecx, dword [0x479fe8]
call fcn.004040ec
mov eax, dword [0x669a50]
test byte [eax + 1], 0x20
je 0x4a1b7e
mov eax, dword [0x6694c8]
mov edx, dword [ebp - 0x1c]
mov dword [eax + 4], edx
mov eax, dword [0x6694c8]
add eax, 8
mov edx, dword [ebp - 0x18]
call fcn.004038bc
mov eax, ebx
call fcn.004028c0
mov eax, dword [0x669a50]
test byte [eax + 1], 0x20
jne 0x4a1bfb
mov al, byte [ebp - 0xd]
or al, byte [ebp - 0xe]
je 0x4a1bfb
cmp byte [ebp - 0xd], 0
je 0x4a1be3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4d4]
mov edi, dword [eax + 0x18]
dec edi
test edi, edi
jl 0x4a1be3
inc edi
xor ebx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4d4]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4]
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x1c]
mov dl, byte [edx + ebx*4]
mov byte [eax + 0x5c4], dl
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x1c]
mov dl, byte [edx + ebx*4]
mov byte [eax + 0x5d4], dl
inc ebx
dec edi
jne 0x4a1bb2
cmp byte [ebp - 0xe], 0
je 0x4a1bf3
mov eax, dword [ebp - 4]
mov byte [eax + 0x49a], 1
mov eax, dword [ebp - 4]
call fcn.005ba2a4
mov eax, dword [ebp - 8]
call fcn.0064e5c0
mov eax, dword [ebp - 0xc]
call fcn.0064e5c0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a1c49
lea eax, [ebp - 0x34]
mov edx, 2
call fcn.00403898
lea eax, [ebp - 0x2c]
mov edx, dword [0x53da68]
call fcn.00403f10
lea eax, [ebp - 0x20]
mov edx, dword [0x479fe8]
call fcn.00403f10
ret