Function at 0x56b400
Capabilities:
Get common file path

Disassembly:
sub esp, 0x204
mov eax, dword [0x6c6060]
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.0058a530
push 0xff
lea ecx, [esp + 0x21]
push ebx
push ecx
mov byte [esp + 0x28], bl
call fcn.0058a530
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 0x56b470
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56b490
xor eax, eax
cmp dword [0x5d4108], ebx
je 0x56bb50
jmp 0x56b4b0
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56b4b0
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56b4c5
mov al, byte [0x5a8b63]
mov byte [edi], al
lea eax, [esp + 0x10]
lea edx, [eax + 1]
jmp 0x56b4e0
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56b4e0
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56b500
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56b510
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56b525
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 0x56b543
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56b560
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56b570
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56b585
mov ecx, dword [str.Ini]
mov dl, byte [0x5bc3c8]
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 0x56b5a5
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56b5c1
xor eax, eax
lea ecx, [ecx]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56b5d0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56b5e5
mov ecx, dword [str.Sound]
mov dx, word [0x5bc3c0]
mov dword [eax], ecx
mov cl, byte [0x5bc3c2]
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 0x56b610
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56b630
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56b640
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56b655
mov edx, dword [str.Resource]
mov ecx, dword [0x5bc3b4]
mov dword [eax], edx
mov dx, word [0x5bc3b8]
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 0x56b680
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56b6a0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56b6b0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56b6c5
mov ecx, dword [str.BGM]
mov dl, byte [0x5bc3ac]
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 0x56b6e5
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56b701
xor eax, eax
lea ecx, [ecx]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56b710
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56b725
mov al, byte [0x5a8b63]
mov byte [edi], al
lea eax, [esp + 0x10]
lea edx, [eax + 1]
jmp 0x56b740
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56b740
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56b760
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56b770
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56b785
mov cl, byte [0x5a8b63]
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 0x56b7a0
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56b7c0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56b7d0
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56b7e5
mov dl, byte [0x5a8b63]
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 0x56b800
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56b820
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56b830
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56b845
mov al, byte [0x5a8b63]
mov byte [edi], al
lea eax, [esp + 0x10]
lea edx, [eax + 1]
jmp 0x56b860
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56b860
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56b880
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56b890
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56b8a5
mov cl, byte [0x5a8b63]
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 0x56b8c0
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56b8e0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56b8f0
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56b905
mov dl, byte [0x5a8b63]
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 0x56b920
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56b940
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56b950
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56b965
mov al, byte [0x5a8b63]
mov byte [edi], al
lea eax, [esp + 0x10]
lea edx, [eax + 1]
jmp 0x56b980
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56b980
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56b9a0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56b9b0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56b9c5
mov ecx, dword [str.ImageMinimap]
mov edx, dword [0x5bc39c]
mov dword [eax], ecx
mov ecx, dword [0x5bc3a0]
mov dword [eax + 4], edx
mov dx, word [0x5bc3a4]
mov dword [eax + 8], ecx
mov cl, byte [0x5bc3a6]
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 0x56ba02
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56ba20
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56ba30
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56ba45
mov dl, byte [0x5a8b63]
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 0x56ba60
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56ba80
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56ba90
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56baa5
mov al, byte [0x5a8b63]
mov byte [edi], al
lea eax, [esp + 0x10]
lea edx, [eax + 1]
jmp 0x56bac0
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56bac0
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56bae0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56baf0
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56bb05
mov cl, byte [0x5a8b63]
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 0x56bb20
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56bb40
jmp 0x56c2dd
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56bb50
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56bb65
mov dl, byte [0x5a8b63]
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 0x56bb80
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56bba0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56bbb0
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56bbc5
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 0x56bbe3
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56bc00
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56bc10
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56bc25
mov ecx, dword [str.Ini]
mov dl, byte [0x5bc3c8]
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 0x56bc45
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56bc61
xor eax, eax
lea ecx, [ecx]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56bc70
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56bc85
mov ecx, dword [str.Sound]
mov dx, word [0x5bc3c0]
mov dword [eax], ecx
mov cl, byte [0x5bc3c2]
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 0x56bcb0
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56bcd0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56bce0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56bcf5
mov edx, dword [str.Resource]
mov ecx, dword [0x5bc3b4]
mov dword [eax], edx
mov dx, word [0x5bc3b8]
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 0x56bd20
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56bd40
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56bd50
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56bd65
mov ecx, dword [str.BGM]
mov dl, byte [0x5bc3ac]
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 0x56bd85
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56bda1
xor eax, eax
lea ecx, [ecx]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56bdb0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56bdc5
mov ecx, dword [str.3DDataCharacter]
mov edx, dword [0x5bc388]
mov dword [eax], ecx
mov ecx, dword [0x5bc38c]
mov dword [eax + 4], edx
mov edx, dword [0x5bc390]
mov dword [eax + 8], ecx
mov cx, word [0x5bc394]
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 0x56be02
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56be20
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56be30
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56be45
mov edx, dword [str.3DDataPet]
mov ecx, dword [0x5bc37c]
mov dword [eax], edx
mov edx, dword [0x5bc380]
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 0x56be70
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56be90
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56bea0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56beb5
mov ecx, dword [str.3DDataMonster]
mov edx, dword [0x5bc36c]
mov dword [eax], ecx
mov ecx, dword [0x5bc370]
mov dword [eax + 4], edx
mov edx, dword [0x5bc374]
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 0x56bee7
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56bf03
xor eax, eax
nop
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56bf10
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56bf25
mov ecx, dword [str.3DDataNpc]
mov edx, dword [0x5bc360]
mov dword [eax], ecx
mov ecx, dword [0x5bc364]
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 0x56bf50
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56bf70
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56bf80
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56bf95
mov edx, dword [str.3DDataEffect]
mov ecx, dword [0x5bc350]
mov dword [eax], edx
mov edx, dword [0x5bc354]
mov dword [eax + 4], ecx
mov cx, word [0x5bc358]
mov dword [eax + 8], edx
mov dl, byte [0x5bc35a]
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 0x56bfd2
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56bff0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56c000
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56c015
mov ecx, dword [str.3DDataMap]
mov edx, dword [0x5bc344]
mov dword [eax], ecx
mov ecx, dword [0x5bc348]
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 0x56c040
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56c060
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56c070
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56c085
mov edx, dword [str.3DDataCloud]
mov ecx, dword [0x5bc334]
mov dword [eax], edx
mov edx, dword [0x5bc338]
mov dword [eax + 4], ecx
mov cx, word [0x5bc33c]
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 0x56c0c0
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56c0e0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56c0f0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56c105
mov edx, dword [str.ImageMinimap]
mov ecx, dword [0x5bc39c]
mov dword [eax], edx
mov edx, dword [0x5bc3a0]
mov dword [eax + 4], ecx
mov cx, word [0x5bc3a4]
mov dword [eax + 8], edx
mov dl, byte [0x5bc3a6]
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 0x56c142
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56c160
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56c170
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56c185
mov ecx, dword [str.3DDataMapObject]
mov edx, dword [0x5bc320]
mov dword [eax], ecx
mov ecx, dword [0x5bc324]
mov dword [eax + 4], edx
mov edx, dword [0x5bc328]
mov dword [eax + 8], ecx
mov cx, word [0x5bc32c]
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 0x56c1c2
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56c1e0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56c1f0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56c205
mov edx, dword [str.3DDataTitan]
mov ecx, dword [0x5bc310]
mov dword [eax], edx
mov edx, dword [0x5bc314]
mov dword [eax + 4], ecx
mov cx, word [0x5bc318]
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 0x56c240
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56c260
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56c270
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56c285
mov edx, dword [str.3DDataMap2]
mov ecx, dword [0x5bc300]
mov dword [eax], edx
mov edx, dword [0x5bc304]
mov dword [eax + 4], ecx
mov cl, byte [0x5bc308]
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 0x56c2b7
sub eax, edx
inc eax
push eax
call fcn.0058a5c0
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 0x56c2d3
mov ecx, dword [esp + 0x210]
pop edi
pop esi
mov dword [ebp + 0x50], ebx
pop ebp
pop ebx
xor ecx, esp
call fcn.0058a6b9
add esp, 0x204
ret