Function at 0x5454a0
Capabilities:
Get common file path

Disassembly:
sub esp, 0x204
mov eax, dword [0x6a7564]
xor eax, esp
mov dword [esp + 0x200], eax
push ebx
push ebp
push esi
push edi
xor ebx, ebx
push 0xff
lea eax, [esp + 0x115]
push ebx
push eax
mov ebp, ecx
mov byte [esp + 0x11c], bl
call fcn.0055a690
push 0xff
lea ecx, [esp + 0x21]
push ebx
push ecx
mov byte [esp + 0x28], bl
call fcn.0055a690
add esp, 0x18
lea edx, [esp + 0x110]
push edx
push 0x100
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [esp + 0x110]
push eax
lea ecx, [ebp + 4]
call fcn.00424910
xor eax, eax
cmp dword [0x5ad16c], ebx
je 0x545950
mov edi, edi
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x545520
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x545535
mov cl, byte [0x57ea62]
lea edx, [esp + 0x10]
mov byte [edi], cl
push edx
lea ecx, [ebp + 8]
call fcn.00424910
xor eax, eax
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x545554
lea edi, [esp + 0x10]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x545570
mov ecx, 5
mov esi, str.ResourceEffectScript
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [esp + 0x10]
push eax
lea ecx, [ebp + 0xc]
movsb byte es:[edi], byte [esi]
call fcn.00424910
xor eax, eax
jmp 0x5455a0
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x5455a0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x5455b5
mov ecx, dword [str.Ini]
mov dl, byte [0x590b58]
mov dword [eax], ecx
mov byte [eax + 4], dl
lea eax, [esp + 0x10]
push eax
lea ecx, [ebp + 0x10]
call fcn.00424910
xor eax, eax
lea ecx, [ecx]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x5455e0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x5455f5
mov ecx, dword [str.Sound]
mov dx, word [0x590b50]
mov dword [eax], ecx
mov cl, byte [0x590b52]
mov word [eax + 4], dx
lea edx, [esp + 0x10]
mov byte [eax + 6], cl
push edx
lea ecx, [ebp + 0x14]
call fcn.00424910
xor eax, eax
jmp 0x545630
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x545630
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x545645
mov ecx, dword [str.Resource]
mov edx, dword [0x590b44]
mov dword [eax], ecx
mov cx, word [0x590b48]
mov dword [eax + 4], edx
lea edx, [esp + 0x10]
mov word [eax + 8], cx
push edx
lea ecx, [ebp + 0x18]
call fcn.00424910
xor eax, eax
jmp 0x545680
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x545680
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x545695
mov ecx, dword [str.BGM]
mov dl, byte [0x590b3c]
mov dword [eax], ecx
mov byte [eax + 4], dl
lea eax, [esp + 0x10]
push eax
lea ecx, [ebp + 0x1c]
call fcn.00424910
xor eax, eax
lea ecx, [ecx]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x5456c0
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x5456d5
mov cl, byte [0x57ea62]
lea edx, [esp + 0x10]
mov byte [edi], cl
push edx
lea ecx, [ebp + 0x20]
call fcn.00424910
xor eax, eax
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x5456f4
lea edi, [esp + 0x10]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x545710
mov al, byte [0x57ea62]
lea ecx, [esp + 0x10]
push ecx
lea ecx, [ebp + 0x24]
mov byte [edi], al
call fcn.00424910
xor eax, eax
mov edi, edi
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x545730
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x545745
mov dl, byte [0x57ea62]
lea eax, [esp + 0x10]
push eax
lea ecx, [ebp + 0x28]
mov byte [edi], dl
call fcn.00424910
xor eax, eax
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x545764
lea edi, [esp + 0x10]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x545780
mov cl, byte [0x57ea62]
lea edx, [esp + 0x10]
mov byte [edi], cl
push edx
lea ecx, [ebp + 0x2c]
call fcn.00424910
xor eax, eax
nop
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x5457a0
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x5457b5
mov al, byte [0x57ea62]
lea ecx, [esp + 0x10]
push ecx
lea ecx, [ebp + 0x30]
mov byte [edi], al
call fcn.00424910
xor eax, eax
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x5457d3
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x5457e8
mov dl, byte [0x57ea62]
lea eax, [esp + 0x10]
push eax
lea ecx, [ebp + 0x38]
mov byte [edi], dl
call fcn.00424910
xor eax, eax
jmp 0x545810
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x545810
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x545825
mov cl, byte [0x57ea62]
lea edx, [esp + 0x10]
mov byte [edi], cl
push edx
lea ecx, [ebp + 0x3c]
call fcn.00424910
xor eax, eax
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x545844
lea eax, [esp + 0x10]
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x545860
mov ecx, dword [str.ImageMinimap]
mov edx, dword [0x590b2c]
mov dword [eax], ecx
mov ecx, dword [0x590b30]
mov dword [eax + 4], edx
mov dx, word [0x590b34]
mov dword [eax + 8], ecx
mov cl, byte [0x590b36]
mov word [eax + 0xc], dx
lea edx, [esp + 0x10]
mov byte [eax + 0xe], cl
push edx
lea ecx, [ebp + 0x34]
call fcn.00424910
xor eax, eax
jmp 0x5458b0
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x5458b0
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x5458c5
mov al, byte [0x57ea62]
lea ecx, [esp + 0x10]
push ecx
lea ecx, [ebp + 0x40]
mov byte [edi], al
call fcn.00424910
xor eax, eax
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x5458e3
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x5458f8
mov dl, byte [0x57ea62]
lea eax, [esp + 0x10]
push eax
lea ecx, [ebp + 0x44]
mov byte [edi], dl
call fcn.00424910
xor eax, eax
jmp 0x545920
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x545920
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x545935
mov cl, byte [0x57ea62]
lea edx, [esp + 0x10]
mov byte [edi], cl
push edx
jmp 0x545e86
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x545950
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x545965
mov al, byte [0x57ea62]
lea ecx, [esp + 0x10]
push ecx
lea ecx, [ebp + 8]
mov byte [edi], al
call fcn.00424910
xor eax, eax
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x545983
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x545998
mov ecx, 5
mov esi, str.ResourceEffectScript
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edx, [esp + 0x10]
push edx
lea ecx, [ebp + 0xc]
movsb byte es:[edi], byte [esi]
call fcn.00424910
xor eax, eax
mov edi, edi
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x5459c0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x5459d5
mov ecx, dword [str.Ini]
mov dl, byte [0x590b58]
mov dword [eax], ecx
mov byte [eax + 4], dl
lea eax, [esp + 0x10]
push eax
lea ecx, [ebp + 0x10]
call fcn.00424910
xor eax, eax
lea ecx, [ecx]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x545a00
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x545a15
mov ecx, dword [str.Sound]
mov dx, word [0x590b50]
mov dword [eax], ecx
mov cl, byte [0x590b52]
mov word [eax + 4], dx
lea edx, [esp + 0x10]
mov byte [eax + 6], cl
push edx
lea ecx, [ebp + 0x14]
call fcn.00424910
xor eax, eax
jmp 0x545a50
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x545a50
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x545a65
mov ecx, dword [str.Resource]
mov edx, dword [0x590b44]
mov dword [eax], ecx
mov cx, word [0x590b48]
mov dword [eax + 4], edx
lea edx, [esp + 0x10]
mov word [eax + 8], cx
push edx
lea ecx, [ebp + 0x18]
call fcn.00424910
xor eax, eax
jmp 0x545aa0
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x545aa0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x545ab5
mov ecx, dword [str.BGM]
mov dl, byte [0x590b3c]
mov dword [eax], ecx
mov byte [eax + 4], dl
lea eax, [esp + 0x10]
push eax
lea ecx, [ebp + 0x1c]
call fcn.00424910
xor eax, eax
lea ecx, [ecx]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x545ae0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x545af5
mov ecx, dword [str.3DDataCharacter]
mov edx, dword [0x590b18]
mov dword [eax], ecx
mov ecx, dword [0x590b1c]
mov dword [eax + 4], edx
mov edx, dword [0x590b20]
mov dword [eax + 8], ecx
mov cx, word [0x590b24]
mov dword [eax + 0xc], edx
lea edx, [esp + 0x10]
mov word [eax + 0x10], cx
push edx
lea ecx, [ebp + 0x20]
call fcn.00424910
xor eax, eax
lea ebx, [ebx]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x545b40
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x545b55
mov ecx, dword [str.3DDataPet]
mov edx, dword [0x590b0c]
mov dword [eax], ecx
mov ecx, dword [0x590b10]
mov dword [eax + 4], edx
lea edx, [esp + 0x10]
mov dword [eax + 8], ecx
push edx
lea ecx, [ebp + 0x24]
call fcn.00424910
xor eax, eax
jmp 0x545b90
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x545b90
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x545ba5
mov ecx, dword [str.3DDataMonster]
mov edx, dword [0x590afc]
mov dword [eax], ecx
mov ecx, dword [0x590b00]
mov dword [eax + 4], edx
mov edx, dword [0x590b04]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x10]
push eax
lea ecx, [ebp + 0x28]
call fcn.00424910
xor eax, eax
nop
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x545be0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x545bf5
mov ecx, dword [str.3DDataNpc]
mov edx, dword [0x590af0]
mov dword [eax], ecx
mov ecx, dword [0x590af4]
mov dword [eax + 4], edx
lea edx, [esp + 0x10]
mov dword [eax + 8], ecx
push edx
lea ecx, [ebp + 0x2c]
call fcn.00424910
xor eax, eax
jmp 0x545c30
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x545c30
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x545c45
mov ecx, dword [str.3DDataEffect]
mov edx, dword [0x590ae0]
mov dword [eax], ecx
mov ecx, dword [0x590ae4]
mov dword [eax + 4], edx
mov dx, word [0x590ae8]
mov dword [eax + 8], ecx
mov cl, byte [0x590aea]
mov word [eax + 0xc], dx
lea edx, [esp + 0x10]
mov byte [eax + 0xe], cl
push edx
lea ecx, [ebp + 0x30]
call fcn.00424910
xor eax, eax
lea ebx, [ebx]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x545c90
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x545ca5
mov ecx, dword [str.3DDataMap]
mov edx, dword [0x590ad4]
mov dword [eax], ecx
mov ecx, dword [0x590ad8]
mov dword [eax + 4], edx
lea edx, [esp + 0x10]
mov dword [eax + 8], ecx
push edx
lea ecx, [ebp + 0x38]
call fcn.00424910
xor eax, eax
jmp 0x545ce0
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x545ce0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x545cf5
mov ecx, dword [str.3DDataCloud]
mov edx, dword [0x590ac4]
mov dword [eax], ecx
mov ecx, dword [0x590ac8]
mov dword [eax + 4], edx
mov dx, word [0x590acc]
mov dword [eax + 8], ecx
mov word [eax + 0xc], dx
lea eax, [esp + 0x10]
push eax
lea ecx, [ebp + 0x3c]
call fcn.00424910
xor eax, eax
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x545d31
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x545d46
mov ecx, dword [str.ImageMinimap]
mov edx, dword [0x590b2c]
mov dword [eax], ecx
mov ecx, dword [0x590b30]
mov dword [eax + 4], edx
mov dx, word [0x590b34]
mov dword [eax + 8], ecx
mov cl, byte [0x590b36]
mov word [eax + 0xc], dx
lea edx, [esp + 0x10]
mov byte [eax + 0xe], cl
push edx
lea ecx, [ebp + 0x34]
call fcn.00424910
xor eax, eax
jmp 0x545d90
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x545d90
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x545da5
mov ecx, dword [str.3DDataMapObject]
mov edx, dword [0x590ab0]
mov dword [eax], ecx
mov ecx, dword [0x590ab4]
mov dword [eax + 4], edx
mov edx, dword [0x590ab8]
mov dword [eax + 8], ecx
mov cx, word [0x590abc]
mov dword [eax + 0xc], edx
lea edx, [esp + 0x10]
mov word [eax + 0x10], cx
push edx
lea ecx, [ebp + 0x40]
call fcn.00424910
xor eax, eax
lea ebx, [ebx]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x545df0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x545e05
mov ecx, dword [str.3DDataTitan]
mov edx, dword [0x590aa0]
mov dword [eax], ecx
mov ecx, dword [0x590aa4]
mov dword [eax + 4], edx
mov dx, word [0x590aa8]
mov dword [eax + 8], ecx
mov word [eax + 0xc], dx
lea eax, [esp + 0x10]
push eax
lea ecx, [ebp + 0x44]
call fcn.00424910
xor eax, eax
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x545e41
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x545e56
mov ecx, dword [str.3DDataMap2]
mov edx, dword [0x590a90]
mov dword [eax], ecx
mov ecx, dword [0x590a94]
mov dword [eax + 4], edx
mov dl, byte [0x590a98]
mov dword [eax + 8], ecx
mov byte [eax + 0xc], dl
lea eax, [esp + 0x10]
push eax
lea ecx, [ebp + 0x48]
call fcn.00424910
mov ecx, dword [esp + 0x210]
pop edi
pop esi
mov dword [ebp + 0x50], ebx
pop ebp
pop ebx
xor ecx, esp
call fcn.0055a677
add esp, 0x204
ret