Function at 0x488390
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x204
mov eax, dword [0x6d5760]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0xff
lea eax, [ebp - 0x203]
mov byte [ebp - 0x204], 0
push 0
push eax
mov ebx, ecx
call fcn.005b7980
push 0xff
lea eax, [ebp - 0x103]
mov byte [ebp - 0x104], 0
push 0
push eax
call fcn.005b7980
add esp, 0x18
lea eax, [ebp - 0x204]
push eax
push 0x100
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea ecx, [ebp - 0x204]
lea edx, [ecx + 1]
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488400
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.005b6294
add esp, 4
mov dword [ebx + 4], eax
lea edx, [ebp - 0x204]
mov edi, edi
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x488420
xor ecx, ecx
cmp dword [0x6380b8], ecx
je 0x488a33
lea esp, [esp]
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x488440
lea edi, [ebp - 0x104]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x488460
mov al, byte [0x5eb3bc]
lea ecx, [ebp - 0x104]
mov byte [edi], al
lea edx, [ecx + 1]
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488480
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.005b6294
add esp, 4
mov dword [ebx + 8], eax
lea edx, [ebp - 0x104]
mov edi, edi
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x4884a0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x4884b0
lea edi, [ebp - 0x104]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4884d0
mov ecx, 5
mov esi, str.ResourceEffectScript
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4884f0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.005b6294
add esp, 4
mov dword [ebx + 0xc], eax
lea edx, [ebp - 0x104]
mov edi, edi
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x488510
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x488520
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x488540
mov eax, dword [str.Ini]
mov dword [ecx], eax
mov al, byte [0x5f6444]
mov byte [ecx + 4], al
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488562
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.005b6294
add esp, 4
mov dword [ebx + 0x10], eax
lea edx, [ebp - 0x104]
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x488580
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x488590
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4885b0
mov eax, dword [str.Sound]
mov dword [ecx], eax
mov ax, word [0x5f644c]
mov word [ecx + 4], ax
mov al, byte [0x5f644e]
mov byte [ecx + 6], al
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4885e0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.005b6294
add esp, 4
mov dword [ebx + 0x14], eax
lea edx, [ebp - 0x104]
mov edi, edi
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x488600
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x488610
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x488630
mov eax, dword [str.Resource]
mov dword [ecx], eax
mov eax, dword [0x5f6454]
mov dword [ecx + 4], eax
mov ax, word [0x5f6458]
mov word [ecx + 8], ax
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488660
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.005b6294
add esp, 4
mov dword [ebx + 0x18], eax
lea edx, [ebp - 0x104]
mov edi, edi
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x488680
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x488690
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4886b0
mov eax, dword [0x5f645c]
mov dword [ecx], eax
mov al, byte [0x5f6460]
mov byte [ecx + 4], al
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4886d2
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.005b6294
add esp, 4
mov dword [ebx + 0x1c], eax
lea edx, [ebp - 0x104]
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x4886f0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x488700
lea edi, [ebp - 0x104]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x488720
mov al, byte [0x5eb3bc]
lea ecx, [ebp - 0x104]
mov byte [edi], al
lea edx, [ecx + 1]
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488740
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.005b6294
add esp, 4
mov dword [ebx + 0x20], eax
lea edx, [ebp - 0x104]
mov edi, edi
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x488760
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x488770
lea edi, [ebp - 0x104]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x488790
mov al, byte [0x5eb3bc]
lea ecx, [ebp - 0x104]
mov byte [edi], al
lea edx, [ecx + 1]
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4887b0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.005b6294
add esp, 4
mov dword [ebx + 0x24], eax
lea edx, [ebp - 0x104]
mov edi, edi
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x4887d0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x4887e0
lea edi, [ebp - 0x104]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x488800
mov al, byte [0x5eb3bc]
lea ecx, [ebp - 0x104]
mov byte [edi], al
lea edx, [ecx + 1]
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488820
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.005b6294
add esp, 4
mov dword [ebx + 0x28], eax
lea edx, [ebp - 0x104]
mov edi, edi
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x488840
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x488850
lea edi, [ebp - 0x104]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x488870
mov al, byte [0x5eb3bc]
lea ecx, [ebp - 0x104]
mov byte [edi], al
lea edx, [ecx + 1]
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488890
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.005b6294
add esp, 4
mov dword [ebx + 0x2c], eax
lea edx, [ebp - 0x104]
mov edi, edi
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x4888b0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x4888c0
lea edi, [ebp - 0x104]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x4888e0
mov al, byte [0x5eb3bc]
lea ecx, [ebp - 0x104]
mov byte [edi], al
lea edx, [ecx + 1]
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488900
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.005b6294
add esp, 4
mov dword [ebx + 0x30], eax
lea edx, [ebp - 0x104]
mov edi, edi
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x488920
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x488930
lea edi, [ebp - 0x104]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x488950
mov al, byte [0x5eb3bc]
lea ecx, [ebp - 0x104]
mov byte [edi], al
lea edx, [ecx + 1]
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488970
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.005b6294
add esp, 4
mov dword [ebx + 0x38], eax
lea edx, [ebp - 0x104]
mov edi, edi
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x488990
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x4889a0
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4889c0
mov eax, dword [str.ImageMinimap]
mov dword [ecx], eax
mov eax, dword [0x5f6468]
mov dword [ecx + 4], eax
mov eax, dword [0x5f646c]
mov dword [ecx + 8], eax
mov ax, word [0x5f6470]
mov word [ecx + 0xc], ax
mov al, byte [0x5f6472]
mov byte [ecx + 0xe], al
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488a00
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.005b6294
add esp, 4
mov dword [ebx + 0x34], eax
lea edx, [ebp - 0x104]
mov edi, edi
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x488a20
jmp 0x48909e
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x488a33
lea edi, [ebp - 0x104]
dec edi
nop
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x488a50
mov al, byte [0x5eb3bc]
lea ecx, [ebp - 0x104]
mov byte [edi], al
lea edx, [ecx + 1]
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488a70
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.005b6294
add esp, 4
mov dword [ebx + 8], eax
lea edx, [ebp - 0x104]
mov edi, edi
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x488a90
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x488aa0
lea edi, [ebp - 0x104]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x488ac0
mov ecx, 5
mov esi, str.ResourceEffectScript
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488ae0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.005b6294
add esp, 4
mov dword [ebx + 0xc], eax
lea edx, [ebp - 0x104]
mov edi, edi
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x488b00
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x488b10
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x488b30
mov eax, dword [str.Ini]
mov dword [ecx], eax
mov al, byte [0x5f6444]
mov byte [ecx + 4], al
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488b52
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.005b6294
add esp, 4
mov dword [ebx + 0x10], eax
lea edx, [ebp - 0x104]
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x488b70
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x488b80
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x488ba0
mov eax, dword [str.Sound]
mov dword [ecx], eax
mov ax, word [0x5f644c]
mov word [ecx + 4], ax
mov al, byte [0x5f644e]
mov byte [ecx + 6], al
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488bd0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.005b6294
add esp, 4
mov dword [ebx + 0x14], eax
lea edx, [ebp - 0x104]
mov edi, edi
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x488bf0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x488c00
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x488c20
mov eax, dword [str.Resource]
mov dword [ecx], eax
mov eax, dword [0x5f6454]
mov dword [ecx + 4], eax
mov ax, word [0x5f6458]
mov word [ecx + 8], ax
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488c50
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.005b6294
add esp, 4
mov dword [ebx + 0x18], eax
lea edx, [ebp - 0x104]
mov edi, edi
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x488c70
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x488c80
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x488ca0
mov eax, dword [0x5f645c]
mov dword [ecx], eax
mov al, byte [0x5f6460]
mov byte [ecx + 4], al
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488cc2
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.005b6294
add esp, 4
mov dword [ebx + 0x1c], eax
lea edx, [ebp - 0x104]
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x488ce0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x488cf0
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x488d10
mov eax, dword [str.3DDataCharacter]
mov dword [ecx], eax
mov eax, dword [0x5f6478]
mov dword [ecx + 4], eax
mov eax, dword [0x5f647c]
mov dword [ecx + 8], eax
mov eax, dword [0x5f6480]
mov dword [ecx + 0xc], eax
mov ax, word [0x5f6484]
mov word [ecx + 0x10], ax
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488d50
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.005b6294
add esp, 4
mov dword [ebx + 0x20], eax
lea edx, [ebp - 0x104]
mov edi, edi
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x488d70
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x488d80
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x488da0
mov eax, dword [str.3DDataPet]
mov dword [ecx], eax
mov eax, dword [0x5f648c]
mov dword [ecx + 4], eax
mov eax, dword [0x5f6490]
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488dd0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.005b6294
add esp, 4
mov dword [ebx + 0x24], eax
lea edx, [ebp - 0x104]
mov edi, edi
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x488df0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x488e00
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x488e20
mov eax, dword [str.3DDataMonster]
mov dword [ecx], eax
mov eax, dword [0x5f6498]
mov dword [ecx + 4], eax
mov eax, dword [0x5f649c]
mov dword [ecx + 8], eax
mov eax, dword [0x5f64a0]
mov dword [ecx + 0xc], eax
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488e52
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.005b6294
add esp, 4
mov dword [ebx + 0x28], eax
lea edx, [ebp - 0x104]
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x488e70
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x488e80
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x488ea0
mov eax, dword [str.3DDataNpc]
mov dword [ecx], eax
mov eax, dword [0x5f64a8]
mov dword [ecx + 4], eax
mov eax, dword [0x5f64ac]
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488ed0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.005b6294
add esp, 4
mov dword [ebx + 0x2c], eax
lea edx, [ebp - 0x104]
mov edi, edi
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x488ef0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x488f00
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x488f20
mov eax, dword [str.3DDataEffect]
mov dword [ecx], eax
mov eax, dword [0x5f64b4]
mov dword [ecx + 4], eax
mov eax, dword [0x5f64b8]
mov dword [ecx + 8], eax
mov ax, word [0x5f64bc]
mov word [ecx + 0xc], ax
mov al, byte [0x5f64be]
mov byte [ecx + 0xe], al
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488f60
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.005b6294
add esp, 4
mov dword [ebx + 0x30], eax
lea edx, [ebp - 0x104]
mov edi, edi
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x488f80
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x488f90
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x488fb0
mov eax, dword [str.3DDataMap]
mov dword [ecx], eax
mov eax, dword [0x5f64c4]
mov dword [ecx + 4], eax
mov eax, dword [0x5f64c8]
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488fe0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.005b6294
add esp, 4
mov dword [ebx + 0x38], eax
lea edx, [ebp - 0x104]
mov edi, edi
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x489000
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x489010
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x489030
mov eax, dword [str.ImageMinimap]
mov dword [ecx], eax
mov eax, dword [0x5f6468]
mov dword [ecx + 4], eax
mov eax, dword [0x5f646c]
mov dword [ecx + 8], eax
mov ax, word [0x5f6470]
mov word [ecx + 0xc], ax
mov al, byte [0x5f6472]
mov byte [ecx + 0xe], al
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x489070
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.005b6294
add esp, 4
mov dword [ebx + 0x34], eax
lea edx, [ebp - 0x104]
mov edi, edi
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x489090
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov dword [ebx + 0x50], 0
xor ecx, ebp
pop ebx
call fcn.005b6a74
mov esp, ebp
pop ebp
ret