Function at 0x10001350
Capabilities:
Create directory
Get common file path

Disassembly:
sub esp, 0x220
push ebx
push ebp
push esi
push edi
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x130]
or ebx, 0xffffffff
rep stosd dword es:[edi], eax
lea eax, [esp + 0x130]
mov dword [esp + 0x1c], ebx
push eax
push 0x100
mov dword [esp + 0x20], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x34], ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
mov edi, str.drvdata
mov ecx, ebx
xor eax, eax
lea edx, [esp + 0x130]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push eax
mov esi, edi
mov ebp, ecx
mov edi, edx
mov ecx, ebx
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea eax, [esp + 0x134]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.10002139
add esp, 8
cmp eax, ebx
jne 0x100013f9
push 0
push 0x1001313c
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
je 0x100017c0
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x30]
lea edx, [esp + 0x30]
rep stosd dword es:[edi], eax
lea edi, [esp + 0x130]
mov ecx, ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x30]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.SdIn_File.dat
mov ecx, ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
mov ecx, ebx
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea eax, [esp + 0x1c]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x34]
push ecx
call fcn.100011f0
mov dword [0x10016028], eax
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x38]
rep stosd dword es:[edi], eax
lea edi, [esp + 0x138]
mov ecx, ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x38]
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x38]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.FrIn_File.dat
mov ecx, ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
mov ecx, ebx
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea eax, [esp + 0x2c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x38]
push eax
push ecx
call fcn.100011f0
mov dword [0x1001602c], eax
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x40]
rep stosd dword es:[edi], eax
lea edi, [esp + 0x140]
mov ecx, ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x40]
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x40]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.ANow_File.dat
mov ecx, ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
mov ecx, ebx
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea eax, [esp + 0x24]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x44]
push ecx
call fcn.100011f0
mov dword [0x10016030], eax
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x48]
rep stosd dword es:[edi], eax
lea edi, [esp + 0x148]
mov ecx, ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x48]
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x48]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.TideTitle_File.dat
mov ecx, ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
mov ecx, ebx
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea eax, [esp + 0x28]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x4c]
push ecx
call fcn.100011f0
mov ecx, dword [0x10016028]
add esp, 0x20
test ecx, ecx
mov dword [0x10016034], eax
je 0x100017c0
mov edx, dword [0x1001602c]
test edx, edx
je 0x100017c0
mov edx, dword [0x10016030]
test edx, edx
je 0x100017c0
test eax, eax
je 0x100017c0
lea edx, [esp + 0x18]
push edx
push str.JDRH_SdIn_Map
push 0x39c68
push ecx
call fcn.10001230
mov ecx, dword [0x1001602c]
mov dword [0x10016038], eax
lea eax, [esp + 0x30]
push eax
push str.JDRH_FrIn_Map
push 0x485190
push ecx
call fcn.10001230
lea edx, [esp + 0x48]
mov dword [0x1001603c], eax
mov eax, dword [0x10016030]
push edx
push str.JDRH_ANow_Map
push 0x1955c0
push eax
call fcn.10001230
mov edx, dword [0x10016034]
lea ecx, [esp + 0x5c]
push ecx
push str.JDRH_TideTitle_Map
push 0x174180
push edx
mov dword [0x10016040], eax
call fcn.10001230
mov ecx, dword [0x10016038]
add esp, 0x40
test ecx, ecx
mov dword [0x10016044], eax
je 0x100017c0
mov edx, dword [0x1001603c]
test edx, edx
je 0x100017c0
mov edx, dword [0x10016040]
test edx, edx
je 0x100017c0
test eax, eax
je 0x100017c0
push 0x39c68
push ecx
call fcn.10001270
mov dword [0x10016048], eax
mov eax, dword [0x1001603c]
push 0x485190
push eax
call fcn.10001270
mov ecx, dword [0x10016040]
push 0x1955c0
push ecx
mov dword [0x1001604c], eax
call fcn.10001270
mov edx, dword [0x10016044]
push 0x174180
push edx
mov dword [0x10016050], eax
call fcn.10001270
mov edi, dword [0x10016048]
add esp, 0x20
mov ecx, eax
test edi, edi
mov dword [0x10016054], ecx
je 0x100017c0
mov eax, dword [0x1001604c]
test eax, eax
je 0x100017c0
mov edx, dword [0x10016050]
test edx, edx
je 0x100017c0
test ecx, ecx
je 0x100017c0
mov ecx, dword [esp + 0x1c]
mov edx, 0xb7
cmp ecx, edx
jne 0x1000173f
cmp dword [esp + 0x18], edx
je 0x1000174d
mov ecx, 9
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [0x1001604c]
cmp dword [esp + 0x24], edx
jne 0x10001759
cmp dword [esp + 0x20], edx
je 0x10001763
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
cmp dword [esp + 0x10], edx
je 0x10001778
mov edi, dword [0x10016054]
mov ecx, 0x5d060
xor eax, eax
rep stosd dword es:[edi], eax
cmp dword [esp + 0x14], edx
je 0x1000178d
mov edi, dword [0x10016050]
mov ecx, 0x65570
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [0x10016048]
pop edi
pop esi
pop ebp
mov dword [eax + 0x18], eax
mov edx, dword [0x1001604c]
mov dword [eax + 0x1c], edx
mov ecx, dword [0x10016050]
mov dword [eax + 0x14], ecx
mov edx, dword [0x10016054]
mov dword [eax + 0x20], edx
mov eax, 1
pop ebx
add esp, 0x220
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x220
ret