Function at 0x470710
Capabilities:
Create directory

Disassembly:
sub esp, 0x20c
push ebx
push ebp
push esi
lea eax, [esp + 0x100]
push edi
xor ebx, ebx
push eax
mov dword [esp + 0x14], ecx
push str.GameSave
mov byte [0x4f3ca0], bl
mov byte [0x4f3cc4], bl
call fcn.004b22b0
add esp, 8
cmp eax, 0xffffffff
jne 0x470754
push ebx
push str.GameSave
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
jmp 0x47075d
push eax
call fcn.004b2500
add esp, 4
mov byte [0x795600], bl
mov byte [0x4f0eb4], bl
xor esi, esi
mov edi, 0x797be0
mov ebp, 8
push esi
lea ecx, [esp + 0x18]
push str.NetColour_d
push ecx
call fcn.004b0670
add esp, 0xc
lea edx, [esp + 0x14]
push edx
call fcn.0048db90
add esp, 4
mov dword [edi], eax
inc esi
add edi, 4
dec ebp
jne 0x470775
mov edi, 0x4f0f18
or ecx, 0xffffffff
xor eax, eax
mov ebp, dword [esp + 0x10]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov byte [0x7979c8], bl
mov eax, ecx
mov esi, edi
mov edi, 0x6b97a8
mov byte [0x4e3b00], 6
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
mov byte [0x4e3b04], 7
rep movsb byte es:[edi], byte [esi]
mov edi, 0x4f0f18
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov word [0x4e3b08], 0xfa0
mov edx, ecx
mov esi, edi
mov edi, 0x6b9468
mov byte [0x4e3b0c], bl
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov byte [0x6b9834], bl
and ecx, 3
mov byte [0x6b9838], bl
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x14
mov edi, ebp
mov byte [0x6b9840], bl
mov byte [0x6b9844], bl
mov byte [0x6b9848], 1
mov word [0x4e3b10], 4
rep stosd dword es:[edi], eax
push ebx
mov ecx, ebp
mov byte [ebp + 0x50], bl
call fcn.00470e90
mov dword [ebp + 0x54], 0xe5
call fcn.0042dbd0
push 5
push 0x21
push 3
push 1
push ebx
push 0x8e34e0
call fcn.0042d6f0
mov al, byte [0x4e8bdc]
add esp, 0x18
cmp al, bl
mov dword [0x7975a0], ebx
mov dword [0x7975a4], ebx
mov dword [0x7975a8], ebx
mov dword [0x7975ac], ebx
mov dword [0x7975b0], ebx
mov dword [0x7975b4], ebx
mov dword [0x7975c0], ebx
mov dword [0x7975c4], ebx
je 0x4708ad
call fcn.00481cf0
jmp 0x4708da
mov ecx, ebp
call fcn.00476af0
mov ecx, ebp
call fcn.00476e00
mov ecx, ebp
call fcn.00477190
mov ecx, ebp
call fcn.00477530
mov ecx, ebp
call fcn.00477790
call fcn.00481870
call fcn.004822c0
mov al, byte [0x4e8be4]
mov dword [0x7984b0], 0x482620
cmp al, bl
je 0x47094f
push 0x4f0f18
push 0x4db9b4
push str.dune2000.cfg
mov byte [esp + 0x1c], bl
call fcn.0042ba50
add esp, 0xc
cmp eax, ebx
je 0x470917
push eax
call fcn.0042bb40
add esp, 4
jmp 0x470936
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esp + 0x10], 1
mov eax, dword [esp + 0x10]
push eax
call fcn.0042b7d0
add esp, 4
neg al
sbb eax, eax
inc eax
mov byte [0x797df0], al
jmp 0x470955
mov byte [0x797df0], bl
push 0x513488
lea ecx, [esp + 0x40]
push str._smusic
push ecx
mov byte [0x797df4], 1
call fcn.004b0670
add esp, 0xc
lea edx, [esp + 0x104]
lea eax, [esp + 0x3c]
push edx
push eax
call fcn.004b22b0
add esp, 8
cmp eax, 0xffffffff
jne 0x470995
mov byte [0x797df4], bl
jmp 0x4709a5
push eax
mov byte [0x797df4], 1
call fcn.004b2500
add esp, 4
mov edi, 0x4f0f18
or ecx, 0xffffffff
xor eax, eax
push 0x4f0f18
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x6b9518
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00493050
add esp, 4
push 1
push str.ToAll
call fcn.0048dc10
add esp, 4
push eax
call fcn.0048dcc0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 1
mov eax, ecx
mov esi, edi
mov edi, 0x7978f8
push str.NONAME
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.0048dc10
add esp, 4
push eax
call fcn.0048dcc0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, 0x4f10a9
mov edx, ecx
mov esi, edi
mov edi, 0x6b93f8
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, 2
mov byte [eax - 1], bl
mov byte [eax], bl
mov byte [eax + 1], bl
mov byte [eax + 0x33], bl
add eax, 0x66
dec ecx
jne 0x470a55
mov ecx, ebp
call fcn.008d9782
mov dword [ebp + 0x110], ebx
mov eax, dword [0x4eb018]
mov ecx, dword [0x4eb02c]
mov edx, dword [0x4eb028]
push str.CUIManager__
push eax
push ecx
push edx
call fcn.0042ef90
add esp, 0x10
mov dword [ebp + 0x114], eax
mov eax, dword [0x4eb018]
mov ecx, dword [0x4eb02c]
mov edx, dword [0x4eb028]
push str.CUIManager__
push eax
push ecx
push edx
call fcn.0042ef90
add esp, 0x10
mov dword [ebp + 0x118], eax
mov byte [ebp + 0x11d], bl
push 1
call fcn.004706c0
add esp, 4
mov byte [ebp + 0x11c], bl
mov dword [ebp + 0x138], 0xc
call fcn.008d76a6
nop
mov dword [ebp + 0x13c], eax
mov byte [0x516208], bl
mov byte [0x51620c], bl
mov byte [0x516210], bl
call fcn.00492000
test al, al
je 0x470b23
mov byte [0x516204], 1
mov byte [0x516208], bl
mov byte [0x51620c], bl
mov byte [0x516210], bl
jmp 0x470b74
mov byte [0x516204], bl
call fcn.00480f30
mov ecx, dword [0x798490]
call fcn.0049ffa0
cmp eax, ebx
je 0x470b6a
mov ecx, dword [eax + 4]
dec ecx
je 0x470b5d
dec ecx
je 0x470b54
sub ecx, 2
jne 0x470b64
mov byte [0x51620c], 1
jmp 0x470b64
mov byte [0x516210], 1
jmp 0x470b64
mov byte [0x516208], 1
mov eax, dword [eax]
cmp eax, ebx
jne 0x470b3d
push 1
call fcn.00481030
add esp, 4
mov byte [0x4f3d4c], bl
call fcn.004810d0
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x20c
ret