Function at 0x45b6f0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x204
mov eax, dword [0x695e80]
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.00586c40
push 0xff
lea eax, [ebp - 0x103]
mov byte [ebp - 0x104], 0
push 0
push eax
call fcn.00586c40
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 0x45b760
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058554c
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 0x45b780
xor ecx, ecx
cmp dword [0x5f87d0], ecx
je 0x45bd93
lea esp, [esp]
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45b7a0
lea edi, [ebp - 0x104]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x45b7c0
mov al, byte [0x5b8782]
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 0x45b7e0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058554c
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 0x45b800
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45b810
lea edi, [ebp - 0x104]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x45b830
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 0x45b850
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058554c
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 0x45b870
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45b880
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45b8a0
mov eax, dword [str.Ini]
mov dword [ecx], eax
mov al, byte [0x5bac9c]
mov byte [ecx + 4], al
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45b8c2
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058554c
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 0x45b8e0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45b8f0
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45b910
mov eax, dword [str.Sound]
mov dword [ecx], eax
mov ax, word [0x5baca4]
mov word [ecx + 4], ax
mov al, byte [0x5baca6]
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 0x45b940
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058554c
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 0x45b960
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45b970
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45b990
mov eax, dword [str.Resource]
mov dword [ecx], eax
mov eax, dword [0x5bacac]
mov dword [ecx + 4], eax
mov ax, word [0x5bacb0]
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 0x45b9c0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058554c
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 0x45b9e0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45b9f0
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45ba10
mov eax, dword [0x5bacb4]
mov dword [ecx], eax
mov al, byte [0x5bacb8]
mov byte [ecx + 4], al
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45ba32
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058554c
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 0x45ba50
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45ba60
lea edi, [ebp - 0x104]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x45ba80
mov al, byte [0x5b8782]
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 0x45baa0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058554c
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 0x45bac0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45bad0
lea edi, [ebp - 0x104]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x45baf0
mov al, byte [0x5b8782]
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 0x45bb10
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058554c
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 0x45bb30
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45bb40
lea edi, [ebp - 0x104]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x45bb60
mov al, byte [0x5b8782]
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 0x45bb80
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058554c
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 0x45bba0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45bbb0
lea edi, [ebp - 0x104]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x45bbd0
mov al, byte [0x5b8782]
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 0x45bbf0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058554c
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 0x45bc10
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45bc20
lea edi, [ebp - 0x104]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x45bc40
mov al, byte [0x5b8782]
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 0x45bc60
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058554c
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 0x45bc80
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45bc90
lea edi, [ebp - 0x104]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x45bcb0
mov al, byte [0x5b8782]
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 0x45bcd0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058554c
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 0x45bcf0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45bd00
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45bd20
mov eax, dword [str.ImageMinimap]
mov dword [ecx], eax
mov eax, dword [0x5bacc0]
mov dword [ecx + 4], eax
mov eax, dword [0x5bacc4]
mov dword [ecx + 8], eax
mov ax, word [0x5bacc8]
mov word [ecx + 0xc], ax
mov al, byte [0x5bacca]
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 0x45bd60
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058554c
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 0x45bd80
jmp 0x45c3fe
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45bd93
lea edi, [ebp - 0x104]
dec edi
nop
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x45bdb0
mov al, byte [0x5b8782]
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 0x45bdd0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058554c
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 0x45bdf0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45be00
lea edi, [ebp - 0x104]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x45be20
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 0x45be40
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058554c
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 0x45be60
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45be70
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45be90
mov eax, dword [str.Ini]
mov dword [ecx], eax
mov al, byte [0x5bac9c]
mov byte [ecx + 4], al
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45beb2
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058554c
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 0x45bed0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45bee0
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45bf00
mov eax, dword [str.Sound]
mov dword [ecx], eax
mov ax, word [0x5baca4]
mov word [ecx + 4], ax
mov al, byte [0x5baca6]
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 0x45bf30
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058554c
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 0x45bf50
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45bf60
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45bf80
mov eax, dword [str.Resource]
mov dword [ecx], eax
mov eax, dword [0x5bacac]
mov dword [ecx + 4], eax
mov ax, word [0x5bacb0]
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 0x45bfb0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058554c
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 0x45bfd0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45bfe0
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45c000
mov eax, dword [0x5bacb4]
mov dword [ecx], eax
mov al, byte [0x5bacb8]
mov byte [ecx + 4], al
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45c022
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058554c
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 0x45c040
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45c050
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45c070
mov eax, dword [str.3DDataCharacter]
mov dword [ecx], eax
mov eax, dword [0x5bacd0]
mov dword [ecx + 4], eax
mov eax, dword [0x5bacd4]
mov dword [ecx + 8], eax
mov eax, dword [0x5bacd8]
mov dword [ecx + 0xc], eax
mov ax, word [0x5bacdc]
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 0x45c0b0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058554c
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 0x45c0d0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45c0e0
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45c100
mov eax, dword [str.3DDataPet]
mov dword [ecx], eax
mov eax, dword [0x5bace4]
mov dword [ecx + 4], eax
mov eax, dword [0x5bace8]
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 0x45c130
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058554c
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 0x45c150
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45c160
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45c180
mov eax, dword [str.3DDataMonster]
mov dword [ecx], eax
mov eax, dword [0x5bacf0]
mov dword [ecx + 4], eax
mov eax, dword [0x5bacf4]
mov dword [ecx + 8], eax
mov eax, dword [0x5bacf8]
mov dword [ecx + 0xc], eax
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45c1b2
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058554c
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 0x45c1d0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45c1e0
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45c200
mov eax, dword [str.3DDataNpc]
mov dword [ecx], eax
mov eax, dword [0x5bad00]
mov dword [ecx + 4], eax
mov eax, dword [0x5bad04]
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 0x45c230
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058554c
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 0x45c250
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45c260
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45c280
mov eax, dword [str.3DDataEffect]
mov dword [ecx], eax
mov eax, dword [0x5bad0c]
mov dword [ecx + 4], eax
mov eax, dword [0x5bad10]
mov dword [ecx + 8], eax
mov ax, word [0x5bad14]
mov word [ecx + 0xc], ax
mov al, byte [0x5bad16]
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 0x45c2c0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058554c
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 0x45c2e0
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45c2f0
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45c310
mov eax, dword [str.3DDataMap]
mov dword [ecx], eax
mov eax, dword [0x5bad1c]
mov dword [ecx + 4], eax
mov eax, dword [0x5bad20]
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 0x45c340
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058554c
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 0x45c360
xor ecx, ecx
mov al, byte [ebp + ecx - 0x204]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x105], al
test al, al
jne 0x45c370
lea ecx, [ebp - 0x104]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45c390
mov eax, dword [str.ImageMinimap]
mov dword [ecx], eax
mov eax, dword [0x5bacc0]
mov dword [ecx + 4], eax
mov eax, dword [0x5bacc4]
mov dword [ecx + 8], eax
mov ax, word [0x5bacc8]
mov word [ecx + 0xc], ax
mov al, byte [0x5bacca]
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 0x45c3d0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0058554c
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 0x45c3f0
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov dword [ebx + 0x50], 0
xor ecx, ebp
pop ebx
call fcn.00585d34
mov esp, ebp
pop ebp
ret