Function at 0x578bd0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x208
mov eax, dword [0x6dc4f0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor ebx, ebx
push 0xff
lea eax, [ebp - 0x203]
mov esi, ecx
push ebx
push eax
mov dword [ebp - 0x208], esi
mov byte [ebp - 0x204], bl
call fcn.00596250
push 0xff
lea ecx, [ebp - 0x103]
push ebx
push ecx
mov byte [ebp - 0x104], bl
call fcn.00596250
add esp, 0x18
lea edx, [ebp - 0x204]
push edx
push 0x100
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [ebp - 0x204]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x578c40
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 4], eax
lea ecx, [ebp - 0x204]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x578c60
xor eax, eax
cmp dword [0x5e1108], ebx
je 0x579440
jmp 0x578c80
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x578c80
lea edi, [ebp - 0x104]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x578ca0
mov al, byte [0x5b5b6b]
mov byte [edi], al
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x578cb8
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 8], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x578cd6
xor eax, eax
jmp 0x578cf0
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x578cf0
lea edi, [ebp - 0x104]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x578d10
mov ecx, 5
mov esi, str.ResourceEffectScript
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [ebp - 0x104]
movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x578d30
sub eax, edx
inc eax
push eax
call fcn.00596326
mov esi, dword [ebp - 0x208]
add esp, 4
mov dword [esi + 0xc], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x578d54
xor eax, eax
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x578d60
lea eax, [ebp - 0x104]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x578d80
mov ecx, dword [str.Ini]
mov dl, byte [0x5c9338]
mov dword [eax], ecx
mov byte [eax + 4], dl
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x578da2
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x10], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x578dc0
xor eax, eax
lea esp, [esp]
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x578dd0
lea eax, [ebp - 0x104]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x578df0
mov ecx, dword [str.Sound]
mov dx, word [0x5c9330]
mov dword [eax], ecx
mov cl, byte [0x5c9332]
mov word [eax + 4], dx
mov byte [eax + 6], cl
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x578e20
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x14], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x578e40
xor eax, eax
lea esp, [esp]
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x578e50
lea eax, [ebp - 0x104]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x578e70
mov edx, dword [str.Resource]
mov ecx, dword [0x5c9324]
mov dword [eax], edx
mov dx, word [0x5c9328]
mov dword [eax + 4], ecx
mov word [eax + 8], dx
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x578ea0
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x18], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x578ec0
xor eax, eax
lea esp, [esp]
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x578ed0
lea eax, [ebp - 0x104]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x578ef0
mov ecx, dword [str.BGM]
mov dl, byte [0x5c931c]
mov dword [eax], ecx
mov byte [eax + 4], dl
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x578f12
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x1c], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x578f30
xor eax, eax
lea esp, [esp]
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x578f40
lea edi, [ebp - 0x104]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x578f60
mov al, byte [0x5b5b6b]
mov byte [edi], al
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x578f78
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x20], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x578f96
xor eax, eax
jmp 0x578fb0
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x578fb0
lea edi, [ebp - 0x104]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x578fd0
mov cl, byte [0x5b5b6b]
lea eax, [ebp - 0x104]
mov byte [edi], cl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x578ff0
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x24], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x579010
xor eax, eax
lea esp, [esp]
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x579020
lea edi, [ebp - 0x104]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x579040
mov dl, byte [0x5b5b6b]
lea eax, [ebp - 0x104]
mov byte [edi], dl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x579060
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x28], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x579080
xor eax, eax
lea esp, [esp]
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x579090
lea edi, [ebp - 0x104]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x5790b0
mov al, byte [0x5b5b6b]
mov byte [edi], al
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x5790c8
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x2c], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x5790e6
xor eax, eax
jmp 0x579100
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x579100
lea edi, [ebp - 0x104]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x579120
mov cl, byte [0x5b5b6b]
lea eax, [ebp - 0x104]
mov byte [edi], cl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x579140
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x30], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x579160
xor eax, eax
lea esp, [esp]
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x579170
lea edi, [ebp - 0x104]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x579190
mov dl, byte [0x5b5b6b]
lea eax, [ebp - 0x104]
mov byte [edi], dl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x5791b0
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x38], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x5791d0
xor eax, eax
lea esp, [esp]
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x5791e0
lea edi, [ebp - 0x104]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x579200
mov al, byte [0x5b5b6b]
mov byte [edi], al
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x579218
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x3c], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x579236
xor eax, eax
jmp 0x579250
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x579250
lea eax, [ebp - 0x104]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x579270
mov ecx, dword [str.ImageMinimap]
mov edx, dword [0x5c930c]
mov dword [eax], ecx
mov ecx, dword [0x5c9310]
mov dword [eax + 4], edx
mov dx, word [0x5c9314]
mov dword [eax + 8], ecx
mov cl, byte [0x5c9316]
mov word [eax + 0xc], dx
mov byte [eax + 0xe], cl
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x5792b0
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x34], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x5792d0
xor eax, eax
lea esp, [esp]
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x5792e0
lea edi, [ebp - 0x104]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x579300
mov dl, byte [0x5b5b6b]
lea eax, [ebp - 0x104]
mov byte [edi], dl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x579320
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x40], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x579340
xor eax, eax
lea esp, [esp]
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x579350
lea edi, [ebp - 0x104]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x579370
mov al, byte [0x5b5b6b]
mov byte [edi], al
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x579388
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x44], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x5793a6
xor eax, eax
jmp 0x5793c0
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x5793c0
lea edi, [ebp - 0x104]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x5793e0
mov cl, byte [0x5b5b6b]
lea eax, [ebp - 0x104]
mov byte [edi], cl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x579400
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x48], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x579420
pop edi
mov dword [esi + 0x50], ebx
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0059641f
mov esp, ebp
pop ebp
ret
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x579440
lea edi, [ebp - 0x104]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x579460
mov dl, byte [0x5b5b6b]
lea eax, [ebp - 0x104]
mov byte [edi], dl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x579480
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 8], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x5794a0
xor eax, eax
lea esp, [esp]
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x5794b0
lea edi, [ebp - 0x104]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x5794d0
mov ecx, 5
mov esi, str.ResourceEffectScript
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [ebp - 0x104]
movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x5794f0
sub eax, edx
inc eax
push eax
call fcn.00596326
mov esi, dword [ebp - 0x208]
add esp, 4
mov dword [esi + 0xc], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x579514
xor eax, eax
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x579520
lea eax, [ebp - 0x104]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x579540
mov ecx, dword [str.Ini]
mov dl, byte [0x5c9338]
mov dword [eax], ecx
mov byte [eax + 4], dl
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x579562
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x10], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x579580
xor eax, eax
lea esp, [esp]
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x579590
lea eax, [ebp - 0x104]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x5795b0
mov ecx, dword [str.Sound]
mov dx, word [0x5c9330]
mov dword [eax], ecx
mov cl, byte [0x5c9332]
mov word [eax + 4], dx
mov byte [eax + 6], cl
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x5795e0
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x14], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x579600
xor eax, eax
lea esp, [esp]
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x579610
lea eax, [ebp - 0x104]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x579630
mov edx, dword [str.Resource]
mov ecx, dword [0x5c9324]
mov dword [eax], edx
mov dx, word [0x5c9328]
mov dword [eax + 4], ecx
mov word [eax + 8], dx
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x579660
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x18], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x579680
xor eax, eax
lea esp, [esp]
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x579690
lea eax, [ebp - 0x104]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x5796b0
mov ecx, dword [str.BGM]
mov dl, byte [0x5c931c]
mov dword [eax], ecx
mov byte [eax + 4], dl
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x5796d2
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x1c], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x5796f0
xor eax, eax
lea esp, [esp]
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x579700
lea eax, [ebp - 0x104]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x579720
mov ecx, dword [str.3DDataCharacter]
mov edx, dword [0x5c92f8]
mov dword [eax], ecx
mov ecx, dword [0x5c92fc]
mov dword [eax + 4], edx
mov edx, dword [0x5c9300]
mov dword [eax + 8], ecx
mov cx, word [0x5c9304]
mov dword [eax + 0xc], edx
mov word [eax + 0x10], cx
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x579760
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x20], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x579780
xor eax, eax
lea esp, [esp]
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x579790
lea eax, [ebp - 0x104]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x5797b0
mov edx, dword [str.3DDataPet]
mov ecx, dword [0x5c92ec]
mov dword [eax], edx
mov edx, dword [0x5c92f0]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
jmp 0x5797e0
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x5797e0
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x24], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x579800
xor eax, eax
lea esp, [esp]
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x579810
lea eax, [ebp - 0x104]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x579830
mov ecx, dword [str.3DDataMonster]
mov edx, dword [0x5c92dc]
mov dword [eax], ecx
mov ecx, dword [0x5c92e0]
mov dword [eax + 4], edx
mov edx, dword [0x5c92e4]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x579864
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x28], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x579882
xor eax, eax
mov edi, edi
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x579890
lea eax, [ebp - 0x104]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x5798b0
mov ecx, dword [str.3DDataNpc]
mov edx, dword [0x5c92d0]
mov dword [eax], ecx
mov ecx, dword [0x5c92d4]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
jmp 0x5798e0
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x5798e0
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x2c], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x579900
xor eax, eax
lea esp, [esp]
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x579910
lea eax, [ebp - 0x104]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x579930
mov edx, dword [str.3DDataEffect]
mov ecx, dword [0x5c92c0]
mov dword [eax], edx
mov edx, dword [0x5c92c4]
mov dword [eax + 4], ecx
mov cx, word [0x5c92c8]
mov dword [eax + 8], edx
mov dl, byte [0x5c92ca]
mov word [eax + 0xc], cx
mov byte [eax + 0xe], dl
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x579970
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x30], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x579990
xor eax, eax
lea esp, [esp]
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x5799a0
lea eax, [ebp - 0x104]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x5799c0
mov ecx, dword [str.3DDataMap]
mov edx, dword [0x5c92b4]
mov dword [eax], ecx
mov ecx, dword [0x5c92b8]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
jmp 0x5799f0
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x5799f0
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x38], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x579a10
xor eax, eax
lea esp, [esp]
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x579a20
lea eax, [ebp - 0x104]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x579a40
mov edx, dword [str.3DDataCloud]
mov ecx, dword [0x5c92a4]
mov dword [eax], edx
mov edx, dword [0x5c92a8]
mov dword [eax + 4], ecx
mov cx, word [0x5c92ac]
mov dword [eax + 8], edx
mov word [eax + 0xc], cx
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x579a76
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x3c], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x579a94
xor eax, eax
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x579aa0
lea eax, [ebp - 0x104]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x579ac0
mov edx, dword [str.ImageMinimap]
mov ecx, dword [0x5c930c]
mov dword [eax], edx
mov edx, dword [0x5c9310]
mov dword [eax + 4], ecx
mov cx, word [0x5c9314]
mov dword [eax + 8], edx
mov dl, byte [0x5c9316]
mov word [eax + 0xc], cx
mov byte [eax + 0xe], dl
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x579b00
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x34], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x579b20
xor eax, eax
lea esp, [esp]
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x579b30
lea eax, [ebp - 0x104]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x579b50
mov ecx, dword [str.3DDataMapObject]
mov edx, dword [0x5c9290]
mov dword [eax], ecx
mov ecx, dword [0x5c9294]
mov dword [eax + 4], edx
mov edx, dword [0x5c9298]
mov dword [eax + 8], ecx
mov cx, word [0x5c929c]
mov dword [eax + 0xc], edx
mov word [eax + 0x10], cx
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x579b90
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x40], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x579bb0
xor eax, eax
lea esp, [esp]
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x579bc0
lea eax, [ebp - 0x104]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x579be0
mov edx, dword [str.3DDataTitan]
mov ecx, dword [0x5c9280]
mov dword [eax], edx
mov edx, dword [0x5c9284]
mov dword [eax + 4], ecx
mov cx, word [0x5c9288]
mov dword [eax + 8], edx
mov word [eax + 0xc], cx
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x579c16
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x44], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x579c34
xor eax, eax
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0x104], cl
inc eax
cmp cl, bl
jne 0x579c40
lea eax, [ebp - 0x104]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x579c60
mov edx, dword [str.3DDataMap2]
mov ecx, dword [0x5c9270]
mov dword [eax], edx
mov edx, dword [0x5c9274]
mov dword [eax + 4], ecx
mov cl, byte [0x5c9278]
mov dword [eax + 8], edx
mov byte [eax + 0xc], cl
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x579c94
sub eax, edx
inc eax
push eax
call fcn.00596326
add esp, 4
mov dword [esi + 0x48], eax
lea ecx, [ebp - 0x104]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x579cb2
mov ecx, dword [ebp - 4]
pop edi
mov dword [esi + 0x50], ebx
pop esi
xor ecx, ebp
pop ebx
call fcn.0059641f
mov esp, ebp
pop ebp
ret