Function at 0x56d6d0
Capabilities:
Get common file path

Disassembly:
sub esp, 0x204
mov eax, dword [0x6e2f0c]
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.0058dfb0
push 0xff
lea ecx, [esp + 0x21]
push ebx
push ecx
mov byte [esp + 0x28], bl
call fcn.0058dfb0
add esp, 0x18
lea edx, [esp + 0x110]
push edx
push 0x100
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [esp + 0x110]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56d740
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 4], eax
lea ecx, [esp + 0x110]
mov edx, eax
nop
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56d760
xor eax, eax
cmp dword [0x5f102c], ebx
je 0x56de20
jmp 0x56d780
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d780
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56d795
mov al, byte [0x5b9b8c]
mov byte [edi], al
lea eax, [esp + 0x10]
lea edx, [eax + 1]
jmp 0x56d7b0
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56d7b0
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 8], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56d7d0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d7e0
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56d7f5
mov ecx, 5
mov esi, str.ResourceEffectScript
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [esp + 0x10]
movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56d813
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0xc], eax
lea ecx, [esp + 0x10]
mov edx, eax
nop
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56d830
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d840
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56d855
mov ecx, dword [str.Ini]
mov dl, byte [0x5cd6b8]
mov dword [eax], ecx
mov byte [eax + 4], dl
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56d875
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x10], eax
lea ecx, [esp + 0x10]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56d891
xor eax, eax
lea ecx, [ecx]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d8a0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56d8b5
mov ecx, dword [str.Sound]
mov dx, word [0x5cd6b0]
mov dword [eax], ecx
mov cl, byte [0x5cd6b2]
mov word [eax + 4], dx
mov byte [eax + 6], cl
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56d8e0
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x14], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56d900
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d910
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56d925
mov edx, dword [str.Resource]
mov ecx, dword [0x5cd6a4]
mov dword [eax], edx
mov dx, word [0x5cd6a8]
mov dword [eax + 4], ecx
mov word [eax + 8], dx
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56d950
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x18], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56d970
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d980
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56d995
mov ecx, dword [str.BGM]
mov dl, byte [0x5cd69c]
mov dword [eax], ecx
mov byte [eax + 4], dl
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56d9b5
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x1c], eax
lea ecx, [esp + 0x10]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56d9d1
xor eax, eax
lea ecx, [ecx]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d9e0
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56d9f5
mov al, byte [0x5b9b8c]
mov byte [edi], al
lea eax, [esp + 0x10]
lea edx, [eax + 1]
jmp 0x56da10
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56da10
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x20], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56da30
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56da40
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56da55
mov cl, byte [0x5b9b8c]
lea eax, [esp + 0x10]
mov byte [edi], cl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56da70
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x24], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56da90
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56daa0
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56dab5
mov dl, byte [0x5b9b8c]
lea eax, [esp + 0x10]
mov byte [edi], dl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56dad0
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x28], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56daf0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56db00
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56db15
mov al, byte [0x5b9b8c]
mov byte [edi], al
lea eax, [esp + 0x10]
lea edx, [eax + 1]
jmp 0x56db30
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56db30
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x2c], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56db50
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56db60
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56db75
mov cl, byte [0x5b9b8c]
lea eax, [esp + 0x10]
mov byte [edi], cl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56db90
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x30], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56dbb0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56dbc0
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56dbd5
mov dl, byte [0x5b9b8c]
lea eax, [esp + 0x10]
mov byte [edi], dl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56dbf0
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x38], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56dc10
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56dc20
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56dc35
mov al, byte [0x5b9b8c]
mov byte [edi], al
lea eax, [esp + 0x10]
lea edx, [eax + 1]
jmp 0x56dc50
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56dc50
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x3c], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56dc70
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56dc80
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56dc95
mov ecx, dword [str.ImageMinimap]
mov edx, dword [0x5cd68c]
mov dword [eax], ecx
mov ecx, dword [0x5cd690]
mov dword [eax + 4], edx
mov dx, word [0x5cd694]
mov dword [eax + 8], ecx
mov cl, byte [0x5cd696]
mov word [eax + 0xc], dx
mov byte [eax + 0xe], cl
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56dcd2
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x34], eax
lea ecx, [esp + 0x10]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56dcf0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56dd00
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56dd15
mov dl, byte [0x5b9b8c]
lea eax, [esp + 0x10]
mov byte [edi], dl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56dd30
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x40], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56dd50
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56dd60
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56dd75
mov al, byte [0x5b9b8c]
mov byte [edi], al
lea eax, [esp + 0x10]
lea edx, [eax + 1]
jmp 0x56dd90
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56dd90
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x44], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56ddb0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56ddc0
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56ddd5
mov cl, byte [0x5b9b8c]
lea eax, [esp + 0x10]
mov byte [edi], cl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56ddf0
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x48], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56de10
jmp 0x56e5ad
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56de20
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56de35
mov dl, byte [0x5b9b8c]
lea eax, [esp + 0x10]
mov byte [edi], dl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56de50
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 8], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56de70
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56de80
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56de95
mov ecx, 5
mov esi, str.ResourceEffectScript
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [esp + 0x10]
movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56deb3
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0xc], eax
lea ecx, [esp + 0x10]
mov edx, eax
nop
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56ded0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56dee0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56def5
mov ecx, dword [str.Ini]
mov dl, byte [0x5cd6b8]
mov dword [eax], ecx
mov byte [eax + 4], dl
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56df15
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x10], eax
lea ecx, [esp + 0x10]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56df31
xor eax, eax
lea ecx, [ecx]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56df40
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56df55
mov ecx, dword [str.Sound]
mov dx, word [0x5cd6b0]
mov dword [eax], ecx
mov cl, byte [0x5cd6b2]
mov word [eax + 4], dx
mov byte [eax + 6], cl
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56df80
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x14], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56dfa0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56dfb0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56dfc5
mov edx, dword [str.Resource]
mov ecx, dword [0x5cd6a4]
mov dword [eax], edx
mov dx, word [0x5cd6a8]
mov dword [eax + 4], ecx
mov word [eax + 8], dx
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56dff0
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x18], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e010
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e020
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56e035
mov ecx, dword [str.BGM]
mov dl, byte [0x5cd69c]
mov dword [eax], ecx
mov byte [eax + 4], dl
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e055
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x1c], eax
lea ecx, [esp + 0x10]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e071
xor eax, eax
lea ecx, [ecx]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e080
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56e095
mov ecx, dword [str.3DDataCharacter]
mov edx, dword [0x5cd678]
mov dword [eax], ecx
mov ecx, dword [0x5cd67c]
mov dword [eax + 4], edx
mov edx, dword [0x5cd680]
mov dword [eax + 8], ecx
mov cx, word [0x5cd684]
mov dword [eax + 0xc], edx
mov word [eax + 0x10], cx
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e0d2
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x20], eax
lea ecx, [esp + 0x10]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e0f0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e100
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56e115
mov edx, dword [str.3DDataPet]
mov ecx, dword [0x5cd66c]
mov dword [eax], edx
mov edx, dword [0x5cd670]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e140
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x24], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e160
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e170
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56e185
mov ecx, dword [str.3DDataMonster]
mov edx, dword [0x5cd65c]
mov dword [eax], ecx
mov ecx, dword [0x5cd660]
mov dword [eax + 4], edx
mov edx, dword [0x5cd664]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e1b7
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x28], eax
lea ecx, [esp + 0x10]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e1d3
xor eax, eax
nop
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e1e0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56e1f5
mov ecx, dword [str.3DDataNpc]
mov edx, dword [0x5cd650]
mov dword [eax], ecx
mov ecx, dword [0x5cd654]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e220
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x2c], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e240
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e250
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56e265
mov edx, dword [str.3DDataEffect]
mov ecx, dword [0x5cd640]
mov dword [eax], edx
mov edx, dword [0x5cd644]
mov dword [eax + 4], ecx
mov cx, word [0x5cd648]
mov dword [eax + 8], edx
mov dl, byte [0x5cd64a]
mov word [eax + 0xc], cx
mov byte [eax + 0xe], dl
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e2a2
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x30], eax
lea ecx, [esp + 0x10]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e2c0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e2d0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56e2e5
mov ecx, dword [str.3DDataMap]
mov edx, dword [0x5cd634]
mov dword [eax], ecx
mov ecx, dword [0x5cd638]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e310
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x38], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e330
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e340
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56e355
mov edx, dword [str.3DDataCloud]
mov ecx, dword [0x5cd624]
mov dword [eax], edx
mov edx, dword [0x5cd628]
mov dword [eax + 4], ecx
mov cx, word [0x5cd62c]
mov dword [eax + 8], edx
mov word [eax + 0xc], cx
lea eax, [esp + 0x10]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e390
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x3c], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e3b0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e3c0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56e3d5
mov edx, dword [str.ImageMinimap]
mov ecx, dword [0x5cd68c]
mov dword [eax], edx
mov edx, dword [0x5cd690]
mov dword [eax + 4], ecx
mov cx, word [0x5cd694]
mov dword [eax + 8], edx
mov dl, byte [0x5cd696]
mov word [eax + 0xc], cx
mov byte [eax + 0xe], dl
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e412
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x34], eax
lea ecx, [esp + 0x10]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e430
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e440
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56e455
mov ecx, dword [str.3DDataMapObject]
mov edx, dword [0x5cd610]
mov dword [eax], ecx
mov ecx, dword [0x5cd614]
mov dword [eax + 4], edx
mov edx, dword [0x5cd618]
mov dword [eax + 8], ecx
mov cx, word [0x5cd61c]
mov dword [eax + 0xc], edx
mov word [eax + 0x10], cx
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e492
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x40], eax
lea ecx, [esp + 0x10]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e4b0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e4c0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56e4d5
mov edx, dword [str.3DDataTitan]
mov ecx, dword [0x5cd600]
mov dword [eax], edx
mov edx, dword [0x5cd604]
mov dword [eax + 4], ecx
mov cx, word [0x5cd608]
mov dword [eax + 8], edx
mov word [eax + 0xc], cx
lea eax, [esp + 0x10]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e510
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x44], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e530
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e540
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56e555
mov edx, dword [str.3DDataMap2]
mov ecx, dword [0x5cd5f0]
mov dword [eax], edx
mov edx, dword [0x5cd5f4]
mov dword [eax + 4], ecx
mov cl, byte [0x5cd5f8]
mov dword [eax + 8], edx
mov byte [eax + 0xc], cl
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e587
sub eax, edx
inc eax
push eax
call fcn.0058e54b
add esp, 4
mov dword [ebp + 0x48], eax
lea ecx, [esp + 0x10]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e5a3
mov ecx, dword [esp + 0x210]
pop edi
pop esi
mov dword [ebp + 0x50], ebx
pop ebp
pop ebx
xor ecx, esp
call fcn.0058d3fe
add esp, 0x204
ret