Function at 0x5028a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x72d949
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x6b4
push ebx
mov ebx, ecx
mov eax, dword [ebx + 8]
shr eax, 3
test al, 1
push esi
push edi
mov dword [esp + 0x34], ebx
je 0x5053f9
lea ecx, [esp + 0x70]
call fcn.00478600
mov ecx, dword [0x7cebf8]
mov dword [esp + 0x30], ecx
xor esi, esi
mov ecx, 0x7cb478
mov dword [esp + 0x6c8], esi
mov byte [esp + 0xf], 0
call fcn.004d51b0
mov ecx, dword [ebp + 8]
cmp ecx, esi
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x14]
mov dword [0x7cebcc], esi
mov dword [0x7cead0], esi
mov dword [0x7ce944], esi
mov dword [0x7cebd0], esi
mov dword [0x7cebd4], esi
mov dword [0x7cebb0], esi
mov byte [0x7cebdd], 0
mov dword [0x7cebec], ecx
mov dword [0x7cebfc], edx
mov dword [0x7cebf0], eax
je 0x502955
mov edx, dword [ecx + 0x28]
jmp 0x502957
xor edx, edx
mov edi, dword [ebp + 0xc]
cmp edi, esi
mov dword [0x7cebf4], edx
jne 0x502967
lea edi, [ebx + 0x5c]
cmp edx, esi
mov dword [0x7cebf8], edi
je 0x50299b
cmp ecx, esi
je 0x50299b
cmp eax, esi
je 0x50299b
push eax
call fcn.004e5460
push eax
mov eax, dword [0x7cebf4]
push eax
call fcn.0050ec80
mov edx, dword [0x7cebf4]
add esp, 0xc
mov dword [0x7cec18], eax
jmp 0x5029a1
mov dword [0x7cec18], esi
mov eax, dword [ebx + 0x3c]
mov ecx, dword [0x7cebec]
mov dword [esp + 0x50], edx
mov edx, dword [0x7cebb0]
cmp edx, eax
mov dword [esp + 0x44], ecx
jge 0x5053db
mov al, byte [esp + 0xf]
xor esi, esi
test al, al
mov dword [0x7cec00], esi
mov dword [0x7cebb4], esi
mov byte [0x7ceba8], 0
je 0x502a01
cmp dword [0x7a91c4], 0x10c
je 0x502a01
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x44]
mov dword [0x7cebf4], eax
mov dword [0x7cebec], ecx
mov byte [esp + 0xf], 0
mov ebx, dword [esp + 0x34]
push esi
mov ecx, ebx
call fcn.00500510
mov eax, dword [0x7a91c4]
cmp eax, 0x10c
jne 0x502a1e
mov byte [esp + 0xf], 1
mov ecx, dword [0x7cebcc]
cmp ecx, esi
je 0x502a40
cmp eax, 0x10c
je case.0x502b28.74
mov eax, ecx
dec eax
mov dword [0x7cebcc], eax
jmp case.0x502b28.74
mov ecx, dword [0x7c67dc]
mov edx, dword [ecx + 0x2e4]
mov edi, 0x8000
test dword [edx + 0x24], edi
je 0x502acd
mov edx, dword [0x7cebf8]
test byte [edx + 0xc], 2
je 0x502acd
cmp eax, 0x100
jl 0x502a80
cmp eax, 0x142
jge 0x502a80
lea eax, [eax + eax*2 - 0x300]
mov ecx, dword [eax*4 + 0x7a9228]
jmp 0x502a9c
cmp eax, 0x1000
jl 0x502acd
cmp eax, 0x11bd
jge 0x502acd
lea eax, [eax + eax*2 - 0x3000]
mov ecx, dword [eax*4 + 0x7a9540]
mov esi, dword [esp + 0x38]
push ecx
lea edx, [ebx + 0x10]
push edx
push 0x7b02e4
push esi
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
push esi
call fcn.006e9a00
push 0
push esi
call fcn.005b2c20
mov ecx, dword [0x7c67dc]
add esp, 0xc
xor esi, esi
mov edx, dword [0x7a91c4]
lea eax, [edx - 0x105]
cmp eax, 0x3c
ja case.0x502ae2.268
jmp dword [eax*4 + 0x505444]
push 0x200
push ebx
push 0x7ce6f8
lea ecx, [esp + 0x7c]
call fcn.004790e0
fstp qword [esp + 0x14]
mov eax, dword [esp + 0x70]
cmp eax, esi
jne 0x505410
movsx eax, byte [0x7ceba8]
add eax, 0xffffffba
cmp eax, 0x2d
ja case.0x502b28.74
xor ecx, ecx
mov cl, byte [eax + 0x50554c]
jmp dword [ecx*4 + 0x505538]
mov ecx, dword [0x7cec04]
cmp ecx, esi
je 0x502b87
call fcn.004e7020
test eax, eax
je case.0x502b28.74
fld qword [esp + 0x14]
call sub.MSVCRT.dll__ftol
mov ecx, dword [0x7cec04]
mov si, ax
call fcn.004e7020
mov edx, dword [eax]
mov eax, dword [0x7cebb4]
mov word [edx + eax*2], si
mov al, byte [0x7cebdd]
test al, al
jne case.0x502b28.74
mov ecx, dword [0x7cec04]
mov edx, dword [ecx]
push 1
call dword [edx + 0x14]
jmp case.0x502b28.74
mov eax, dword [0x7cec08]
cmp eax, esi
je 0x502bc7
mov esi, dword [0x7cebb4]
mov edi, eax
mov eax, dword [edi + 0x30]
cmp esi, eax
jb 0x502bb2
push eax
lea eax, [edi + 0x10]
push eax
push esi
push str.Trying_to_set_short__d_in_script__s_when_there_are_only__d_local_shorts._r_n
call fcn.00477400
add esp, 0x10
fld qword [esp + 0x14]
call sub.MSVCRT.dll__ftol
mov ecx, dword [edi + 0x5c]
mov word [ecx + esi*2], ax
jmp case.0x502b28.74
fld qword [esp + 0x14]
call sub.MSVCRT.dll__ftol
mov edx, dword [0x7cebf8]
mov ecx, dword [edx]
mov edx, dword [0x7cebb4]
mov word [ecx + edx*2], ax
cmp dword [ebp + 0xc], esi
je case.0x502b28.74
mov ecx, dword [0x7cebec]
cmp ecx, esi
je case.0x502b28.74
mov al, byte [0x7cebdd]
test al, al
jne case.0x502b28.74
mov eax, dword [ecx]
push 1
call dword [eax + 0x14]
jmp case.0x502b28.74
mov ecx, dword [0x7cec04]
cmp ecx, esi
je 0x502c6a
call fcn.004e7020
test eax, eax
je case.0x502b28.74
fld qword [esp + 0x14]
call sub.MSVCRT.dll__ftol
mov ecx, dword [0x7cec04]
mov esi, eax
call fcn.004e7020
mov ecx, dword [eax + 4]
mov edx, dword [0x7cebb4]
mov dword [ecx + edx*4], esi
mov al, byte [0x7cebdd]
test al, al
jne case.0x502b28.74
mov ecx, dword [0x7cec04]
mov eax, dword [ecx]
push 1
call dword [eax + 0x14]
jmp case.0x502b28.74
mov eax, dword [0x7cec08]
cmp eax, esi
je 0x502ca9
mov esi, dword [0x7cebb4]
mov edi, eax
mov eax, dword [edi + 0x34]
cmp esi, eax
jb 0x502c95
push eax
lea ecx, [edi + 0x10]
push ecx
push esi
push str.Trying_to_set_long__d_in_script__s_when_there_are_only__d_local_longs._r_n
call fcn.00477400
add esp, 0x10
fld qword [esp + 0x14]
call sub.MSVCRT.dll__ftol
mov edx, dword [edi + 0x60]
mov dword [edx + esi*4], eax
jmp case.0x502b28.74
fld qword [esp + 0x14]
call sub.MSVCRT.dll__ftol
mov ecx, dword [0x7cebf8]
mov edx, dword [ecx + 4]
mov ecx, dword [0x7cebb4]
mov dword [edx + ecx*4], eax
cmp dword [ebp + 0xc], esi
je case.0x502b28.74
mov ecx, dword [0x7cebec]
cmp ecx, esi
je case.0x502b28.74
mov al, byte [0x7cebdd]
test al, al
jne case.0x502b28.74
mov edx, dword [ecx]
push 1
call dword [edx + 0x14]
jmp case.0x502b28.74
mov ecx, dword [0x7cec04]
cmp ecx, esi
je 0x502d33
call fcn.004e7020
test eax, eax
je case.0x502b28.74
fld qword [esp + 0x14]
mov ecx, dword [0x7cec04]
fstp dword [esp + 0x10]
call fcn.004e7020
mov eax, dword [eax + 8]
fld dword [esp + 0x10]
mov ecx, dword [0x7cebb4]
fstp dword [eax + ecx*4]
jmp 0x502b68
mov eax, dword [0x7cec08]
cmp eax, esi
je 0x502d6d
mov esi, dword [0x7cebb4]
mov edi, eax
mov eax, dword [edi + 0x38]
cmp esi, eax
jb 0x502d5e
push eax
lea eax, [edi + 0x10]
push eax
push esi
push str.Trying_to_set_float__d_in_script__s_when_there_are_only__d_local_floats._r_n
call fcn.00477400
add esp, 0x10
fld qword [esp + 0x14]
mov ecx, dword [edi + 0x64]
fstp dword [ecx + esi*4]
jmp case.0x502b28.74
mov edx, dword [0x7cebf8]
fld qword [esp + 0x14]
mov eax, dword [edx + 8]
mov ecx, dword [0x7cebb4]
fstp dword [eax + ecx*4]
mov eax, dword [ebp + 0xc]
cmp eax, esi
je case.0x502b28.74
mov ecx, dword [0x7cebec]
cmp ecx, esi
je case.0x502b28.74
mov al, byte [0x7cebdd]
test al, al
jne case.0x502b28.74
mov edx, dword [ecx]
push 1
call dword [edx + 0x14]
jmp case.0x502b28.74
fld qword [esp + 0x14]
mov eax, dword [0x7cebb4]
fstp dword [eax + 0x34]
jmp case.0x502b28.74
mov ecx, dword [0x7cebd0]
test byte [ecx*4 + 0x7cead0], 2
jne 0x502df3
mov ecx, ebx
call fcn.004ffcc0
test eax, eax
je 0x502df3
mov eax, dword [0x7cebd0]
or dword [eax*4 + 0x7cead0], 2
jmp case.0x502b28.74
mov eax, dword [0x7cebcc]
mov edx, dword [0x7cebc0]
add eax, edx
mov dword [0x7cebcc], eax
jmp case.0x502b28.74
mov ecx, dword [0x7cebd0]
mov eax, dword [ecx*4 + 0x7cead0]
test al, 2
jne 0x502e2a
or eax, 2
mov dword [ecx*4 + 0x7cead0], eax
jmp case.0x502b28.74
mov ecx, dword [0x7cebcc]
mov eax, dword [0x7cebc0]
add ecx, eax
mov dword [0x7cebcc], ecx
jmp case.0x502b28.74
mov eax, dword [0x7cebd0]
cmp eax, esi
mov dword [eax*4 + 0x7cead0], esi
je case.0x502b28.74
dec eax
mov dword [0x7cebd0], eax
jmp case.0x502b28.74
mov ecx, ebx
call fcn.004ffcc0
test eax, eax
mov eax, dword [0x7cebd4]
mov ecx, dword [eax*4 + 0x7ce944]
je 0x502e87
or ecx, 2
mov dword [eax*4 + 0x7ce944], ecx
jmp case.0x502b28.74
and ecx, 0xfffffffd
mov dword [eax*4 + 0x7ce944], ecx
mov eax, dword [0x7cebcc]
mov ecx, dword [0x7cebc0]
add eax, ecx
mov dword [0x7cebcc], eax
jmp case.0x502b28.74
mov eax, dword [0x7cebd4]
test byte [eax*4 + 0x7ce944], 2
je 0x502ec4
mov edx, dword [eax*4 + 0x7ce91c]
mov dword [0x7cebb0], edx
cmp eax, esi
mov dword [eax*4 + 0x7ce944], esi
je case.0x502b28.74
dec eax
mov dword [0x7cebd4], eax
jmp case.0x502b28.74
movsx eax, byte [0x7ceba8]
add eax, 0xffffffba
cmp eax, 0x2d
ja case.0x502b28.74
xor ecx, ecx
mov cl, byte [eax + 0x505598]
jmp dword [ecx*4 + 0x50557c]
mov ecx, dword [0x7cec04]
cmp ecx, esi
je 0x502f7d
call fcn.004e6ff0
mov edi, dword [0x7cebb4]
mov esi, eax
mov eax, dword [esi + 0x30]
cmp edi, eax
jb 0x502f31
push eax
lea edx, [esi + 0x10]
push edx
push edi
push str.Trying_to_access_short__d_in_script__s_when_there_are_only__d_local_shorts._r_n
call fcn.00477400
add esp, 0x10
mov eax, dword [esi + 0x44]
mov ecx, dword [0x7cec04]
mov edi, dword [eax + edi*4]
call fcn.004e6ff0
mov ecx, dword [0x7cec04]
mov esi, eax
call fcn.004e7020
mov ecx, dword [eax]
mov edx, dword [0x7cebb4]
movsx eax, word [ecx + edx*2]
mov edx, dword [esi]
push eax
push edi
mov ecx, esi
call dword [edx + 0x20]
push eax
mov eax, dword [0x7c67dc]
push str._s___s___d
push eax
call fcn.0040f970
add esp, 0x14
jmp case.0x502b28.74
mov ecx, dword [0x7cec08]
cmp ecx, esi
je 0x50300b
mov esi, dword [0x7cebb4]
mov edi, ecx
mov eax, dword [edi + 0x30]
cmp esi, eax
jb 0x502fb3
push eax
lea ecx, [edi + 0x10]
push ecx
push esi
push str.Trying_to_access_short__d_in_script__s_when_there_are_only__d_local_shorts._r_n
call fcn.00477400
mov ecx, dword [0x7cec08]
add esp, 0x10
mov edx, dword [edi + 0x5c]
mov bx, word [edx + esi*2]
mov edi, dword [0x7cebb4]
mov esi, ecx
mov eax, dword [esi + 0x30]
cmp edi, eax
jb 0x502fe2
push eax
lea eax, [esi + 0x10]
push eax
push edi
push str.Trying_to_access_short__d_in_script__s_when_there_are_only__d_local_shorts._r_n
call fcn.00477400
mov ecx, dword [0x7cec08]
add esp, 0x10
mov edx, dword [esi + 0x44]
mov edi, dword [edx + edi*4]
mov edx, dword [ecx]
movsx eax, bx
push eax
push edi
call dword [edx + 0x20]
push eax
mov eax, dword [0x7c67dc]
push str._s___s___d
push eax
call fcn.0040f970
add esp, 0x14
jmp case.0x502b28.74
mov ebx, dword [ebp + 8]
mov ecx, ebx
call fcn.004e6ff0
mov edi, dword [0x7cebb4]
mov esi, eax
mov eax, dword [esi + 0x30]
cmp edi, eax
jb 0x503037
push eax
lea ecx, [esi + 0x10]
push ecx
push edi
push str.Trying_to_access_short__d_in_script__s_when_there_are_only__d_local_shorts._r_n
call fcn.00477400
add esp, 0x10
mov edx, dword [esi + 0x44]
mov edi, dword [edx + edi*4]
mov ecx, ebx
call fcn.004e6ff0
mov ecx, dword [0x7cebf8]
mov edx, dword [ecx]
mov ecx, dword [0x7cebb4]
movsx edx, word [edx + ecx*2]
push edx
mov edx, dword [eax]
push edi
mov ecx, eax
call dword [edx + 0x20]
push eax
mov eax, dword [0x7c67dc]
push str._s___s___d
push eax
call fcn.0040f970
add esp, 0x14
jmp case.0x502b28.74
mov ecx, dword [0x7cec04]
cmp ecx, esi
je 0x5030f6
call fcn.004e6ff0
mov edi, dword [0x7cebb4]
mov esi, eax
mov eax, dword [esi + 0x34]
cmp edi, eax
jb 0x5030a9
push eax
lea ecx, [esi + 0x10]
push ecx
push edi
push str.Trying_to_access_long__d_in_script__s_when_there_are_only__d_local_longs._r_n
call fcn.00477400
add esp, 0x10
mov edx, dword [esi + 0x48]
mov ecx, dword [0x7cec04]
mov edi, dword [edx + edi*4]
call fcn.004e6ff0
mov ecx, dword [0x7cec04]
mov esi, eax
call fcn.004e7020
mov eax, dword [eax + 4]
mov ecx, dword [0x7cebb4]
mov edx, dword [eax + ecx*4]
mov eax, dword [esi]
push edx
push edi
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [0x7c67dc]
push eax
push str._s___s___d
push ecx
call fcn.0040f970
add esp, 0x14
jmp case.0x502b28.74
mov ecx, dword [0x7cec08]
cmp ecx, esi
je 0x503165
mov esi, dword [0x7cebb4]
mov edi, ecx
mov eax, dword [edi + 0x34]
cmp esi, eax
jb 0x503128
push eax
lea edx, [edi + 0x10]
push edx
push esi
push str.Trying_to_access_long__d_in_script__s_when_there_are_only__d_local_longs._r_n
call fcn.00477400
mov ecx, dword [0x7cec08]
add esp, 0x10
mov eax, dword [edi + 0x60]
mov ebx, dword [eax + esi*4]
mov edi, dword [0x7cebb4]
mov esi, ecx
mov eax, dword [esi + 0x34]
cmp edi, eax
jb 0x503156
push eax
lea ecx, [esi + 0x10]
push ecx
push edi
push str.Trying_to_access_long__d_in_script__s_when_there_are_only__d_local_longs._r_n
call fcn.00477400
mov ecx, dword [0x7cec08]
add esp, 0x10
mov edx, dword [esi + 0x48]
mov edi, dword [edx + edi*4]
mov eax, dword [ecx]
push ebx
push edi
jmp 0x5030d9
mov ebx, dword [ebp + 8]
mov ecx, ebx
call fcn.004e6ff0
mov edi, dword [0x7cebb4]
mov esi, eax
mov eax, dword [esi + 0x34]
cmp edi, eax
jb 0x503191
push eax
lea edx, [esi + 0x10]
push edx
push edi
push str.Trying_to_access_long__d_in_script__s_when_there_are_only__d_local_longs._r_n
call fcn.00477400
add esp, 0x10
mov eax, dword [esi + 0x48]
mov edi, dword [eax + edi*4]
mov ecx, ebx
call fcn.004e6ff0
mov ecx, dword [0x7cebf8]
mov edx, dword [ecx + 4]
mov ecx, dword [0x7cebb4]
mov edx, dword [edx + ecx*4]
push edx
mov edx, dword [eax]
push edi
mov ecx, eax
call dword [edx + 0x20]
push eax
mov eax, dword [0x7c67dc]
push str._s___s___d
push eax
call fcn.0040f970
add esp, 0x14
jmp case.0x502b28.74
mov ecx, dword [0x7cec04]
cmp ecx, esi
je 0x503254
call fcn.004e6ff0
mov edi, dword [0x7cebb4]
mov esi, eax
mov eax, dword [esi + 0x38]
cmp edi, eax
jb 0x503203
push eax
lea ecx, [esi + 0x10]
push ecx
push edi
push str.Trying_to_access_float__d_in_script__s_when_there_are_only__d_local_floats._r_n
call fcn.00477400
add esp, 0x10
mov edx, dword [esi + 0x4c]
mov ecx, dword [0x7cec04]
mov edi, dword [edx + edi*4]
call fcn.004e6ff0
mov ecx, dword [0x7cec04]
mov esi, eax
call fcn.004e7020
mov ecx, dword [0x7cebb4]
mov eax, dword [eax + 8]
fld dword [eax + ecx*4]
mov edx, dword [esi]
sub esp, 8
fstp qword [esp]
push edi
mov ecx, esi
call dword [edx + 0x20]
push eax
mov eax, dword [0x7c67dc]
push str._s___s___0.4f
push eax
call fcn.0040f970
add esp, 0x18
jmp case.0x502b28.74
mov ecx, dword [0x7cec08]
cmp ecx, esi
je 0x5032db
mov esi, dword [0x7cebb4]
mov edi, ecx
mov eax, dword [edi + 0x34]
cmp esi, eax
jb 0x503286
push eax
lea ecx, [edi + 0x10]
push ecx
push esi
push str.Trying_to_access_long__d_in_script__s_when_there_are_only__d_local_longs._r_n
call fcn.00477400
mov ecx, dword [0x7cec08]
add esp, 0x10
mov edx, dword [edi + 0x60]
mov ebx, dword [edx + esi*4]
mov edi, dword [0x7cebb4]
mov esi, ecx
mov eax, dword [esi + 0x38]
cmp edi, eax
jb 0x5032b4
push eax
lea eax, [esi + 0x10]
push eax
push edi
push str.Trying_to_access_float__d_in_script__s_when_there_are_only__d_local_floats._r_n
call fcn.00477400
mov ecx, dword [0x7cec08]
add esp, 0x10
mov edx, dword [esi + 0x4c]
mov edi, dword [edx + edi*4]
mov eax, dword [ecx]
push ebx
push edi
call dword [eax + 0x20]
mov ecx, dword [0x7c67dc]
push eax
push str._s___s___0.4f
push ecx
call fcn.0040f970
add esp, 0x14
jmp case.0x502b28.74
mov ebx, dword [ebp + 8]
mov ecx, ebx
call fcn.004e6ff0
mov edi, dword [0x7cebb4]
mov esi, eax
mov eax, dword [esi + 0x38]
cmp edi, eax
jb 0x503307
push eax
lea edx, [esi + 0x10]
push edx
push edi
push str.Trying_to_access_float__d_in_script__s_when_there_are_only__d_local_floats._r_n
call fcn.00477400
add esp, 0x10
mov eax, dword [esi + 0x4c]
mov edi, dword [eax + edi*4]
mov ecx, ebx
call fcn.004e6ff0
mov ecx, dword [0x7cebf8]
mov edx, dword [ecx + 8]
mov ecx, dword [0x7cebb4]
fld dword [edx + ecx*4]
mov edx, dword [eax]
sub esp, 8
fstp qword [esp]
push edi
mov ecx, eax
call dword [edx + 0x20]
push eax
mov eax, dword [0x7c67dc]
push str._s___s___0.4f
push eax
call fcn.0040f970
add esp, 0x18
jmp case.0x502b28.74
mov esi, dword [0x7cebb4]
mov dword [0x7cec00], esi
fld dword [esi + 0x34]
call sub.MSVCRT.dll__ftol
mov edx, dword [esi]
movsx ecx, ax
push ecx
mov ecx, esi
call dword [edx + 0x20]
push eax
mov eax, dword [0x7c67dc]
push str._s___d
push eax
call fcn.0040f970
add esp, 0x10
jmp case.0x502b28.74
mov esi, dword [0x7cebb4]
mov dword [0x7cec00], esi
fld dword [esi + 0x34]
call sub.MSVCRT.dll__ftol
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0x20]
push eax
mov eax, dword [0x7c67dc]
push str._s___d
push eax
call fcn.0040f970
add esp, 0x10
mov ecx, dword [0x7cebb4]
mov dword [0x7cec00], ecx
fld dword [ecx + 0x34]
mov edx, dword [ecx]
sub esp, 8
fstp qword [esp]
call dword [edx + 0x20]
push eax
mov eax, dword [0x7c67dc]
push str._s___0.4f
push eax
call fcn.0040f970
add esp, 0x14
jmp case.0x502b28.74
mov esi, dword [ebp + 8]
test esi, esi
je 0x503557
mov ecx, esi
call fcn.004e6ff0
test eax, eax
je 0x503551
mov ecx, esi
call fcn.004e6ff0
mov esi, eax
mov eax, dword [esi + 0x30]
test eax, eax
jne 0x503440
mov ecx, dword [esi + 0x34]
test ecx, ecx
jne 0x503440
mov ecx, dword [esi + 0x38]
test ecx, ecx
jne 0x503440
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x20]
push eax
mov eax, dword [0x7c67dc]
push str.No_variables_in_script__s
push eax
call fcn.0040f970
add esp, 0xc
jmp case.0x502b28.74
xor ebx, ebx
test eax, eax
jbe 0x503494
cmp ebx, eax
jb 0x50345d
push eax
lea ecx, [esi + 0x10]
push ecx
push ebx
push str.Trying_to_access_short__d_in_script__s_when_there_are_only__d_local_shorts._r_n
call fcn.00477400
add esp, 0x10
mov edx, dword [esi + 0x44]
mov eax, dword [edx + ebx*4]
mov ecx, dword [0x7cebf8]
mov edx, dword [ecx]
movsx ecx, word [edx + ebx*2]
mov edx, dword [esi]
push ecx
push eax
mov ecx, esi
call dword [edx + 0x20]
push eax
mov eax, dword [0x7c67dc]
push str._s___s___d
push eax
call fcn.0040f970
mov eax, dword [esi + 0x30]
add esp, 0x14
inc ebx
cmp ebx, eax
jb 0x50345d
mov eax, dword [esi + 0x34]
xor ebx, ebx
test eax, eax
jbe 0x5034eb
cmp ebx, eax
jb 0x5034b4
push eax
lea ecx, [esi + 0x10]
push ecx
push ebx
push str.Trying_to_access_long__d_in_script__s_when_there_are_only__d_local_longs._r_n
call fcn.00477400
add esp, 0x10
mov edx, dword [esi + 0x48]
mov eax, dword [edx + ebx*4]
mov ecx, dword [0x7cebf8]
mov edx, dword [ecx + 4]
mov ecx, dword [edx + ebx*4]
mov edx, dword [esi]
push ecx
push eax
mov ecx, esi
call dword [edx + 0x20]
push eax
mov eax, dword [0x7c67dc]
push str._s___s___d
push eax
call fcn.0040f970
mov eax, dword [esi + 0x34]
add esp, 0x14
inc ebx
cmp ebx, eax
jb 0x5034b4
mov eax, dword [esi + 0x38]
xor ebx, ebx
test eax, eax
jbe case.0x502b28.74
cmp ebx, eax
jb 0x50350f
push eax
lea ecx, [esi + 0x10]
push ecx
push ebx
push str.Trying_to_access_float__d_in_script__s_when_there_are_only__d_local_floats._r_n
call fcn.00477400
add esp, 0x10
mov edx, dword [esi + 0x4c]
mov eax, dword [edx + ebx*4]
mov ecx, dword [0x7cebf8]
mov edx, dword [ecx + 8]
fld dword [edx + ebx*4]
sub esp, 8
fstp qword [esp]
push eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [0x7c67dc]
push eax
push str._s___s___0.4f
push ecx
call fcn.0040f970
mov eax, dword [esi + 0x38]
add esp, 0x18
inc ebx
cmp ebx, eax
jb 0x50350f
jmp case.0x502b28.74
mov ecx, dword [0x7c67dc]
mov edx, dword [0x7c67e0]
mov eax, dword [edx]
mov ebx, dword [eax + 0x38]
mov eax, dword [ebx + 4]
test eax, eax
je 0x503577
push str.____Global_Variables______________________________
push ecx
call fcn.0040f970
add esp, 8
mov ecx, ebx
call fcn.0047e710
test eax, eax
je 0x503620
mov esi, dword [eax + 8]
mov dword [0x7cec00], esi
mov al, byte [esi + 0x30]
cmp al, 0x66
je 0x5035ed
cmp al, 0x6c
je 0x5035c7
cmp al, 0x73
jne 0x503611
fld dword [esi + 0x34]
call sub.MSVCRT.dll__ftol
mov edx, dword [esi]
movsx eax, ax
push eax
mov ecx, esi
call dword [edx + 0x20]
push eax
mov eax, dword [0x7c67dc]
push str._s___d
push eax
call fcn.0040f970
add esp, 0x10
jmp 0x503611
fld dword [esi + 0x34]
call sub.MSVCRT.dll__ftol
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0x20]
push eax
mov eax, dword [0x7c67dc]
push str._s___d
push eax
call fcn.0040f970
add esp, 0x10
jmp 0x503611
fld dword [esi + 0x34]
mov edx, dword [esi]
sub esp, 8
mov ecx, esi
fstp qword [esp]
call dword [edx + 0x20]
push eax
mov eax, dword [0x7c67dc]
push str._s___0.4f
push eax
call fcn.0040f970
add esp, 0x14
mov ecx, ebx
call fcn.0047e720
test eax, eax
jne 0x503586
mov eax, dword [0x7c67dc]
mov esi, dword [eax + 0x338]
mov ecx, dword [esi + 4]
test ecx, ecx
mov dword [esp + 0x20], esi
je 0x503644
push str.____Global_Scripts________________________________
push eax
call fcn.0040f970
add esp, 8
mov ecx, esi
call fcn.0047e710
test eax, eax
je case.0x502b28.74
mov esi, dword [eax + 8]
mov ebx, dword [esi + 4]
mov eax, dword [ebx + 0x30]
test eax, eax
jne 0x50368e
mov ecx, dword [ebx + 0x34]
test ecx, ecx
jne 0x50368e
mov ecx, dword [ebx + 0x38]
test ecx, ecx
jne 0x50368e
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x20]
push eax
mov eax, dword [0x7c67dc]
push str.No_variables_in_script__s
push eax
call fcn.0040f970
add esp, 0xc
jmp 0x503813
xor edi, edi
test eax, eax
jbe 0x50370c
mov eax, dword [ebx + 0x30]
cmp edi, eax
jb 0x5036ae
push eax
lea ecx, [ebx + 0x10]
push ecx
push edi
push str.Trying_to_access_short__d_in_script__s_when_there_are_only__d_local_shorts._r_n
call fcn.00477400
add esp, 0x10
mov edx, dword [ebx + 0x5c]
mov ax, word [edx + edi*2]
mov ebx, dword [esi + 4]
mov word [esp + 0x10], ax
mov eax, dword [ebx + 0x30]
cmp edi, eax
jb 0x5036d7
push eax
lea ecx, [ebx + 0x10]
push ecx
push edi
push str.Trying_to_access_short__d_in_script__s_when_there_are_only__d_local_shorts._r_n
call fcn.00477400
add esp, 0x10
mov edx, dword [ebx + 0x44]
mov eax, dword [edx + edi*4]
movsx edx, word [esp + 0x10]
mov ecx, dword [esi + 4]
push edx
push eax
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ecx, dword [0x7c67dc]
push eax
push str._s___s___d
push ecx
call fcn.0040f970
mov ebx, dword [esi + 4]
mov eax, dword [ebx + 0x30]
add esp, 0x14
inc edi
cmp edi, eax
jb 0x503694
mov ebx, dword [esi + 4]
mov eax, dword [ebx + 0x34]
xor edi, edi
test eax, eax
jbe 0x50378d
mov eax, dword [ebx + 0x34]
cmp edi, eax
jb 0x503732
push eax
lea edx, [ebx + 0x10]
push edx
push edi
push str.Trying_to_access_long__d_in_script__s_when_there_are_only__d_local_longs._r_n
call fcn.00477400
add esp, 0x10
mov eax, dword [ebx + 0x60]
mov ecx, dword [eax + edi*4]
mov ebx, dword [esi + 4]
mov eax, dword [ebx + 0x34]
cmp edi, eax
mov dword [esp + 0x10], ecx
jb 0x503759
push eax
lea edx, [ebx + 0x10]
push edx
push edi
push str.Trying_to_access_long__d_in_script__s_when_there_are_only__d_local_longs._r_n
call fcn.00477400
add esp, 0x10
mov eax, dword [ebx + 0x48]
mov edx, dword [esp + 0x10]
mov eax, dword [eax + edi*4]
mov ecx, dword [esi + 4]
push edx
push eax
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ecx, dword [0x7c67dc]
push eax
push str._s___s___d
push ecx
call fcn.0040f970
mov ebx, dword [esi + 4]
mov eax, dword [ebx + 0x34]
add esp, 0x14
inc edi
cmp edi, eax
jb 0x503718
mov ebx, dword [esi + 4]
mov eax, dword [ebx + 0x38]
xor edi, edi
test eax, eax
jbe 0x503813
mov eax, dword [ebx + 0x38]
cmp edi, eax
jb 0x5037b3
push eax
lea edx, [ebx + 0x10]
push edx
push edi
push str.Trying_to_access_float__d_in_script__s_when_there_are_only__d_local_floats._r_n
call fcn.00477400
add esp, 0x10
mov eax, dword [ebx + 0x64]
fld dword [eax + edi*4]
mov ebx, dword [esi + 4]
mov eax, dword [ebx + 0x38]
fstp dword [esp + 0x10]
cmp edi, eax
jb 0x5037da
push eax
lea ecx, [ebx + 0x10]
push ecx
push edi
push str.Trying_to_access_float__d_in_script__s_when_there_are_only__d_local_floats._r_n
call fcn.00477400
add esp, 0x10
mov edx, dword [ebx + 0x4c]
fld dword [esp + 0x10]
mov eax, dword [edx + edi*4]
mov ecx, dword [esi + 4]
sub esp, 8
fstp qword [esp]
push eax
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ecx, dword [0x7c67dc]
push eax
push str._s___s___0.4f
push ecx
call fcn.0040f970
mov ebx, dword [esi + 4]
mov eax, dword [ebx + 0x38]
add esp, 0x18
inc edi
cmp edi, eax
jb 0x503799
mov ecx, dword [esp + 0x20]
call fcn.0047e720
test eax, eax
jne 0x503653
jmp case.0x502b28.74
mov ecx, dword [0x7cebec]
cmp ecx, esi
je case.0x502b28.74
call fcn.004e4ce0
test eax, eax
je case.0x502b28.74
mov ecx, dword [0x7cebec]
call fcn.004e4ce0
mov ecx, dword [0x7cebec]
mov esi, eax
call fcn.004e5750
mov ebx, eax
test ebx, ebx
je 0x5038c5
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x24]
test al, al
je 0x5038c5
mov eax, dword [0x7c67dc]
push str.____Actor_Variables______________________________
push eax
call fcn.0040f970
mov ecx, dword [ebx + 0x10]
mov edx, dword [0x7c67dc]
shr ecx, 0x11
add esp, 8
and ecx, 1
push ecx
push str.Attacked___d
push edx
call fcn.0040f970
mov eax, dword [ebx + 0x10]
mov edx, dword [0x7c67dc]
mov ecx, eax
add esp, 0xc
shr ecx, 0xe
and ecx, 1
push ecx
shr eax, 0xd
and eax, 1
push eax
push str.Weapon_Drawn__d__Spell_Ready__d
push edx
call fcn.0040f970
add esp, 0x10
mov eax, dword [0x7c67dc]
push str.____Animation________________________________
push eax
call fcn.0040f970
add esp, 8
push 0
push 0
lea ecx, [esp + 0x2c]
push ecx
mov ecx, esi
call fcn.00470400
test ebx, ebx
je 0x5039b5
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x24]
test al, al
je 0x5039b5
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x5039b5
mov eax, dword [ecx]
call dword [eax + 0x2c]
mov eax, dword [eax + 0x74]
test eax, eax
je 0x50391e
add eax, 0xc
jmp 0x503923
mov eax, 0x7de6cc
fld dword [eax + 8]
mov ecx, dword [esi + 0x4dc]
fld dword [eax + 4]
mov edx, dword [esi + 0x4d8]
fld dword [eax]
mov eax, dword [0x7c67dc]
fld st(0)
sub esp, 8
fmul st(1)
sub esp, 8
fld st(2)
mov dword [esp + 0x68], ecx
fmul st(3)
sub esp, 8
mov dword [esp + 0x54], edx
sub esp, 8
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fstp st(3)
fstp st(0)
fstp st(0)
fld dword [esp + 0x48]
fmul dword [esp + 0x48]
fld dword [esp + 0x4c]
fmul dword [esp + 0x4c]
faddp st(1)
fld dword [esp + 0x44]
fmul dword [esp + 0x44]
faddp st(1)
fsqrt
fstp dword [esp + 0x40]
fsqrt
fstp qword [esp + 0x18]
fld dword [esp + 0x40]
fstp qword [esp + 0x10]
fld dword [esp + 0x78]
fstp qword [esp + 8]
fld dword [esp + 0x5c]
fstp qword [esp]
push str.Move__.2f_Attack__.2f_Delta__.2f_Velocity__.2f
push eax
call fcn.0040f970
add esp, 0x28
jmp 0x503a16
fld dword [esp + 0x28]
mov ecx, dword [esi + 0x4dc]
fmul dword [esp + 0x28]
mov edx, dword [esi + 0x4d8]
fld dword [esp + 0x2c]
mov eax, dword [0x7c67dc]
fmul dword [esp + 0x2c]
sub esp, 8
mov dword [esp + 0x68], ecx
sub esp, 8
faddp st(1)
mov dword [esp + 0x5c], edx
fld dword [esp + 0x34]
sub esp, 8
fmul dword [esp + 0x3c]
faddp st(1)
fsqrt
fstp qword [esp + 0x10]
fld dword [esp + 0x78]
fstp qword [esp + 8]
fld dword [esp + 0x64]
fstp qword [esp]
push str.Move__.2f_Attack__.2f_Delta__.2f
push eax
call fcn.0040f970
add esp, 0x20
mov al, byte [esi + 0x38]
cmp al, 0xff
je 0x503a4f
fld dword [esi + 0x58]
mov byte [esp + 0x5c], al
mov ecx, dword [esp + 0x5c]
mov eax, dword [0x7c67dc]
sub esp, 8
and ecx, 0xff
fstp qword [esp]
mov edx, dword [ecx*4 + 0x78a970]
push edx
push str.Lower_Body:__s___.1f_
push eax
call fcn.0040f970
add esp, 0x14
mov al, byte [esi + 0x39]
cmp al, 0xff
je 0x503a88
fld dword [esi + 0x5c]
mov byte [esp + 0x54], al
mov ecx, dword [esp + 0x54]
mov eax, dword [0x7c67dc]
sub esp, 8
and ecx, 0xff
fstp qword [esp]
mov edx, dword [ecx*4 + 0x78a970]
push edx
push str.Upper_Body:__s___.1f_
push eax
call fcn.0040f970
add esp, 0x14
mov al, byte [esi + 0x3a]
cmp al, 0xff
je case.0x502b28.74
fld dword [esi + 0x60]
mov byte [esp + 0x40], al
mov ecx, dword [esp + 0x40]
mov eax, dword [0x7c67dc]
sub esp, 8
and ecx, 0xff
fstp qword [esp]
mov edx, dword [ecx*4 + 0x78a970]
push edx
push str.Left_Arm:____s___.1f_
push eax
call fcn.0040f970
add esp, 0x14
jmp case.0x502b28.74
mov ecx, dword [ecx + 0x2e4]
xor dword [ecx + 0x24], 1
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x2e4]
mov edi, dword [eax + 0x24]
mov esi, 0x40000
xor edi, esi
mov dword [eax + 0x24], edi
mov edx, dword [0x7c67dc]
mov eax, dword [edx + 0x2e4]
mov edx, dword [eax + 0x24]
mov edi, 0x80000
xor edx, edi
mov dword [eax + 0x24], edx
mov eax, dword [0x7c67dc]
mov eax, dword [eax + 0x2e4]
mov ecx, dword [eax + 0x24]
mov ebx, 0x100000
xor ecx, ebx
mov dword [eax + 0x24], ecx
mov al, byte [0x7cebdc]
test al, al
je case.0x502b28.74
mov ecx, dword [0x7c67dc]
mov edx, dword [ecx + 0x2e4]
test byte [edx + 0x24], 1
mov eax, 0x7a5b20
jne 0x503b47
mov eax, 0x7a5b14
push eax
push str.Combat_Stats_____s
push ecx
call fcn.0040f970
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x2e4]
mov edx, dword [eax + 0x24]
add esp, 0xc
test esi, edx
mov eax, 0x7a5b20
jne 0x503b73
mov eax, 0x7a5b14
push eax
push str.Magic_Stats_____s
push ecx
call fcn.0040f970
mov ecx, dword [0x7c67dc]
mov edx, dword [ecx + 0x2e4]
mov eax, dword [edx + 0x24]
add esp, 0xc
test edi, eax
mov eax, 0x7a5b20
jne 0x503b9f
mov eax, 0x7a5b14
push eax
push str.Dialogue_Stats_____s
push ecx
call fcn.0040f970
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x2e4]
mov edx, dword [eax + 0x24]
add esp, 0xc
test ebx, edx
mov eax, 0x7a5b20
jne 0x503bcb
mov eax, 0x7a5b14
push eax
push str.Kill_Stats_____s
push ecx
call fcn.0040f970
add esp, 0xc
jmp case.0x502b28.74
mov ecx, dword [ecx + 0x2e4]
xor dword [ecx + 0x24], 1
mov al, byte [0x7cebdc]
test al, al
je case.0x502b28.74
mov ecx, dword [0x7c67dc]
mov edx, dword [ecx + 0x2e4]
test byte [edx + 0x24], 1
mov eax, 0x7a5b20
jne 0x503c12
mov eax, 0x7a5b14
push eax
push str.Combat_Stats_____s
push ecx
call fcn.0040f970
add esp, 0xc
jmp case.0x502b28.74
mov ecx, dword [ecx + 0x2e4]
mov edx, dword [ecx + 0x24]
mov eax, 0x40000
xor edx, eax
mov dword [ecx + 0x24], edx
mov cl, byte [0x7cebdc]
test cl, cl
je case.0x502b28.74
mov ecx, dword [0x7c67dc]
mov edx, dword [ecx + 0x2e4]
test dword [edx + 0x24], eax
mov eax, 0x7a5b20
jne 0x503c62
mov eax, 0x7a5b14
push eax
push str.Magic_Stats_____s
push ecx
call fcn.0040f970
add esp, 0xc
jmp case.0x502b28.74
mov ecx, dword [ecx + 0x2e4]
mov edx, dword [ecx + 0x24]
mov eax, 0x80000
xor edx, eax
mov dword [ecx + 0x24], edx
mov cl, byte [0x7cebdc]
test cl, cl
je case.0x502b28.74
mov ecx, dword [0x7c67dc]
mov edx, dword [ecx + 0x2e4]
test dword [edx + 0x24], eax
mov eax, 0x7a5b20
jne 0x503cb2
mov eax, 0x7a5b14
push eax
push str.Dialogue_Stats_____s
push ecx
call fcn.0040f970
add esp, 0xc
jmp case.0x502b28.74
mov ecx, dword [ecx + 0x2e4]
mov edx, dword [ecx + 0x24]
mov eax, 0x100000
xor edx, eax
mov dword [ecx + 0x24], edx
mov cl, byte [0x7cebdc]
test cl, cl
je case.0x502b28.74
mov ecx, dword [0x7c67dc]
mov edx, dword [ecx + 0x2e4]
test dword [edx + 0x24], eax
mov eax, 0x7a5b20
jne 0x503d02
mov eax, 0x7a5b14
push eax
push str.Kill_Stats_____s
push ecx
call fcn.0040f970
add esp, 0xc
jmp case.0x502b28.74
mov ecx, dword [ecx + 0x2e4]
mov edx, dword [ecx + 0x24]
mov eax, 0x400000
xor edx, eax
mov dword [ecx + 0x24], edx
mov cl, byte [0x7cebdc]
test cl, cl
je case.0x502b28.74
mov ecx, dword [0x7c67dc]
mov edx, dword [ecx + 0x2e4]
test dword [edx + 0x24], eax
mov eax, 0x7a5b14
jne 0x503d52
mov eax, 0x7a5b20
push eax
push str.Scripts_____s
push ecx
call fcn.0040f970
add esp, 0xc
jmp case.0x502b28.74
mov ecx, dword [ecx + 0x2e4]
xor dword [ecx + 0x24], 4
mov al, byte [0x7cebdc]
test al, al
je case.0x502b28.74
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x2e4]
test byte [eax + 0x24], 4
mov eax, 0x7a5b20
jne 0x503d99
mov eax, 0x7a5b14
push eax
push str.God_Mode_____s
push ecx
call fcn.0040f970
add esp, 0xc
jmp case.0x502b28.74
mov ecx, dword [ecx + 0x2e4]
xor dword [ecx + 0x24], 8
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x2e4]
mov edx, dword [ecx + 0x24]
shr edx, 3
and dl, 1
mov byte [eax + 0xda], dl
mov al, byte [0x7cebdc]
test al, al
je case.0x502b28.74
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x2e4]
test byte [eax + 0x24], 8
mov eax, 0x7a5b14
jne 0x503dfa
mov eax, 0x7a5b20
push eax
push str.AI_____s
push ecx
call fcn.0040f970
add esp, 0xc
jmp case.0x502b28.74
mov ecx, dword [ecx + 0x5c]
mov ecx, dword [ecx + 0x24]
call fcn.00571110
mov al, byte [0x7cebdc]
test al, al
je case.0x502b28.74
mov edx, dword [0x7c67dc]
push str.Actors_Reset
push edx
call fcn.0040f970
add esp, 8
jmp case.0x502b28.74
mov ecx, dword [ecx + 0x2e4]
xor dword [ecx + 0x24], 0x10
mov ecx, dword [0x7c67e0]
cmp dword [ecx + 0xac], esi
jne 0x503e72
mov eax, dword [0x7c67dc]
mov edx, dword [eax + 0x2e4]
test byte [edx + 0x24], 0x10
je 0x503e6c
push 1
jmp 0x503e6d
push esi
call fcn.0048e0e0
mov al, byte [0x7cebdc]
test al, al
je case.0x502b28.74
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x2e4]
test byte [eax + 0x24], 0x10
mov eax, 0x7a5b20
jne 0x503e9b
mov eax, 0x7a5b14
push eax
push str.Borders_____s
push ecx
call fcn.0040f970
add esp, 0xc
jmp case.0x502b28.74
mov ecx, dword [ecx + 0x2e4]
xor dword [ecx + 0x24], 0x20
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x2e4]
test byte [ecx + 0x24], 0x20
mov ecx, dword [eax + 0x58]
je 0x503ed4
call fcn.00440870
jmp 0x503ed9
call fcn.00440820
mov al, byte [0x7cebdc]
test al, al
je case.0x502b28.74
mov ecx, dword [0x7c67dc]
mov edx, dword [ecx + 0x2e4]
test byte [edx + 0x24], 0x20
mov eax, 0x7a5b14
jne 0x503f02
mov eax, 0x7a5b20
push eax
push str.Sky_____s
push ecx
call fcn.0040f970
add esp, 0xc
jmp case.0x502b28.74
mov ecx, dword [ecx + 0x2e4]
mov edx, dword [ecx + 0x24]
mov esi, 0x20000
xor edx, esi
mov dword [ecx + 0x24], edx
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x2e4]
test dword [ecx + 0x24], esi
je 0x503f54
mov edx, dword [0x7c67e0]
mov eax, dword [edx + 0xb4ec]
mov ecx, dword [eax + 0xb4]
mov eax, dword [ecx]
push 1
call dword [eax + 0x50]
jmp 0x503f6d
mov ecx, dword [0x7c67e0]
mov eax, dword [ecx + 0xb4ec]
mov ecx, dword [eax + 0xb4]
mov edx, dword [ecx]
push 0
call dword [edx + 0x50]
mov al, byte [0x7cebdc]
test al, al
je case.0x502b28.74
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x2e4]
test dword [eax + 0x24], esi
mov eax, 0x7a5b14
jne 0x503f95
mov eax, 0x7a5b20
push eax
push str.Water_____s
push ecx
call fcn.0040f970
add esp, 0xc
jmp case.0x502b28.74
mov ecx, dword [ecx + 0x2e4]
xor dword [ecx + 0x24], 0x40
mov ecx, dword [0x7c67dc]
mov edx, dword [ecx + 0x2e4]
test byte [edx + 0x24], 0x40
mov eax, dword [0x7c67e0]
mov ecx, dword [eax + 0x8c]
mov edx, dword [ecx]
je 0x503ffa
push 1
call dword [edx + 0x50]
mov eax, dword [0x7c67e0]
mov ecx, dword [eax + 0x90]
mov edx, dword [ecx]
push 1
call dword [edx + 0x50]
mov eax, dword [0x7c67e0]
mov ecx, dword [eax + 0x94]
mov edx, dword [ecx]
push 1
jmp 0x50401d
push esi
call dword [edx + 0x50]
mov eax, dword [0x7c67e0]
mov ecx, dword [eax + 0x90]
mov edx, dword [ecx]
push esi
call dword [edx + 0x50]
mov eax, dword [0x7c67e0]
mov ecx, dword [eax + 0x94]
mov edx, dword [ecx]
push esi
call dword [edx + 0x50]
mov al, byte [0x7cebdc]
test al, al
je case.0x502b28.74
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x2e4]
test byte [eax + 0x24], 0x40
mov eax, 0x7a5b14
jne 0x504049
mov eax, 0x7a5b20
push eax
push str.World_____s
push ecx
call fcn.0040f970
add esp, 0xc
jmp case.0x502b28.74
mov ecx, dword [ecx + 0x2e4]
xor dword [ecx + 0x24], 0x80
mov ecx, dword [0x7c67dc]
mov edx, dword [ecx + 0x2e4]
test byte [edx + 0x24], 0x80
je 0x50408d
mov eax, dword [0x7c6cdc]
mov eax, dword [eax + 0xb0]
or byte [eax + 0x14], 1
jmp 0x50409f
mov ecx, dword [0x7c6cdc]
mov eax, dword [ecx + 0xb0]
and word [eax + 0x14], 0xfffe
mov al, byte [0x7cebdc]
test al, al
je case.0x502b28.74
mov ecx, dword [0x7c67dc]
mov edx, dword [ecx + 0x2e4]
test byte [edx + 0x24], 0x80
mov eax, 0x7a5b20
jne 0x5040c8
mov eax, 0x7a5b14
push eax
push str.Wireframe_____s
push ecx
call fcn.0040f970
add esp, 0xc
jmp case.0x502b28.74
mov ecx, dword [ecx + 0x2e4]
mov edi, dword [ecx + 0x24]
mov edx, 0x100
xor edi, edx
mov dword [ecx + 0x24], edi
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x2e4]
test dword [ecx + 0x24], edx
je 0x504116
mov byte [eax + 0xd8], 0
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x5c]
call fcn.00563990
jmp 0x50412a
mov byte [eax + 0xd8], 1
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x5c]
call fcn.00563cf0
mov al, byte [0x7cebdc]
test al, al
je case.0x502b28.74
mov ecx, dword [0x7c67dc]
mov edx, dword [ecx + 0x2e4]
mov eax, dword [edx + 0x24]
test ah, 1
mov eax, 0x7a5b14
jne 0x504155
mov eax, 0x7a5b20
push eax
push str.Collision_____s
push ecx
call fcn.0040f970
add esp, 0xc
jmp case.0x502b28.74
mov ecx, dword [ecx + 0x2e4]
mov edx, dword [ecx + 0x24]
mov esi, 0x200
xor edx, esi
mov dword [ecx + 0x24], edx
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x2e4]
test dword [ecx + 0x24], esi
push 1
je 0x5041aa
mov ecx, dword [0x7c67e0]
push 1
call fcn.0048dcc0
mov edx, dword [0x7c67dc]
mov byte [edx + 0xd9], 1
jmp 0x5041c4
mov ecx, dword [0x7c67e0]
push 0
call fcn.0048dcc0
mov edx, dword [0x7c67dc]
mov byte [edx + 0xd9], 0
mov eax, dword [0x7c67dc]
xor ecx, ecx
mov cl, byte [eax + 0xd9]
push ecx
call fcn.0041c780
mov al, byte [0x7cebdc]
add esp, 4
test al, al
je case.0x502b28.74
mov ecx, dword [0x7c67dc]
mov edx, dword [ecx + 0x2e4]
test dword [edx + 0x24], esi
mov eax, 0x7a5b20
jne 0x504202
mov eax, 0x7a5b14
push eax
push str.Collision_Boxes_____s
push ecx
call fcn.0040f970
add esp, 0xc
jmp case.0x502b28.74
mov ecx, dword [ecx + 0x2e4]
mov edx, dword [ecx + 0x24]
mov esi, 0x400
xor edx, esi
mov dword [ecx + 0x24], edx
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x2e4]
test dword [ecx + 0x24], esi
je 0x50424e
mov edx, dword [0x7c6cdc]
mov ecx, dword [edx + 0xbc]
mov eax, dword [ecx]
push 0
call dword [eax + 0x50]
jmp 0x504261
mov ecx, dword [0x7c6cdc]
mov ecx, dword [ecx + 0xbc]
mov edx, dword [ecx]
push 1
call dword [edx + 0x50]
mov al, byte [0x7cebdc]
test al, al
je case.0x502b28.74
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x2e4]
test dword [eax + 0x24], esi
mov eax, 0x7a5b20
jne 0x504289
mov eax, 0x7a5b14
push eax
push str.Collision_Grid_____s
push ecx
call fcn.0040f970
add esp, 0xc
jmp case.0x502b28.74
mov ecx, dword [ecx + 0x2e4]
mov edx, dword [ecx + 0x24]
mov esi, 0x800
xor edx, esi
mov dword [ecx + 0x24], edx
mov ecx, dword [0x7c67dc]
mov edx, dword [ecx + 0x2e4]
test dword [edx + 0x24], esi
mov eax, dword [0x7c6cdc]
mov ecx, dword [eax + 0xac]
mov edx, dword [ecx]
je 0x5042d2
push 0
jmp 0x5042d4
push 1
call dword [edx + 0x50]
mov al, byte [0x7cebdc]
test al, al
je case.0x502b28.74
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x2e4]
test dword [eax + 0x24], esi
mov eax, 0x7a5b20
jne 0x5042ff
mov eax, 0x7a5b14
push eax
push str.Debug_Text_____s
push ecx
call fcn.0040f970
add esp, 0xc
jmp case.0x502b28.74
mov ecx, dword [ecx + 0x2e4]
mov edx, dword [ecx + 0x24]
mov eax, 0x1000
xor edx, eax
mov dword [ecx + 0x24], edx
mov ecx, dword [0x7c67dc]
mov edx, dword [ecx + 0x2e4]
test dword [edx + 0x24], eax
mov eax, dword [0x7c6cdc]
mov ecx, dword [eax + 0xc8]
mov edx, dword [ecx]
je 0x504347
push esi
jmp 0x504349
push 1
call dword [edx + 0x50]
mov al, byte [0x7cebdc]
test al, al
je case.0x502b28.74
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x2e4]
mov edx, dword [eax + 0x24]
test dh, 0x10
mov eax, 0x7a5b20
jne 0x504377
mov eax, 0x7a5b14
push eax
push str.Texture_String_____s
push ecx
call fcn.0040f970
add esp, 0xc
jmp case.0x502b28.74
mov ecx, dword [ecx + 0x2e4]
mov edx, dword [ecx + 0x24]
mov esi, 0x2000
xor edx, esi
mov dword [ecx + 0x24], edx
mov ecx, dword [0x7c67dc]
mov edx, dword [ecx + 0x2e4]
test dword [edx + 0x24], esi
je 0x5043cf
mov eax, dword [0x7c6cdc]
mov ecx, dword [eax + 0xb8]
mov edx, dword [ecx]
push 0
call dword [edx + 0x50]
mov eax, dword [0x7c67e0]
mov byte [eax + 0xb50c], 1
jmp 0x5043e2
mov ecx, dword [0x7c6cdc]
mov ecx, dword [ecx + 0xb8]
mov edx, dword [ecx]
push 1
call dword [edx + 0x50]
mov al, byte [0x7cebdc]
test al, al
je case.0x502b28.74
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x2e4]
test dword [eax + 0x24], esi
mov eax, 0x7a5b20
jne 0x50440a
mov eax, 0x7a5b14
push eax
push str.Grid_____s
push ecx
call fcn.0040f970
add esp, 0xc
jmp case.0x502b28.74
mov ecx, dword [ecx + 0x2e4]
mov edi, dword [ecx + 0x24]
mov esi, 0x4000
xor edi, esi
mov dword [ecx + 0x24], edi
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x2e4]
test dword [ecx + 0x24], esi
je 0x504450
call fcn.005966f0
call fcn.005be5b0
mov eax, dword [0x7c67dc]
mov cl, byte [0x7cebdc]
test cl, cl
je case.0x502b28.74
mov ecx, dword [eax + 0x2e4]
test dword [ecx + 0x24], esi
mov ecx, 0x7a5b14
jne 0x504473
mov ecx, 0x7a5b20
push ecx
push str.Menus_____s
push eax
call fcn.0040f970
add esp, 0xc
jmp case.0x502b28.74
mov ecx, dword [0x7c67e0]
mov al, byte [ecx + 0xb4dd]
test al, al
je case.0x502b28.74
push esi
push 0xffffffffffffffff
call fcn.0048cfb0
mov eax, dword [0x7c67dc]
cmp dword [eax + 0x84], esi
je case.0x502b28.74
mov ecx, dword [eax + 0x2dc]
push 1
call fcn.004360f0
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x2dc]
call fcn.004350a0
jmp case.0x502b28.74
mov eax, dword [0x7c67e0]
mov dl, byte [eax + 0xb4dd]
test dl, dl
jne case.0x502b28.74
mov ecx, dword [ecx + 0x2dc]
push esi
call fcn.004360f0
mov ecx, dword [0x7c67e0]
push esi
push 1
call fcn.0048cfb0
jmp case.0x502b28.74
mov edx, dword [0x7c67e0]
mov al, byte [edx + 0xb4dd]
test al, al
jne case.0x502b28.74
mov ecx, dword [ecx + 0x2dc]
push esi
call fcn.004360f0
mov ecx, dword [0x7c67e0]
push esi
push 2
call fcn.0048cfb0
jmp case.0x502b28.74
mov eax, dword [0x7c67e0]
mov dl, byte [eax + 0xb4dd]
test dl, dl
jne case.0x502b28.74
mov ecx, dword [ecx + 0x2dc]
push esi
call fcn.004360f0
mov ecx, dword [0x7c67e0]
push esi
push 3
call fcn.0048cfb0
jmp case.0x502b28.74
mov ecx, dword [0x7c67e0]
mov ecx, dword [ecx]
call fcn.004c3d00
jmp case.0x502b28.74
mov edx, dword [0x7c6cdc]
mov esi, dword [edx + 0x94]
test esi, esi
je 0x5045a0
mov ecx, esi
call fcn.0047f830
push esi
call fcn.00727530
add esp, 4
push 0x20
mov dword [0x7c9794], 0x41d8a0
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
mov byte [esp + 0x6c8], 1
je 0x504601
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x12c]
push 0x258
push 0x320
push DirectSoundCreate
push DirectSoundCreate
push str.Morrowind_World_Scene_Graph
push ecx
mov ecx, dword [edx + 0xc8]
mov edx, dword [edx + 0xd0]
push ecx
push edx
mov ecx, eax
call fcn.0047f750
jmp 0x504603
xor eax, eax
mov ecx, dword [0x7c6cdc]
mov dword [ecx + 0x94], eax
mov edx, dword [0x7c67dc]
mov eax, dword [edx + 0x158]
push str.Morrowind_Arm_Scene_Graph
push eax
mov eax, dword [0x7c6cdc]
mov ecx, dword [eax + 0x94]
mov byte [esp + 0x6d0], 0
call fcn.0047f9a0
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x184]
mov edx, dword [0x7c6cdc]
mov ecx, dword [edx + 0x94]
push str.Morrowind_Menu_Scene_Graph
push eax
call fcn.0047f9a0
mov eax, dword [0x7c67dc]
mov eax, dword [eax + 0x1b0]
mov ecx, dword [0x7c6cdc]
mov ecx, dword [ecx + 0x94]
push str.Morrowind_Inventory_Scene_Graph
push eax
call fcn.0047f9a0
mov edx, dword [0x7c67dc]
mov eax, dword [edx + 0x234]
push str.Morrowind_Map_Scene_Graph
push eax
mov eax, dword [0x7c6cdc]
mov ecx, dword [eax + 0x94]
call fcn.0047f9a0
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x2b8]
mov edx, dword [0x7c6cdc]
mov ecx, dword [edx + 0x94]
push str.Morrowind_Shadow_Scene_Graph
push eax
call fcn.0047f9a0
jmp case.0x502b28.74
cmp dword [0x7cec0c], 1
jne 0x504716
mov ecx, dword [ecx + 0x2e4]
xor dword [ecx + 0x24], edi
mov al, byte [0x7cebdc]
test al, al
je case.0x502b28.74
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x2e4]
test dword [eax + 0x24], edi
mov eax, 0x7a5b20
jne 0x504702
mov eax, 0x7a5b14
push eax
push str.Script_Output_____s
push ecx
call fcn.0040f970
add esp, 0xc
jmp case.0x502b28.74
mov ecx, dword [0x7cebf8]
mov al, byte [ecx + 0xc]
test al, 2
je 0x50472c
mov byte [ecx + 0xc], 0
jmp case.0x502b28.74
or al, 2
mov byte [ecx + 0xc], al
jmp case.0x502b28.74
mov ecx, dword [ecx + 0x2e4]
push 0x7ce6f8
call fcn.0064dbb0
jmp case.0x502b28.74
mov ecx, dword [ecx + 0x2e4]
mov edx, dword [ecx + 0x24]
mov eax, 0x10000
xor edx, eax
mov dword [ecx + 0x24], edx
mov cl, byte [0x7cebdc]
test cl, cl
je case.0x502b28.74
mov ecx, dword [0x7c67dc]
mov edx, dword [ecx + 0x2e4]
test dword [edx + 0x24], eax
mov eax, 0x7a5b20
jne 0x504787
mov eax, 0x7a5b14
push eax
push str.Move_one_to_one_____s
push ecx
call fcn.0040f970
add esp, 0xc
jmp case.0x502b28.74
call fcn.0040ff20
mov cl, byte [eax + 0x5b4]
test cl, cl
jne 0x50481e
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.00567990
cmp eax, 2
jne 0x5047c4
push esi
jmp 0x5047c6
push 2
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.00567960
mov al, byte [0x7cebdc]
test al, al
je case.0x502b28.74
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.00567990
test eax, eax
mov eax, 0x7a5b20
jne 0x504805
mov eax, 0x7a5b14
push eax
mov eax, dword [0x7c67dc]
push str.Vanity_Mode_____s
push eax
call fcn.0040f970
add esp, 0xc
jmp case.0x502b28.74
mov al, byte [0x7cebdc]
test al, al
je case.0x502b28.74
mov ecx, dword [0x7c67dc]
push 0x7afeb4
push ecx
call fcn.0040f970
add esp, 8
jmp case.0x502b28.74
cmp dword [0x7cebec], esi
je case.0x502b28.74
mov ecx, ebx
call fcn.0050e880
jmp case.0x502b28.74
mov edx, dword [0x7c67e0]
mov ecx, dword [edx]
push 0x7ce6f8
call fcn.004baf80
cmp eax, esi
je case.0x502b28.74
mov ecx, dword [0x7c67e0]
push eax
push 4
call fcn.0048cfb0
jmp case.0x502b28.74
mov ecx, dword [ecx + 0x30]
mov eax, dword [ecx]
push esi
call dword [eax + 0x80]
push esi
call fcn.005cd2a0
mov ecx, dword [0x7c67e0]
add esp, 4
call fcn.00485490
jmp case.0x502b28.74
call fcn.0040ff20
mov ecx, dword [eax + 0x560]
mov eax, dword [ecx + 0x6c]
push 5
push 0x43000000
push eax
lea edx, [esp + 0x70]
push edx
call fcn.0045d460
mov ecx, dword [eax]
mov dword [0x7cea48], ecx
mov edx, dword [eax + 4]
mov ecx, dword [0x7c67dc]
mov dword [0x7cea4c], edx
mov eax, dword [eax + 8]
add esp, 0x10
mov dword [0x7cea50], eax
call fcn.0040ff20
mov ecx, eax
call fcn.0055fe60
fld dword [0x7cea48]
mov ecx, eax
fcomp dword [ecx]
fnstsw ax
test ah, 0x40
je 0x504931
fld dword [0x7cea4c]
fcomp dword [ecx + 4]
fnstsw ax
test ah, 0x40
je 0x504931
fld dword [0x7cea50]
fcomp dword [ecx + 8]
fnstsw ax
test ah, 0x40
jne case.0x502b28.74
mov ecx, dword [0x7c67e0]
push 1
call fcn.0048e350
mov ecx, dword [0x7c67dc]
push eax
call fcn.0040ff20
mov ecx, eax
call fcn.00467350
mov ecx, eax
call fcn.0045e5c0
sub esp, 0xc
add eax, 4
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.0040a7e0
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x7cea48
call fcn.0040a7e0
call fcn.0045cef0
add esp, 0x20
jmp case.0x502b28.74
mov eax, dword [0x7c67e0]
mov cl, byte [eax + 0xb53c]
test cl, cl
sete cl
mov byte [eax + 0xb53c], cl
jmp case.0x502b28.74
mov ecx, dword [0x7cebec]
cmp ecx, esi
je case.0x502b28.74
call fcn.004e5750
mov esi, eax
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x24]
test al, al
je case.0x502b28.74
mov ecx, esi
call fcn.00521b50
mov esi, eax
mov ebx, dword [esi + 0x10]
mov ecx, esi
call fcn.0047e710
test eax, eax
je 0x504a12
mov eax, dword [eax + 8]
test eax, eax
je 0x504a07
mov eax, dword [eax + 0x14]
mov ecx, dword [eax + 0x28]
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ecx, dword [0x7c67dc]
push eax
push 0x775998
push ecx
call fcn.0040f970
add esp, 0xc
mov ecx, esi
call fcn.0047e720
test eax, eax
jne 0x5049e0
mov dword [esi + 0x10], ebx
jmp case.0x502b28.74
mov ecx, dword [0x7cebec]
cmp ecx, esi
je case.0x502b28.74
call fcn.004e5750
mov esi, eax
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x24]
test al, al
je case.0x502b28.74
mov edi, dword [esi + 0x90]
add esi, 0x80
mov ecx, esi
call fcn.0047e710
test eax, eax
je 0x504a87
mov eax, dword [eax + 8]
test eax, eax
je 0x504a7c
mov eax, dword [eax + 0x14]
mov ecx, dword [eax + 0x28]
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ecx, dword [0x7c67dc]
push eax
push 0x775998
push ecx
call fcn.0040f970
add esp, 0xc
mov ecx, esi
call fcn.0047e720
test eax, eax
jne 0x504a55
mov dword [esi + 0x10], edi
jmp case.0x502b28.74
push str.BC_t_t__beta_comment
push ecx
call fcn.0040f970
mov edx, dword [0x7c67dc]
add esp, 8
push str.PT_t_t__purge_textures
push edx
call fcn.0040f970
mov eax, dword [0x7c67dc]
add esp, 8
push str.RA_t_t__reset_actors
push eax
call fcn.0040f970
mov ecx, dword [0x7c67dc]
add esp, 8
push str.SA_t_t__show_animation
push ecx
call fcn.0040f970
mov edx, dword [0x7c67dc]
add esp, 8
push str.SG_t_t__show_group
push edx
call fcn.0040f970
mov eax, dword [0x7c67dc]
add esp, 8
push str.ST_t_t__show_targets
push eax
call fcn.0040f970
mov ecx, dword [0x7c67dc]
add esp, 8
push str.SV_t_t__show_variables
push ecx
call fcn.0040f970
mov edx, dword [0x7c67dc]
add esp, 8
push str.TB_t_t__toggle_borders
push edx
call fcn.0040f970
mov eax, dword [0x7c67dc]
add esp, 8
push str.TG_t_t__toggle_grid
push eax
call fcn.0040f970
mov ecx, dword [0x7c67dc]
add esp, 8
push str.TL_t_t__toggle_lights
push ecx
call fcn.0040f970
mov edx, dword [0x7c67dc]
add esp, 8
push str.TM_t_t__toggle_menus
push edx
call fcn.0040f970
mov eax, dword [0x7c67dc]
add esp, 8
push str.TS_t_t__toggle_sky
push eax
call fcn.0040f970
mov ecx, dword [0x7c67dc]
add esp, 8
push str.TW_t_t__toggle_world
push ecx
call fcn.0040f970
mov edx, dword [0x7c67dc]
add esp, 8
push str.ORI_t__output_reference_info
push edx
call fcn.0040f970
mov eax, dword [0x7c67dc]
add esp, 8
push str.SCT_t__stop_cell_test
push eax
call fcn.0040f970
mov ecx, dword [0x7c67dc]
add esp, 8
push str.SSG_t__show_scene_graph
push ecx
call fcn.0040f970
mov edx, dword [0x7c67dc]
add esp, 8
push str.T3D_t__test_models
push edx
call fcn.0040f970
mov eax, dword [0x7c67dc]
add esp, 8
push str.TAI_t__toggle_AI
push eax
call fcn.0040f970
mov ecx, dword [0x7c67dc]
add esp, 8
push str.TCB_t__toggle_collision_boxes
push ecx
call fcn.0040f970
mov edx, dword [0x7c67dc]
add esp, 8
push str.TCG_t__toggle_collision_grid
push edx
call fcn.0040f970
mov eax, dword [0x7c67dc]
add esp, 8
push str.TCL_t__toggle_collision
push eax
call fcn.0040f970
mov ecx, dword [0x7c67dc]
add esp, 8
push str.TCS_t__toggle_combat_stats
push ecx
call fcn.0040f970
mov edx, dword [0x7c67dc]
add esp, 8
push str.TFH_t__toggle_full_help
push edx
call fcn.0040f970
mov eax, dword [0x7c67dc]
add esp, 8
push str.TDS_t__toggle_dialog_stats
push eax
call fcn.0040f970
mov ecx, dword [0x7c67dc]
add esp, 8
push str.TDT_t__toggle_debug_text
push ecx
call fcn.0040f970
mov edx, dword [0x7c67dc]
add esp, 8
push str.TGM_t__toggle_god_mode
push edx
call fcn.0040f970
mov eax, dword [0x7c67dc]
add esp, 8
push str.TKS_t__toggle_kill_stats
push eax
call fcn.0040f970
mov ecx, dword [0x7c67dc]
add esp, 8
push str.TLF_t__toggle_load_fade
push ecx
call fcn.0040f970
mov edx, dword [0x7c67dc]
add esp, 8
push str.TMS_t__toggle_magic_stats
push edx
call fcn.0040f970
mov eax, dword [0x7c67dc]
add esp, 8
push str.TPG_t__toggle_path_grid_display
push eax
call fcn.0040f970
mov ecx, dword [0x7c67dc]
add esp, 8
push str.TSO_t__toggle_script_output
push ecx
call fcn.0040f970
mov edx, dword [0x7c67dc]
add esp, 8
push str.TST_t__toggle_stats
push edx
call fcn.0040f970
mov eax, dword [0x7c67dc]
add esp, 8
push str.TTS_t__toggle_texture_string
push eax
call fcn.0040f970
mov ecx, dword [0x7c67dc]
add esp, 8
push str.TVM_t__toggle_vanity_mode
push ecx
call fcn.0040f970
mov edx, dword [0x7c67dc]
add esp, 8
push str.TWA_t__toggle_water
push edx
call fcn.0040f970
mov eax, dword [0x7c67dc]
add esp, 8
push str.TWF_t__toggle_wireframe
push eax
call fcn.0040f970
mov ecx, dword [0x7c67dc]
add esp, 8
push str.MOTO_t__move_one_to_one
push ecx
call fcn.0040f970
mov edx, dword [0x7c67dc]
add esp, 8
push str.TFOW_t__toggle_fog_of_war
push edx
call fcn.0040f970
mov eax, dword [0x7c67dc]
add esp, 8
push str.FixMe_t__Fix_Me
push eax
call fcn.0040f970
mov ecx, dword [0x7c67dc]
add esp, 8
push str.TestCells_t__start_exterior_cell_test
push ecx
call fcn.0040f970
mov edx, dword [0x7c67dc]
add esp, 8
push str.TestInteriorCells_t__start_interior_cell_test
push edx
call fcn.0040f970
mov eax, dword [0x7c67dc]
add esp, 8
push str.ToggleScripts___toggle_scripts
push eax
call fcn.0040f970
add esp, 8
jmp case.0x502b28.74
mov ecx, dword [ecx + 0x2e4]
xor dword [ecx + 0x24], 0x800000
mov ecx, dword [0x7c67dc]
mov edx, dword [ecx + 0x2e4]
mov ebx, dword [edx + 0x24]
mov eax, dword [0x7c67e0]
mov ecx, dword [eax + 0xac]
shr ebx, 0x17
and bl, 1
cmp ecx, esi
je 0x504e16
call fcn.004e2850
cmp eax, esi
je 0x504e56
test bl, bl
mov ecx, eax
je 0x504e0f
call fcn.004f4560
jmp 0x504e56
call fcn.004f48d0
jmp 0x504e56
mov esi, 4
mov edi, 3
mov ecx, dword [0x7c67e0]
mov eax, dword [esi + ecx]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x504e4b
call fcn.004e2850
test eax, eax
je 0x504e4b
test bl, bl
mov ecx, eax
je 0x504e46
call fcn.004f4560
jmp 0x504e4b
call fcn.004f48d0
add esi, 4
dec edi
jne 0x504e20
cmp esi, 0x28
jl 0x504e1b
mov al, byte [0x7cebdc]
test al, al
je case.0x502b28.74
test bl, bl
mov eax, str.Displayed
jne 0x504e71
mov eax, str.Hidden
mov edx, dword [0x7c67dc]
push eax
push str.PathGrids_____s
push edx
call fcn.0040f970
add esp, 0xc
jmp case.0x502b28.74
mov ecx, dword [ecx + 0x2e4]
xor dword [ecx + 0x24], 0x1000000
mov al, byte [0x7cebdc]
test al, al
je case.0x502b28.74
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x2e4]
test dword [eax + 0x24], 0x1000000
mov eax, 0x7a5b20
jne 0x504ec4
mov eax, 0x7a5b14
push eax
push str.Full_help_____s
push ecx
call fcn.0040f970
add esp, 0xc
jmp case.0x502b28.74
mov ecx, dword [ecx + 0x2e4]
xor dword [ecx + 0x24], 0x2000000
call fcn.005eb340
mov al, byte [0x7cebdc]
test al, al
je case.0x502b28.74
mov ecx, dword [0x7c67dc]
mov edx, dword [ecx + 0x2e4]
test dword [edx + 0x24], 0x2000000
mov eax, 0x7a5b14
jne 0x504f16
mov eax, 0x7a5b20
push eax
push str.Fog_of_War_____s
push ecx
call fcn.0040f970
add esp, 0xc
jmp case.0x502b28.74
mov esi, dword [0x7cebec]
test esi, esi
je 0x5051cc
push str.____________________________
push ecx
call fcn.0040f970
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx]
add esp, 8
call dword [eax + 0x20]
mov ecx, dword [0x7c67dc]
push eax
push str.Reference____s
push ecx
call fcn.0040f970
mov eax, dword [esi + 0x48]
mov edx, dword [0x7c67dc]
add esp, 0xc
push eax
push str.__virtidx____i
push edx
call fcn.0040f970
mov eax, dword [esi + 0x4c]
add esp, 0xc
push eax
mov eax, dword [0x7c67dc]
push str.__physidx____i
push eax
call fcn.0040f970
add esp, 0xc
mov ecx, esi
call fcn.004eee40
test eax, eax
je 0x504fbe
mov ecx, esi
call fcn.004eee40
mov ecx, dword [0x7c67dc]
add eax, 0xc
push eax
push str.__file____s
push ecx
call fcn.0040f970
add esp, 0xc
jmp 0x504fd2
mov edx, dword [0x7c67dc]
push str.__file___None
push edx
call fcn.0040f970
add esp, 8
mov ecx, esi
call fcn.004eb670
mov ebx, eax
test ebx, ebx
je 0x505035
mov ecx, ebx
call fcn.004e22f0
test al, al
je 0x505008
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x20]
mov ecx, dword [0x7c67dc]
push eax
push str.__cell____s
push ecx
call fcn.0040f970
add esp, 0xc
jmp 0x505049
mov ecx, ebx
call fcn.004db9f0
push eax
mov ecx, ebx
call fcn.004db9d0
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x20]
push eax
mov eax, dword [0x7c67dc]
push str.__cell____s___i___i_
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x505049
mov ecx, dword [0x7c67dc]
push str.__cell___None
push ecx
call fcn.0040f970
add esp, 8
mov ebx, dword [esi + 0x10]
test ebx, ebx
je 0x505084
mov eax, dword [ebx + 0x18]
test eax, eax
jne 0x50506b
mov edx, dword [0x7c67dc]
push str.__3D_____Detached
push edx
call fcn.0040f970
add esp, 8
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x54]
test al, al
je 0x505098
mov ecx, dword [0x7c67dc]
push str.__3D_____Culled
push ecx
jmp 0x505090
mov edx, dword [0x7c67dc]
push str.__3D_____None
push edx
call fcn.0040f970
add esp, 8
mov ecx, esi
call fcn.004e7ee0
test eax, eax
je 0x5051b3
mov ecx, esi
call fcn.004e7ee0
mov esi, eax
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ecx, dword [0x7c67dc]
push eax
push str.LevelCrea____s
push ecx
call fcn.0040f970
mov eax, dword [esi + 0x48]
mov edx, dword [0x7c67dc]
add esp, 0xc
push eax
push str.__virtidx____i
push edx
call fcn.0040f970
mov eax, dword [esi + 0x4c]
add esp, 0xc
push eax
mov eax, dword [0x7c67dc]
push str.__physidx____i
push eax
call fcn.0040f970
add esp, 0xc
mov ecx, esi
call fcn.004eee40
test eax, eax
je 0x505128
mov ecx, esi
call fcn.004eee40
mov ecx, dword [0x7c67dc]
add eax, 0xc
push eax
push str.__file____s
push ecx
call fcn.0040f970
add esp, 0xc
jmp 0x50513c
mov edx, dword [0x7c67dc]
push str.__file___None
push edx
call fcn.0040f970
add esp, 8
mov ecx, esi
call fcn.004eb670
mov esi, eax
test esi, esi
je 0x50519f
mov ecx, esi
call fcn.004e22f0
test al, al
je 0x505172
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [0x7c67dc]
push eax
push str.__cell____s
push ecx
call fcn.0040f970
add esp, 0xc
jmp 0x5051b3
mov ecx, esi
call fcn.004db9f0
push eax
mov ecx, esi
call fcn.004db9d0
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0x20]
push eax
mov eax, dword [0x7c67dc]
push str.__cell____s___i___i_
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x5051b3
mov ecx, dword [0x7c67dc]
push str.__cell___None
push ecx
call fcn.0040f970
add esp, 8
mov edx, dword [0x7c67dc]
push str.____________________________
push edx
call fcn.0040f970
add esp, 8
jmp case.0x502b28.74
push str.OutputRefInfo_requires_a_selected_reference.
push ecx
call fcn.0040f970
add esp, 8
jmp case.0x502b28.74
mov eax, dword [0x7c67e0]
mov ecx, dword [eax]
call fcn.004b9f30
jmp case.0x502b28.74
mov ecx, dword [0x7c67e0]
mov ecx, dword [ecx]
call fcn.004b9d20
jmp case.0x502b28.74
mov edx, dword [0x7c67e0]
mov eax, dword [edx]
mov esi, dword [eax + 0x3c]
mov dword [esp + 0x10], esi
call fcn.0040ff20
mov dword [esp + 0x20], eax
mov eax, dword [eax + 0x560]
mov ecx, esi
mov dword [esp + 0x48], eax
call fcn.0047e710
test eax, eax
je case.0x502b28.74
mov edi, esi
mov esi, dword [eax + 8]
mov al, byte [esi + 0x14]
test al, al
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x14], ecx
je 0x50524f
cmp al, 4
je 0x505262
jmp 0x5052e6
mov ecx, dword [0x7c67dc]
push esi
call fcn.0040ff20
mov ecx, eax
call fcn.0056a470
mov ecx, esi
call fcn.004b3120
mov edx, dword [0x7c67dc]
push eax
push edx
call fcn.0040f970
mov ecx, dword [0x7c6cdc]
add esp, 8
push 1
call fcn.0041be90
lea ebx, [esi + 0x18]
mov ecx, ebx
call fcn.0047e710
test eax, eax
je 0x5052d6
mov dl, byte [esi + 0x14]
test dl, dl
mov eax, dword [eax + 8]
je 0x5052bf
cmp dl, 4
jne 0x5052cb
mov ecx, dword [esp + 0x20]
mov edx, dword [eax + 0x18]
mov edi, dword [ebx + 0x10]
push ecx
push edx
mov ecx, esi
call fcn.004b2f80
mov dword [ebx + 0x10], edi
mov edi, dword [esp + 0x10]
jmp 0x5052cb
mov ecx, dword [esp + 0x48]
push ecx
mov ecx, eax
call fcn.004b2170
mov ecx, ebx
call fcn.0047e720
test eax, eax
jne 0x505294
mov al, byte [esi + 0x14]
test al, al
jne 0x5052e6
push esi
call fcn.005d6650
add esp, 4
mov edx, dword [esp + 0x14]
mov ecx, edi
mov dword [edi + 0x10], edx
call fcn.0047e720
test eax, eax
jne 0x505235
jmp case.0x502b28.74
mov eax, dword [0x7c67e0]
mov ecx, dword [eax]
xor ebx, ebx
push ebx
call fcn.004ba950
mov esi, eax
test esi, esi
je case.0x502b28.74
mov ecx, esi
call fcn.004e22f0
test al, al
jne case.0x502b28.74
mov ecx, esi
call fcn.004b3120
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x505379
mov ecx, esi
call fcn.004b3120
mov ecx, dword [0x7c67dc]
push eax
push ecx
call fcn.0040f970
mov ecx, dword [0x7c6cdc]
add esp, 8
push 1
call fcn.0041be90
mov edx, dword [0x7c67e0]
mov edi, dword [edx]
mov ecx, esi
call fcn.004b3120
push eax
mov ecx, edi
call fcn.004c8480
mov eax, dword [0x7c67e0]
mov ecx, dword [eax]
inc ebx
push ebx
call fcn.004ba950
mov esi, eax
test esi, esi
jne 0x50531a
jmp case.0x502b28.74
mov dword [0x7d5bb8], 1
jmp case.0x502b28.74
cmp edx, 0x1000
jl case.0x502b28.74
mov ecx, dword [0x7cebb4]
mov esi, dword [0x7cebb0]
xor eax, eax
mov al, byte [0x7ceba8]
push ecx
mov ecx, ebx
push eax
push edx
call fcn.00505770
fstp st(0)
mov dword [0x7cebb0], esi
mov ecx, dword [esp + 0x34]
mov edx, dword [0x7cebb0]
cmp edx, dword [ecx + 0x3c]
jl 0x5029c0
mov edx, dword [esp + 0x30]
mov dword [0x7cebf8], edx
lea ecx, [esp + 0x70]
mov dword [esp + 0x6c8], 0xffffffff
call fcn.006e9a00
mov ecx, dword [esp + 0x6c0]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [eax*4 + 0x789abc]
lea ecx, [ebx + 0x10]
push ecx
push edx
push str._s_in__s._r_nSet_expression_returned_an_error._r_n
call fcn.00477400
mov eax, dword [esp + 0x3c]
mov dword [ebx + 0x3c], esi
add esp, 0xc
mov dword [0x7cebf8], eax
jmp 0x5053e5
mov ecx, dword [esp + 0x30]
mov dword [0x7cebf8], ecx
jmp 0x5053e5