Function at 0x45d280
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x204
mov eax, dword [0x6a0290]
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.0058ed30
push 0xff
lea eax, [ebp - 0x103]
mov byte [ebp - 0x104], 0
push 0
push eax
call fcn.0058ed30
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 0x45d2f0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058d63c
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 0x45d310
xor ecx, ecx
cmp dword [0x602bf0], ecx
je 0x45d923
lea esp, [esp]
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45d330
lea edi, [ebp - 0x104]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x45d350
mov al, byte [0x5c1722]
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 0x45d370
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058d63c
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 0x45d390
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45d3a0
lea edi, [ebp - 0x104]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x45d3c0
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 0x45d3e0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058d63c
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 0x45d400
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45d410
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45d430
mov eax, dword [str.Ini]
mov dword [ecx], eax
mov al, byte [0x5c3ce4]
mov byte [ecx + 4], al
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45d452
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058d63c
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 0x45d470
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45d480
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45d4a0
mov eax, dword [str.Sound]
mov dword [ecx], eax
mov ax, word [0x5c3cec]
mov word [ecx + 4], ax
mov al, byte [0x5c3cee]
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 0x45d4d0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058d63c
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 0x45d4f0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45d500
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45d520
mov eax, dword [str.Resource]
mov dword [ecx], eax
mov eax, dword [0x5c3cf4]
mov dword [ecx + 4], eax
mov ax, word [0x5c3cf8]
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 0x45d550
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058d63c
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 0x45d570
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45d580
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45d5a0
mov eax, dword [0x5c3cfc]
mov dword [ecx], eax
mov al, byte [0x5c3d00]
mov byte [ecx + 4], al
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45d5c2
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058d63c
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 0x45d5e0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45d5f0
lea edi, [ebp - 0x104]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x45d610
mov al, byte [0x5c1722]
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 0x45d630
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058d63c
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 0x45d650
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45d660
lea edi, [ebp - 0x104]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x45d680
mov al, byte [0x5c1722]
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 0x45d6a0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058d63c
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 0x45d6c0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45d6d0
lea edi, [ebp - 0x104]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x45d6f0
mov al, byte [0x5c1722]
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 0x45d710
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058d63c
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 0x45d730
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45d740
lea edi, [ebp - 0x104]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x45d760
mov al, byte [0x5c1722]
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 0x45d780
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058d63c
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 0x45d7a0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45d7b0
lea edi, [ebp - 0x104]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x45d7d0
mov al, byte [0x5c1722]
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 0x45d7f0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058d63c
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 0x45d810
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45d820
lea edi, [ebp - 0x104]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x45d840
mov al, byte [0x5c1722]
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 0x45d860
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058d63c
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 0x45d880
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45d890
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45d8b0
mov eax, dword [str.ImageMinimap]
mov dword [ecx], eax
mov eax, dword [0x5c3d08]
mov dword [ecx + 4], eax
mov eax, dword [0x5c3d0c]
mov dword [ecx + 8], eax
mov ax, word [0x5c3d10]
mov word [ecx + 0xc], ax
mov al, byte [0x5c3d12]
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 0x45d8f0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058d63c
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 0x45d910
jmp 0x45df8e
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45d923
lea edi, [ebp - 0x104]
dec edi
nop
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x45d940
mov al, byte [0x5c1722]
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 0x45d960
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058d63c
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 0x45d980
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45d990
lea edi, [ebp - 0x104]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x45d9b0
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 0x45d9d0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058d63c
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 0x45d9f0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45da00
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45da20
mov eax, dword [str.Ini]
mov dword [ecx], eax
mov al, byte [0x5c3ce4]
mov byte [ecx + 4], al
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45da42
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058d63c
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 0x45da60
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45da70
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45da90
mov eax, dword [str.Sound]
mov dword [ecx], eax
mov ax, word [0x5c3cec]
mov word [ecx + 4], ax
mov al, byte [0x5c3cee]
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 0x45dac0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058d63c
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 0x45dae0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45daf0
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45db10
mov eax, dword [str.Resource]
mov dword [ecx], eax
mov eax, dword [0x5c3cf4]
mov dword [ecx + 4], eax
mov ax, word [0x5c3cf8]
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 0x45db40
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058d63c
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 0x45db60
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45db70
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45db90
mov eax, dword [0x5c3cfc]
mov dword [ecx], eax
mov al, byte [0x5c3d00]
mov byte [ecx + 4], al
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45dbb2
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058d63c
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 0x45dbd0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45dbe0
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45dc00
mov eax, dword [str.3DDataCharacter]
mov dword [ecx], eax
mov eax, dword [0x5c3d18]
mov dword [ecx + 4], eax
mov eax, dword [0x5c3d1c]
mov dword [ecx + 8], eax
mov eax, dword [0x5c3d20]
mov dword [ecx + 0xc], eax
mov ax, word [0x5c3d24]
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 0x45dc40
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058d63c
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 0x45dc60
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45dc70
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45dc90
mov eax, dword [str.3DDataPet]
mov dword [ecx], eax
mov eax, dword [0x5c3d2c]
mov dword [ecx + 4], eax
mov eax, dword [0x5c3d30]
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 0x45dcc0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058d63c
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 0x45dce0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45dcf0
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45dd10
mov eax, dword [str.3DDataMonster]
mov dword [ecx], eax
mov eax, dword [0x5c3d38]
mov dword [ecx + 4], eax
mov eax, dword [0x5c3d3c]
mov dword [ecx + 8], eax
mov eax, dword [0x5c3d40]
mov dword [ecx + 0xc], eax
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45dd42
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058d63c
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 0x45dd60
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45dd70
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45dd90
mov eax, dword [str.3DDataNpc]
mov dword [ecx], eax
mov eax, dword [0x5c3d48]
mov dword [ecx + 4], eax
mov eax, dword [0x5c3d4c]
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 0x45ddc0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058d63c
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 0x45dde0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45ddf0
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45de10
mov eax, dword [str.3DDataEffect]
mov dword [ecx], eax
mov eax, dword [0x5c3d54]
mov dword [ecx + 4], eax
mov eax, dword [0x5c3d58]
mov dword [ecx + 8], eax
mov ax, word [0x5c3d5c]
mov word [ecx + 0xc], ax
mov al, byte [0x5c3d5e]
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 0x45de50
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058d63c
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 0x45de70
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45de80
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45dea0
mov eax, dword [str.3DDataMap]
mov dword [ecx], eax
mov eax, dword [0x5c3d64]
mov dword [ecx + 4], eax
mov eax, dword [0x5c3d68]
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 0x45ded0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058d63c
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 0x45def0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45df00
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45df20
mov eax, dword [str.ImageMinimap]
mov dword [ecx], eax
mov eax, dword [0x5c3d08]
mov dword [ecx + 4], eax
mov eax, dword [0x5c3d0c]
mov dword [ecx + 8], eax
mov ax, word [0x5c3d10]
mov word [ecx + 0xc], ax
mov al, byte [0x5c3d12]
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 0x45df60
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058d63c
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 0x45df80
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov dword [ebx + 0x50], 0
xor ecx, ebp
pop ebx
call fcn.0058de24
mov esp, ebp
pop ebp
ret