Function at 0x56cee0
Capabilities:
Get common file path

Disassembly:
sub esp, 0x204
mov eax, dword [0x6dc0d0]
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.00588e70
push 0xff
lea ecx, [esp + 0x21]
push ebx
push ecx
mov byte [esp + 0x28], bl
call fcn.00588e70
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 0x56cf50
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56cf70
xor eax, eax
cmp dword [0x5ea108], ebx
je 0x56d630
jmp 0x56cf90
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56cf90
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56cfa5
mov al, byte [0x5b9efb]
mov byte [edi], al
lea eax, [esp + 0x10]
lea edx, [eax + 1]
jmp 0x56cfc0
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56cfc0
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56cfe0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56cff0
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56d005
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 0x56d023
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56d040
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d050
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56d065
mov ecx, dword [str.Ini]
mov dl, byte [0x5cf4f0]
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 0x56d085
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56d0a1
xor eax, eax
lea ecx, [ecx]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d0b0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56d0c5
mov ecx, dword [str.Sound]
mov dx, word [0x5cf4e8]
mov dword [eax], ecx
mov cl, byte [0x5cf4ea]
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 0x56d0f0
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56d110
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d120
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56d135
mov edx, dword [str.Resource]
mov ecx, dword [0x5cf4dc]
mov dword [eax], edx
mov dx, word [0x5cf4e0]
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 0x56d160
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56d180
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d190
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56d1a5
mov ecx, dword [str.BGM]
mov dl, byte [0x5cf4d4]
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 0x56d1c5
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56d1e1
xor eax, eax
lea ecx, [ecx]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d1f0
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56d205
mov al, byte [0x5b9efb]
mov byte [edi], al
lea eax, [esp + 0x10]
lea edx, [eax + 1]
jmp 0x56d220
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56d220
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56d240
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d250
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56d265
mov cl, byte [0x5b9efb]
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 0x56d280
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56d2a0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d2b0
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56d2c5
mov dl, byte [0x5b9efb]
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 0x56d2e0
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56d300
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d310
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56d325
mov al, byte [0x5b9efb]
mov byte [edi], al
lea eax, [esp + 0x10]
lea edx, [eax + 1]
jmp 0x56d340
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56d340
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56d360
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d370
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56d385
mov cl, byte [0x5b9efb]
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 0x56d3a0
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56d3c0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d3d0
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56d3e5
mov dl, byte [0x5b9efb]
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 0x56d400
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56d420
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d430
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56d445
mov al, byte [0x5b9efb]
mov byte [edi], al
lea eax, [esp + 0x10]
lea edx, [eax + 1]
jmp 0x56d460
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56d460
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56d480
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d490
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56d4a5
mov ecx, dword [str.ImageMinimap]
mov edx, dword [0x5cf4c4]
mov dword [eax], ecx
mov ecx, dword [0x5cf4c8]
mov dword [eax + 4], edx
mov dx, word [0x5cf4cc]
mov dword [eax + 8], ecx
mov cl, byte [0x5cf4ce]
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 0x56d4e2
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56d500
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d510
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56d525
mov dl, byte [0x5b9efb]
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 0x56d540
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56d560
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d570
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56d585
mov al, byte [0x5b9efb]
mov byte [edi], al
lea eax, [esp + 0x10]
lea edx, [eax + 1]
jmp 0x56d5a0
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56d5a0
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56d5c0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d5d0
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56d5e5
mov cl, byte [0x5b9efb]
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 0x56d600
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56d620
jmp 0x56ddbd
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d630
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56d645
mov dl, byte [0x5b9efb]
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 0x56d660
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56d680
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d690
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56d6a5
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 0x56d6c3
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56d6e0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d6f0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56d705
mov ecx, dword [str.Ini]
mov dl, byte [0x5cf4f0]
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 0x56d725
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56d741
xor eax, eax
lea ecx, [ecx]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d750
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56d765
mov ecx, dword [str.Sound]
mov dx, word [0x5cf4e8]
mov dword [eax], ecx
mov cl, byte [0x5cf4ea]
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 0x56d790
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56d7b0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d7c0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56d7d5
mov edx, dword [str.Resource]
mov ecx, dword [0x5cf4dc]
mov dword [eax], edx
mov dx, word [0x5cf4e0]
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 0x56d800
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56d820
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d830
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56d845
mov ecx, dword [str.BGM]
mov dl, byte [0x5cf4d4]
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 0x56d865
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56d881
xor eax, eax
lea ecx, [ecx]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d890
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56d8a5
mov ecx, dword [str.3DDataCharacter]
mov edx, dword [0x5cf4b0]
mov dword [eax], ecx
mov ecx, dword [0x5cf4b4]
mov dword [eax + 4], edx
mov edx, dword [0x5cf4b8]
mov dword [eax + 8], ecx
mov cx, word [0x5cf4bc]
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 0x56d8e2
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 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.3DDataPet]
mov ecx, dword [0x5cf4a4]
mov dword [eax], edx
mov edx, dword [0x5cf4a8]
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 0x56d950
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 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.3DDataMonster]
mov edx, dword [0x5cf494]
mov dword [eax], ecx
mov ecx, dword [0x5cf498]
mov dword [eax + 4], edx
mov edx, dword [0x5cf49c]
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 0x56d9c7
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56d9e3
xor eax, eax
nop
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56d9f0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56da05
mov ecx, dword [str.3DDataNpc]
mov edx, dword [0x5cf488]
mov dword [eax], ecx
mov ecx, dword [0x5cf48c]
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 0x56da30
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56da50
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56da60
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56da75
mov edx, dword [str.3DDataEffect]
mov ecx, dword [0x5cf478]
mov dword [eax], edx
mov edx, dword [0x5cf47c]
mov dword [eax + 4], ecx
mov cx, word [0x5cf480]
mov dword [eax + 8], edx
mov dl, byte [0x5cf482]
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 0x56dab2
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56dad0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56dae0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56daf5
mov ecx, dword [str.3DDataMap]
mov edx, dword [0x5cf46c]
mov dword [eax], ecx
mov ecx, dword [0x5cf470]
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 0x56db20
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56db40
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56db50
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56db65
mov edx, dword [str.3DDataCloud]
mov ecx, dword [0x5cf45c]
mov dword [eax], edx
mov edx, dword [0x5cf460]
mov dword [eax + 4], ecx
mov cx, word [0x5cf464]
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 0x56dba0
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56dbc0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56dbd0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56dbe5
mov edx, dword [str.ImageMinimap]
mov ecx, dword [0x5cf4c4]
mov dword [eax], edx
mov edx, dword [0x5cf4c8]
mov dword [eax + 4], ecx
mov cx, word [0x5cf4cc]
mov dword [eax + 8], edx
mov dl, byte [0x5cf4ce]
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 0x56dc22
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56dc40
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56dc50
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56dc65
mov ecx, dword [str.3DDataMapObject]
mov edx, dword [0x5cf448]
mov dword [eax], ecx
mov ecx, dword [0x5cf44c]
mov dword [eax + 4], edx
mov edx, dword [0x5cf450]
mov dword [eax + 8], ecx
mov cx, word [0x5cf454]
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 0x56dca2
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56dcc0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56dcd0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56dce5
mov edx, dword [str.3DDataTitan]
mov ecx, dword [0x5cf438]
mov dword [eax], edx
mov edx, dword [0x5cf43c]
mov dword [eax + 4], ecx
mov cx, word [0x5cf440]
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 0x56dd20
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56dd40
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56dd50
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56dd65
mov edx, dword [str.3DDataMap2]
mov ecx, dword [0x5cf428]
mov dword [eax], edx
mov edx, dword [0x5cf42c]
mov dword [eax + 4], ecx
mov cl, byte [0x5cf430]
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 0x56dd97
sub eax, edx
inc eax
push eax
call fcn.00588f26
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 0x56ddb3
mov ecx, dword [esp + 0x210]
pop edi
pop esi
mov dword [ebp + 0x50], ebx
pop ebp
pop ebx
xor ecx, esp
call fcn.00589034
add esp, 0x204
ret