Function at 0x5b4d60
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6722bb
mov eax, dword fs:[0]
push eax
sub esp, 0x388
mov eax, dword [0x719254]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
push 8
mov dword [ebp - 0xd0], 0
lea ecx, [ebp - 0xd0]
push str.GetEnemy
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], 0
call fcn.004ac180
push 4
lea eax, [ebp - 0xd0]
mov dword [ebp - 4], 0
push eax
mov ecx, esi
call fcn.005de110
mov edx, dword [ebp - 0xbc]
mov ebx, eax
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x5b4e21
mov ecx, dword [ebp - 0xd0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5b4e17
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5bf9b6
push edx
push ecx
call fcn.0061db3a
add esp, 8
mov ecx, ebx
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], 0
call fcn.006016c0
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0
push 0xc
mov dword [ebp - 4], 1
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 2
test edi, edi
je 0x5b4ebf
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b4eab
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0
jmp 0x5b4ead
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b4ec1
xor edi, edi
lea eax, [ebp - 0x148]
mov byte [ebp - 4], 1
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x10c]
push 0xc
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 3
test edi, edi
je 0x5b4f35
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b4f21
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 1
jmp 0x5b4f23
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b4f37
xor edi, edi
lea eax, [ebp - 0x148]
mov byte [ebp - 4], 1
push edi
push eax
call fcn.004ca4c0
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 4
test edi, edi
je 0x5b4f99
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b4f85
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5b4f87
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b4f9b
xor edi, edi
lea eax, [ebp - 0x148]
mov byte [ebp - 4], 1
push edi
push eax
call fcn.004ca4c0
add esp, 8
cmp dword [esi + 8], 5
jne 0x5b4fbb
or dword [ebx + 0x48], 1
jmp 0x5b5021
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 5
test edi, edi
je 0x5b500b
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b4ff7
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5b4ff9
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b500d
xor edi, edi
lea eax, [ebp - 0x148]
mov byte [ebp - 4], 1
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 6
test edi, edi
je 0x5b5072
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b505e
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5b5060
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OGetScreenEnemy.0
jmp 0x5b5074
xor edi, edi
lea eax, [ebp - 0x148]
mov byte [ebp - 4], 1
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x144]
add esp, 8
sub eax, dword [ebp - 0x148]
sar eax, 3
cmp eax, 5
jae 0x5b50b3
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x5b50aa
or dword [eax + 0x94], 1
or dword [ebx + 0x5c], 1
mov eax, dword [ebx + 0x5c]
jmp 0x5b50b6
mov al, byte [ebx + 0x5c]
test al, 1
jne 0x5b50f6
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b50e4
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5b50e6
xor eax, eax
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x148]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push 7
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x58]
push str.GetDoor
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.004ac180
push 4
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 7
push eax
mov ecx, esi
call fcn.005de110
mov edx, dword [ebp - 0x44]
mov ebx, eax
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x5b518f
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5b5185
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5bf9b6
push edx
push ecx
call fcn.0061db3a
add esp, 8
mov ecx, ebx
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.006016c0
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x1fc], 0
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0
push 0xc
mov dword [ebp - 4], 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 9
test edi, edi
je 0x5b5224
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b5210
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0
jmp 0x5b5212
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b5226
xor edi, edi
lea eax, [ebp - 0x1fc]
mov byte [ebp - 4], 8
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0x10c]
push 0xc
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0xa
test edi, edi
je 0x5b529a
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b5286
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 1
jmp 0x5b5288
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b529c
xor edi, edi
lea eax, [ebp - 0x1fc]
mov byte [ebp - 4], 8
push edi
push eax
call fcn.004ca4c0
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0xb
test edi, edi
je 0x5b52fe
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b52ea
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5b52ec
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b5300
xor edi, edi
lea eax, [ebp - 0x1fc]
mov byte [ebp - 4], 8
push edi
push eax
call fcn.004ca4c0
add esp, 8
cmp dword [esi + 8], 5
jne 0x5b5320
or dword [ebx + 0x48], 1
jmp 0x5b5386
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0xc
test edi, edi
je 0x5b5370
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b535c
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5b535e
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b5372
xor edi, edi
lea eax, [ebp - 0x1fc]
mov byte [ebp - 4], 8
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0xd
test edi, edi
je 0x5b53d7
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b53c3
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5b53c5
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OGetScreenDoor.0
jmp 0x5b53d9
xor edi, edi
lea eax, [ebp - 0x1fc]
mov byte [ebp - 4], 8
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x1f8]
add esp, 8
sub eax, dword [ebp - 0x1fc]
sar eax, 3
cmp eax, 5
jae 0x5b5418
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x5b540f
or dword [eax + 0x94], 1
or dword [ebx + 0x5c], 1
mov eax, dword [ebx + 0x5c]
jmp 0x5b541b
mov al, byte [ebx + 0x5c]
test al, 1
jne 0x5b545b
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b5449
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5b544b
xor eax, eax
push eax
lea eax, [ebp - 0x1fc]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x1fc]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x1fc]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push 8
mov dword [ebp - 0xb8], 0
lea ecx, [ebp - 0xb8]
push str.SetEnemy
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
call fcn.004ac180
push 5
lea eax, [ebp - 0xb8]
mov dword [ebp - 4], 0xe
push eax
mov ecx, esi
call fcn.005de110
mov edx, dword [ebp - 0xa4]
mov ebx, eax
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x5b550c
mov ecx, dword [ebp - 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5b5502
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5bf9b6
push edx
push ecx
call fcn.0061db3a
add esp, 8
mov ecx, ebx
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
call fcn.006016c0
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0
push 0xc
mov dword [ebp - 4], 0xf
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x10
test edi, edi
je 0x5b55aa
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b5596
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 3
jmp 0x5b5598
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b55ac
xor edi, edi
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 0xf
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x10c]
push 0xc
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x11
test edi, edi
je 0x5b5620
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b560c
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0
jmp 0x5b560e
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b5622
xor edi, edi
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 0xf
push edi
push eax
call fcn.004ca4c0
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x12
test edi, edi
je 0x5b5684
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b5670
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5b5672
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b5686
xor edi, edi
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 0xf
push edi
push eax
call fcn.004ca4c0
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x13
test edi, edi
je 0x5b56e8
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b56d4
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 1
jmp 0x5b56d6
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b56ea
xor edi, edi
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 0xf
push edi
push eax
call fcn.004ca4c0
add esp, 8
cmp dword [esi + 8], 5
jne 0x5b570a
or dword [ebx + 0x48], 1
jmp 0x5b5770
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x14
test edi, edi
je 0x5b575a
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b5746
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5b5748
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b575c
xor edi, edi
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 0xf
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0x10
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x15
test edi, edi
je 0x5b57f7
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x10c], eax
test eax, eax
je 0x5b57ad
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 3
jmp 0x5b57b7
mov dword [ebp - 0x10c], 0
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b57da
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0x1d3
jmp 0x5b57dc
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x10c]
mov dword [edi + 0xc], eax
mov dword [edi], vtable.ZScript::OSetRegister.0
jmp 0x5b57f9
xor edi, edi
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 0xf
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x114]
add esp, 8
sub eax, dword [ebp - 0x118]
sar eax, 3
cmp eax, 5
jae 0x5b5838
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x5b582f
or dword [eax + 0x94], 1
or dword [ebx + 0x5c], 1
mov eax, dword [ebx + 0x5c]
jmp 0x5b583b
mov al, byte [ebx + 0x5c]
test al, 1
jne 0x5b587b
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b5869
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5b586b
xor eax, eax
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x118]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x118]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push 7
mov dword [ebp - 0xa0], 0
lea ecx, [ebp - 0xa0]
push str.SetDoor
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.004ac180
push 5
lea eax, [ebp - 0xa0]
mov dword [ebp - 4], 0x16
push eax
mov ecx, esi
call fcn.005de110
mov edx, dword [ebp - 0x8c]
mov ebx, eax
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x5b592c
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5b5922
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5bf9b6
push edx
push ecx
call fcn.0061db3a
add esp, 8
mov ecx, ebx
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.006016c0
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 0
push 0xc
mov dword [ebp - 4], 0x17
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x18
test edi, edi
je 0x5b59ca
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b59b6
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 3
jmp 0x5b59b8
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b59cc
xor edi, edi
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0x17
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x10c]
push 0xc
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x19
test edi, edi
je 0x5b5a40
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b5a2c
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0
jmp 0x5b5a2e
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b5a42
xor edi, edi
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0x17
push edi
push eax
call fcn.004ca4c0
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x1a
test edi, edi
je 0x5b5aa4
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b5a90
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5b5a92
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b5aa6
xor edi, edi
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0x17
push edi
push eax
call fcn.004ca4c0
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x1b
test edi, edi
je 0x5b5b08
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b5af4
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 1
jmp 0x5b5af6
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b5b0a
xor edi, edi
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0x17
push edi
push eax
call fcn.004ca4c0
add esp, 8
cmp dword [esi + 8], 5
jne 0x5b5b2a
or dword [ebx + 0x48], 1
jmp 0x5b5b90
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x1c
test edi, edi
je 0x5b5b7a
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b5b66
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5b5b68
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b5b7c
xor edi, edi
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0x17
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0x10
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x1d
test edi, edi
je 0x5b5c17
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x10c], eax
test eax, eax
je 0x5b5bcd
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 3
jmp 0x5b5bd7
mov dword [ebp - 0x10c], 0
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b5bfa
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0x1d2
jmp 0x5b5bfc
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x10c]
mov dword [edi + 0xc], eax
mov dword [edi], vtable.ZScript::OSetRegister.0
jmp 0x5b5c19
xor edi, edi
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0x17
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x120]
add esp, 8
sub eax, dword [ebp - 0x124]
sar eax, 3
cmp eax, 5
jae 0x5b5c58
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x5b5c4f
or dword [eax + 0x94], 1
or dword [ebx + 0x5c], 1
mov eax, dword [ebx + 0x5c]
jmp 0x5b5c5b
mov al, byte [ebx + 0x5c]
test al, 1
jne 0x5b5c9b
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b5c89
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5b5c8b
xor eax, eax
push eax
lea eax, [ebp - 0x124]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x124]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x124]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push 8
mov dword [ebp - 0x88], 0
lea ecx, [ebp - 0x88]
push str.SetWidth
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
call fcn.004ac180
push 4
lea eax, [ebp - 0x88]
mov dword [ebp - 4], 0x1e
push eax
mov ecx, esi
call fcn.005de110
mov edx, dword [ebp - 0x74]
mov ebx, eax
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x5b5d43
mov ecx, dword [ebp - 0x88]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5b5d39
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5bf9b6
push edx
push ecx
call fcn.0061db3a
add esp, 8
mov ecx, ebx
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
call fcn.006016c0
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 0
push 0xc
mov dword [ebp - 4], 0x1f
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x20
test edi, edi
je 0x5b5ddb
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b5dc7
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 6
jmp 0x5b5dc9
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b5ddd
xor edi, edi
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 0x1f
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x150]
mov ecx, dword [ebp - 0x10c]
push 0xc
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x21
test edi, edi
je 0x5b5e51
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b5e3d
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 1
jmp 0x5b5e3f
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b5e53
xor edi, edi
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 0x1f
push edi
push eax
call fcn.004ca4c0
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x22
test edi, edi
je 0x5b5eb5
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b5ea1
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0
jmp 0x5b5ea3
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b5eb7
xor edi, edi
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 0x1f
push edi
push eax
call fcn.004ca4c0
add esp, 8
cmp dword [esi + 8], 5
jne 0x5b5ed7
or dword [ebx + 0x48], 1
jmp 0x5b5f3d
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x23
test edi, edi
je 0x5b5f27
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b5f13
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5b5f15
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b5f29
xor edi, edi
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 0x1f
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0x10
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x24
test edi, edi
je 0x5b5fc4
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x10c], eax
test eax, eax
je 0x5b5f7a
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 6
jmp 0x5b5f84
mov dword [ebp - 0x10c], 0
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b5fa7
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0x216
jmp 0x5b5fa9
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x10c]
mov dword [edi + 0xc], eax
mov dword [edi], vtable.ZScript::OSetRegister.0
jmp 0x5b5fc6
xor edi, edi
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 0x1f
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x150]
add esp, 8
sub eax, dword [ebp - 0x154]
sar eax, 3
cmp eax, 5
jae 0x5b6005
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x5b5ffc
or dword [eax + 0x94], 1
or dword [ebx + 0x5c], 1
mov eax, dword [ebx + 0x5c]
jmp 0x5b6008
mov al, byte [ebx + 0x5c]
test al, 1
jne 0x5b6048
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b6036
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5b6038
xor eax, eax
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x154]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x154]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push 8
mov dword [ebp - 0x70], 0
lea ecx, [ebp - 0x70]
push str.GetWidth
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
call fcn.004ac180
push 3
lea eax, [ebp - 0x70]
mov dword [ebp - 4], 0x25
push eax
mov ecx, esi
call fcn.005de110
mov edx, dword [ebp - 0x5c]
mov ebx, eax
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x5b60e1
mov ecx, dword [ebp - 0x70]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5b60d7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5bf9b6
push edx
push ecx
call fcn.0061db3a
add esp, 8
mov ecx, ebx
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
call fcn.006016c0
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x204], 0
mov dword [ebp - 0x200], 0
push 0xc
mov dword [ebp - 4], 0x26
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x27
test edi, edi
je 0x5b6176
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b6162
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 1
jmp 0x5b6164
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b6178
xor edi, edi
lea eax, [ebp - 0x208]
mov byte [ebp - 4], 0x26
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x204]
mov ecx, dword [ebp - 0x10c]
push 0xc
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x28
test edi, edi
je 0x5b61ec
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b61d8
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0
jmp 0x5b61da
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b61ee
xor edi, edi
lea eax, [ebp - 0x208]
mov byte [ebp - 4], 0x26
push edi
push eax
call fcn.004ca4c0
add esp, 8
cmp dword [esi + 8], 5
jne 0x5b620e
or dword [ebx + 0x48], 1
jmp 0x5b6274
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x29
test edi, edi
je 0x5b625e
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b624a
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5b624c
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b6260
xor edi, edi
lea eax, [ebp - 0x208]
mov byte [ebp - 4], 0x26
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0x10
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x2a
test edi, edi
je 0x5b62fb
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x10c], eax
test eax, eax
je 0x5b62b1
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0x216
jmp 0x5b62bb
mov dword [ebp - 0x10c], 0
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b62de
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5b62e0
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x10c]
mov dword [edi + 0xc], eax
mov dword [edi], vtable.ZScript::OSetRegister.0
jmp 0x5b62fd
xor edi, edi
lea eax, [ebp - 0x208]
mov byte [ebp - 4], 0x26
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x204]
add esp, 8
sub eax, dword [ebp - 0x208]
sar eax, 3
cmp eax, 5
jae 0x5b633c
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x5b6333
or dword [eax + 0x94], 1
or dword [ebx + 0x5c], 1
mov eax, dword [ebx + 0x5c]
jmp 0x5b633f
mov al, byte [ebx + 0x5c]
test al, 1
jne 0x5b637f
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b636d
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5b636f
xor eax, eax
push eax
lea eax, [ebp - 0x208]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x208]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x208]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push 9
mov dword [ebp - 0x40], 0
lea ecx, [ebp - 0x40]
push str.SetHeight
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.004ac180
push 4
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 0x2b
push eax
mov ecx, esi
call fcn.005de110
mov edx, dword [ebp - 0x2c]
mov ebx, eax
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x5b6418
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5b640e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5bf9b6
push edx
push ecx
call fcn.0061db3a
add esp, 8
mov ecx, ebx
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.006016c0
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0
push 0xc
mov dword [ebp - 4], 0x2c
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x2d
test edi, edi
je 0x5b64ad
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b6499
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 6
jmp 0x5b649b
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b64af
xor edi, edi
lea eax, [ebp - 0x160]
mov byte [ebp - 4], 0x2c
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x10c]
push 0xc
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x2e
test edi, edi
je 0x5b6523
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b650f
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 1
jmp 0x5b6511
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b6525
xor edi, edi
lea eax, [ebp - 0x160]
mov byte [ebp - 4], 0x2c
push edi
push eax
call fcn.004ca4c0
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x2f
test edi, edi
je 0x5b6587
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b6573
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0
jmp 0x5b6575
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b6589
xor edi, edi
lea eax, [ebp - 0x160]
mov byte [ebp - 4], 0x2c
push edi
push eax
call fcn.004ca4c0
add esp, 8
cmp dword [esi + 8], 5
jne 0x5b65a9
or dword [ebx + 0x48], 1
jmp 0x5b660f
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x30
test edi, edi
je 0x5b65f9
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b65e5
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5b65e7
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b65fb
xor edi, edi
lea eax, [ebp - 0x160]
mov byte [ebp - 4], 0x2c
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0x10
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x31
test edi, edi
je 0x5b6696
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x10c], eax
test eax, eax
je 0x5b664c
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 6
jmp 0x5b6656
mov dword [ebp - 0x10c], 0
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b6679
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0x217
jmp 0x5b667b
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x10c]
mov dword [edi + 0xc], eax
mov dword [edi], vtable.ZScript::OSetRegister.0
jmp 0x5b6698
xor edi, edi
lea eax, [ebp - 0x160]
mov byte [ebp - 4], 0x2c
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x15c]
add esp, 8
sub eax, dword [ebp - 0x160]
sar eax, 3
cmp eax, 5
jae 0x5b66d7
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x5b66ce
or dword [eax + 0x94], 1
or dword [ebx + 0x5c], 1
mov eax, dword [ebx + 0x5c]
jmp 0x5b66da
mov al, byte [ebx + 0x5c]
test al, 1
jne 0x5b671a
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b6708
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5b670a
xor eax, eax
push eax
lea eax, [ebp - 0x160]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x160]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x160]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push 9
mov dword [ebp - 0x100], 0
lea ecx, [ebp - 0x100]
push str.GetHeight
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], 0xf
mov byte [ebp - 0x100], 0
call fcn.004ac180
push 3
lea eax, [ebp - 0x100]
mov dword [ebp - 4], 0x32
push eax
mov ecx, esi
call fcn.005de110
mov edx, dword [ebp - 0xec]
mov ebx, eax
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x5b67cb
mov ecx, dword [ebp - 0x100]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5b67c1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5bf9b6
push edx
push ecx
call fcn.0061db3a
add esp, 8
mov ecx, ebx
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], 0xf
mov byte [ebp - 0x100], 0
call fcn.006016c0
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], 0
mov dword [ebp - 0x2c0], 0
push 0xc
mov dword [ebp - 4], 0x33
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x34
test edi, edi
je 0x5b6869
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b6855
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 1
jmp 0x5b6857
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b686b
xor edi, edi
lea eax, [ebp - 0x2c8]
mov byte [ebp - 4], 0x33
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x2c4]
mov ecx, dword [ebp - 0x10c]
push 0xc
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x35
test edi, edi
je 0x5b68df
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b68cb
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0
jmp 0x5b68cd
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b68e1
xor edi, edi
lea eax, [ebp - 0x2c8]
mov byte [ebp - 4], 0x33
push edi
push eax
call fcn.004ca4c0
add esp, 8
cmp dword [esi + 8], 5
jne 0x5b6901
or dword [ebx + 0x48], 1
jmp 0x5b6967
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x36
test edi, edi
je 0x5b6951
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b693d
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5b693f
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b6953
xor edi, edi
lea eax, [ebp - 0x2c8]
mov byte [ebp - 4], 0x33
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0x10
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x37
test edi, edi
je 0x5b69ee
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x10c], eax
test eax, eax
je 0x5b69a4
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0x217
jmp 0x5b69ae
mov dword [ebp - 0x10c], 0
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b69d1
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5b69d3
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x10c]
mov dword [edi + 0xc], eax
mov dword [edi], vtable.ZScript::OSetRegister.0
jmp 0x5b69f0
xor edi, edi
lea eax, [ebp - 0x2c8]
mov byte [ebp - 4], 0x33
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x2c4]
add esp, 8
sub eax, dword [ebp - 0x2c8]
sar eax, 3
cmp eax, 5
jae 0x5b6a2f
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x5b6a26
or dword [eax + 0x94], 1
or dword [ebx + 0x5c], 1
mov eax, dword [ebx + 0x5c]
jmp 0x5b6a32
mov al, byte [ebx + 0x5c]
test al, 1
jne 0x5b6a72
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x5b6a60
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5b6a62
xor eax, eax
push eax
lea eax, [ebp - 0x2c8]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x2c8]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x2c8]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push 8
mov dword [ebp - 0xe8], 0
lea ecx, [ebp - 0xe8]
push str.SetViewX
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0xf
mov byte [ebp - 0xe8], 0
call fcn.004ac180
push 4
lea eax, [ebp - 0xe8]
mov dword [ebp - 4], 0x38
push eax
mov ecx, esi
call fcn.005de110
mov edx, dword [ebp - 0xd4]
mov ebx, eax
mov dword [ebp - 0x108], ebx
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x5b6b29
mov ecx, dword [ebp - 0xe8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5b6b1f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5bf9b6
push edx
push ecx
call fcn.0061db3a
add esp, 8
mov ecx, ebx
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0xf
mov byte [ebp - 0xe8], 0
call fcn.006016c0
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x168], 0
mov dword [ebp - 0x164], 0
push 0xc
mov dword [ebp - 4], 0x39
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x3a
test edi, edi
je 0x5b6bc7
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b6bb3
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 6
jmp 0x5b6bb5
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b6bc9
xor edi, edi
lea eax, [ebp - 0x16c]
mov byte [ebp - 4], 0x39
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x10c]
push 0xc
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x3b
test edi, edi
je 0x5b6c3d
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b6c29
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 1
jmp 0x5b6c2b
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b6c3f
xor edi, edi
lea eax, [ebp - 0x16c]
mov byte [ebp - 4], 0x39
push edi
push eax
call fcn.004ca4c0
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x3c
test edi, edi
je 0x5b6ca1
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b6c8d
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0
jmp 0x5b6c8f
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b6ca3
xor edi, edi
lea eax, [ebp - 0x16c]
mov byte [ebp - 4], 0x39
push edi
push eax
call fcn.004ca4c0
add esp, 8
cmp dword [esi + 8], 5
jne 0x5b6cc3
or dword [ebx + 0x48], 1
jmp 0x5b6d29
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x3d
test edi, edi
je 0x5b6d13
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b6cff
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5b6d01
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b6d15
xor edi, edi
lea eax, [ebp - 0x16c]
mov byte [ebp - 4], 0x39
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0x10
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x3e
test edi, edi
je 0x5b6daa
push 8
call fcn.0061db0a
mov ebx, eax
add esp, 4
mov dword [ebp - 0x10c], ebx
test ebx, ebx
je 0x5b6d68
mov dword [ebx], vtable.ZScript::VarArgument.0
mov dword [ebx + 4], 6
jmp 0x5b6d6a
xor ebx, ebx
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b6d8d
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0x218
jmp 0x5b6d8f
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi + 0xc], ebx
mov ebx, dword [ebp - 0x108]
mov dword [edi], vtable.ZScript::OSetRegister.0
jmp 0x5b6dac
xor edi, edi
lea eax, [ebp - 0x16c]
mov byte [ebp - 4], 0x39
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x168]
add esp, 8
sub eax, dword [ebp - 0x16c]
sar eax, 3
cmp eax, 5
jae 0x5b6ddf
push 1
push 1
mov ecx, ebx
call fcn.005dec70
push 1
mov ecx, ebx
call fcn.005de100
test al, al
jne 0x5b6e28
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b6e16
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5b6e18
xor eax, eax
push eax
lea eax, [ebp - 0x16c]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x16c]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x16c]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.GetViewX
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 3
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x3f
push eax
mov ecx, esi
call fcn.005de110
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
mov ebx, eax
call fcn.004ab5f0
mov ecx, ebx
call fcn.006016c0
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x2bc], 0
mov dword [ebp - 0x2b8], 0
mov dword [ebp - 0x2b4], 0
push 0xc
mov dword [ebp - 4], 0x40
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x41
test edi, edi
je 0x5b6efd
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b6ee9
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 1
jmp 0x5b6eeb
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b6eff
xor edi, edi
lea eax, [ebp - 0x2bc]
mov byte [ebp - 4], 0x40
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x2b8]
mov ecx, dword [ebp - 0x108]
push 0xc
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x42
test edi, edi
je 0x5b6f73
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b6f5f
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0
jmp 0x5b6f61
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b6f75
xor edi, edi
lea eax, [ebp - 0x2bc]
mov byte [ebp - 4], 0x40
push edi
push eax
call fcn.004ca4c0
add esp, 8
cmp dword [esi + 8], 5
jne 0x5b6f95
or dword [ebx + 0x48], 1
jmp 0x5b6ffb
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x43
test edi, edi
je 0x5b6fe5
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b6fd1
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5b6fd3
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b6fe7
xor edi, edi
lea eax, [ebp - 0x2bc]
mov byte [ebp - 4], 0x40
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0x10
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
mov byte [ebp - 4], 0x44
test eax, eax
je 0x5b707b
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x104], edi
test edi, edi
je 0x5b7038
mov dword [edi], vtable.ZScript::VarArgument.0
mov dword [edi + 4], 0x218
jmp 0x5b703a
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b706a
mov ecx, dword [ebp - 0x108]
push edi
mov dword [eax], vtable.ZScript::VarArgument.0
push eax
mov dword [eax + 4], 2
call fcn.00528550
jmp 0x5b707d
mov ecx, dword [ebp - 0x108]
xor eax, eax
push edi
push eax
call fcn.00528550
jmp 0x5b707d
xor eax, eax
push eax
lea eax, [ebp - 0x2bc]
mov byte [ebp - 4], 0x40
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x2b8]
add esp, 8
sub eax, dword [ebp - 0x2bc]
sar eax, 3
cmp eax, 5
jae 0x5b70b0
push 1
push 1
mov ecx, ebx
call fcn.005dec70
push 1
mov ecx, ebx
call fcn.005de100
test al, al
jne 0x5b70f9
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b70e7
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5b70e9
xor eax, eax
push eax
lea eax, [ebp - 0x2bc]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x2bc]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x2bc]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.SetViewY
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 4
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x45
push eax
mov ecx, esi
call fcn.005de110
mov ebx, eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10c], ebx
call fcn.004ab5f0
mov ecx, ebx
call fcn.006016c0
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x170], 0
push 0xc
mov dword [ebp - 4], 0x46
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x47
test edi, edi
je 0x5b71d4
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b71c0
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 6
jmp 0x5b71c2
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b71d6
xor edi, edi
lea eax, [ebp - 0x178]
mov byte [ebp - 4], 0x46
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x108]
push 0xc
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x48
test edi, edi
je 0x5b724a
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b7236
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 1
jmp 0x5b7238
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b724c
xor edi, edi
lea eax, [ebp - 0x178]
mov byte [ebp - 4], 0x46
push edi
push eax
call fcn.004ca4c0
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x49
test edi, edi
je 0x5b72ae
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b729a
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0
jmp 0x5b729c
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b72b0
xor edi, edi
lea eax, [ebp - 0x178]
mov byte [ebp - 4], 0x46
push edi
push eax
call fcn.004ca4c0
add esp, 8
cmp dword [esi + 8], 5
jne 0x5b72d0
or dword [ebx + 0x48], 1
jmp 0x5b7336
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x4a
test edi, edi
je 0x5b7320
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b730c
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5b730e
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b7322
xor edi, edi
lea eax, [ebp - 0x178]
mov byte [ebp - 4], 0x46
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0x10
call fcn.0061db0a
mov ebx, eax
add esp, 4
mov dword [ebp - 0x104], ebx
mov byte [ebp - 4], 0x4b
test ebx, ebx
je 0x5b73b0
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x108], edi
test edi, edi
je 0x5b7375
mov dword [edi], vtable.ZScript::VarArgument.0
mov dword [edi + 4], 6
jmp 0x5b7377
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b73a3
push edi
mov dword [eax], vtable.ZScript::VarArgument.0
mov ecx, ebx
push eax
mov dword [eax + 4], 0x219
call fcn.00528550
jmp 0x5b73b2
xor eax, eax
mov ecx, ebx
push edi
push eax
call fcn.00528550
jmp 0x5b73b2
xor eax, eax
push eax
lea eax, [ebp - 0x178]
mov byte [ebp - 4], 0x46
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x174]
add esp, 8
sub eax, dword [ebp - 0x178]
mov edi, dword [ebp - 0x10c]
sar eax, 3
cmp eax, 5
jae 0x5b73eb
push 1
push 1
mov ecx, edi
call fcn.005dec70
push 1
mov ecx, edi
call fcn.005de100
test al, al
jne 0x5b7434
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b7422
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5b7424
xor eax, eax
push eax
lea eax, [ebp - 0x178]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x178]
mov ecx, edi
push eax
call fcn.00601c10
lea ecx, [ebp - 0x178]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.GetViewY
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 3
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x4c
push eax
mov ecx, esi
call fcn.005de110
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
mov ebx, eax
call fcn.004ab5f0
mov ecx, ebx
call fcn.006016c0
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2ac], 0
mov dword [ebp - 0x2a8], 0
push 0xc
mov dword [ebp - 4], 0x4d
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x4e
test edi, edi
je 0x5b7509
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b74f5
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 1
jmp 0x5b74f7
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b750b
xor edi, edi
lea eax, [ebp - 0x2b0]
mov byte [ebp - 4], 0x4d
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ebp - 0x108]
push 0xc
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x4f
test edi, edi
je 0x5b757f
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b756b
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0
jmp 0x5b756d
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b7581
xor edi, edi
lea eax, [ebp - 0x2b0]
mov byte [ebp - 4], 0x4d
push edi
push eax
call fcn.004ca4c0
add esp, 8
cmp dword [esi + 8], 5
jne 0x5b75a1
or dword [ebx + 0x48], 1
jmp 0x5b7607
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x50
test edi, edi
je 0x5b75f1
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b75dd
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5b75df
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b75f3
xor edi, edi
lea eax, [ebp - 0x2b0]
mov byte [ebp - 4], 0x4d
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0x10
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
mov byte [ebp - 4], 0x51
test eax, eax
je 0x5b7687
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x104], edi
test edi, edi
je 0x5b7644
mov dword [edi], vtable.ZScript::VarArgument.0
mov dword [edi + 4], 0x219
jmp 0x5b7646
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b7676
mov ecx, dword [ebp - 0x108]
push edi
mov dword [eax], vtable.ZScript::VarArgument.0
push eax
mov dword [eax + 4], 2
call fcn.00528550
jmp 0x5b7689
mov ecx, dword [ebp - 0x108]
xor eax, eax
push edi
push eax
call fcn.00528550
jmp 0x5b7689
xor eax, eax
push eax
lea eax, [ebp - 0x2b0]
mov byte [ebp - 4], 0x4d
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x2ac]
add esp, 8
sub eax, dword [ebp - 0x2b0]
sar eax, 3
cmp eax, 5
jae 0x5b76bc
push 1
push 1
mov ecx, ebx
call fcn.005dec70
push 1
mov ecx, ebx
call fcn.005de100
test al, al
jne 0x5b7705
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b76f3
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5b76f5
xor eax, eax
push eax
lea eax, [ebp - 0x2b0]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x2b0]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.SetGuy
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 4
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x52
push eax
mov ecx, esi
call fcn.005de110
mov ebx, eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10c], ebx
call fcn.004ab5f0
mov ecx, ebx
call fcn.006016c0
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 0
push 0xc
mov dword [ebp - 4], 0x53
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x54
test edi, edi
je 0x5b77e0
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b77cc
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 6
jmp 0x5b77ce
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b77e2
xor edi, edi
lea eax, [ebp - 0x184]
mov byte [ebp - 4], 0x53
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x108]
push 0xc
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x55
test edi, edi
je 0x5b7856
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b7842
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 1
jmp 0x5b7844
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b7858
xor edi, edi
lea eax, [ebp - 0x184]
mov byte [ebp - 4], 0x53
push edi
push eax
call fcn.004ca4c0
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x56
test edi, edi
je 0x5b78ba
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b78a6
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0
jmp 0x5b78a8
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b78bc
xor edi, edi
lea eax, [ebp - 0x184]
mov byte [ebp - 4], 0x53
push edi
push eax
call fcn.004ca4c0
add esp, 8
cmp dword [esi + 8], 5
jne 0x5b78dc
or dword [ebx + 0x48], 1
jmp 0x5b7942
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x57
test edi, edi
je 0x5b792c
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b7918
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5b791a
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b792e
xor edi, edi
lea eax, [ebp - 0x184]
mov byte [ebp - 4], 0x53
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0x10
call fcn.0061db0a
mov ebx, eax
add esp, 4
mov dword [ebp - 0x104], ebx
mov byte [ebp - 4], 0x58
test ebx, ebx
je 0x5b79bc
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x108], edi
test edi, edi
je 0x5b7981
mov dword [edi], vtable.ZScript::VarArgument.0
mov dword [edi + 4], 6
jmp 0x5b7983
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b79af
push edi
mov dword [eax], vtable.ZScript::VarArgument.0
mov ecx, ebx
push eax
mov dword [eax + 4], 0x21a
call fcn.00528550
jmp 0x5b79be
xor eax, eax
mov ecx, ebx
push edi
push eax
call fcn.00528550
jmp 0x5b79be
xor eax, eax
push eax
lea eax, [ebp - 0x184]
mov byte [ebp - 4], 0x53
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x180]
add esp, 8
sub eax, dword [ebp - 0x184]
mov edi, dword [ebp - 0x10c]
sar eax, 3
cmp eax, 5
jae 0x5b79f7
push 1
push 1
mov ecx, edi
call fcn.005dec70
push 1
mov ecx, edi
call fcn.005de100
test al, al
jne 0x5b7a40
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b7a2e
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5b7a30
xor eax, eax
push eax
lea eax, [ebp - 0x184]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x184]
mov ecx, edi
push eax
call fcn.00601c10
lea ecx, [ebp - 0x184]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.GetGuy
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 3
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x59
push eax
mov ecx, esi
call fcn.005de110
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
mov ebx, eax
call fcn.004ab5f0
mov ecx, ebx
call fcn.006016c0
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x2a4], 0
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x29c], 0
push 0xc
mov dword [ebp - 4], 0x5a
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x5b
test edi, edi
je 0x5b7b15
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b7b01
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 1
jmp 0x5b7b03
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b7b17
xor edi, edi
lea eax, [ebp - 0x2a4]
mov byte [ebp - 4], 0x5a
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x2a0]
mov ecx, dword [ebp - 0x108]
push 0xc
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x5c
test edi, edi
je 0x5b7b8b
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b7b77
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0
jmp 0x5b7b79
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b7b8d
xor edi, edi
lea eax, [ebp - 0x2a4]
mov byte [ebp - 4], 0x5a
push edi
push eax
call fcn.004ca4c0
add esp, 8
cmp dword [esi + 8], 5
jne 0x5b7bad
or dword [ebx + 0x48], 1
jmp 0x5b7c13
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x5d
test edi, edi
je 0x5b7bfd
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b7be9
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5b7beb
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b7bff
xor edi, edi
lea eax, [ebp - 0x2a4]
mov byte [ebp - 4], 0x5a
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0x10
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x108], eax
mov byte [ebp - 4], 0x5e
test eax, eax
je 0x5b7c93
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x104], edi
test edi, edi
je 0x5b7c50
mov dword [edi], vtable.ZScript::VarArgument.0
mov dword [edi + 4], 0x21a
jmp 0x5b7c52
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b7c82
mov ecx, dword [ebp - 0x108]
push edi
mov dword [eax], vtable.ZScript::VarArgument.0
push eax
mov dword [eax + 4], 2
call fcn.00528550
jmp 0x5b7c95
mov ecx, dword [ebp - 0x108]
xor eax, eax
push edi
push eax
call fcn.00528550
jmp 0x5b7c95
xor eax, eax
push eax
lea eax, [ebp - 0x2a4]
mov byte [ebp - 4], 0x5a
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x2a0]
add esp, 8
sub eax, dword [ebp - 0x2a4]
sar eax, 3
cmp eax, 5
jae 0x5b7cc8
push 1
push 1
mov ecx, ebx
call fcn.005dec70
push 1
mov ecx, ebx
call fcn.005de100
test al, al
jne 0x5b7d11
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b7cff
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5b7d01
xor eax, eax
push eax
lea eax, [ebp - 0x2a4]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x2a4]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x2a4]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.SetString
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 4
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x5f
push eax
mov ecx, esi
call fcn.005de110
mov ebx, eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10c], ebx
call fcn.004ab5f0
mov ecx, ebx
call fcn.006016c0
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x188], 0
push 0xc
mov dword [ebp - 4], 0x60
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x61
test edi, edi
je 0x5b7dec
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b7dd8
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 6
jmp 0x5b7dda
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b7dee
xor edi, edi
lea eax, [ebp - 0x190]
mov byte [ebp - 4], 0x60
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x108]
push 0xc
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x62
test edi, edi
je 0x5b7e62
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b7e4e
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 1
jmp 0x5b7e50
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b7e64
xor edi, edi
lea eax, [ebp - 0x190]
mov byte [ebp - 4], 0x60
push edi
push eax
call fcn.004ca4c0
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x63
test edi, edi
je 0x5b7ec6
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b7eb2
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0
jmp 0x5b7eb4
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b7ec8
xor edi, edi
lea eax, [ebp - 0x190]
mov byte [ebp - 4], 0x60
push edi
push eax
call fcn.004ca4c0
add esp, 8
cmp dword [esi + 8], 5
jne 0x5b7ee8
or dword [ebx + 0x48], 1
jmp 0x5b7f4e
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x64
test edi, edi
je 0x5b7f38
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b7f24
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5b7f26
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b7f3a
xor edi, edi
lea eax, [ebp - 0x190]
mov byte [ebp - 4], 0x60
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0x10
call fcn.0061db0a
mov ebx, eax
add esp, 4
mov dword [ebp - 0x104], ebx
mov byte [ebp - 4], 0x65
test ebx, ebx
je 0x5b7fc8
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x108], edi
test edi, edi
je 0x5b7f8d
mov dword [edi], vtable.ZScript::VarArgument.0
mov dword [edi + 4], 6
jmp 0x5b7f8f
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b7fbb
push edi
mov dword [eax], vtable.ZScript::VarArgument.0
mov ecx, ebx
push eax
mov dword [eax + 4], 0x21b
call fcn.00528550
jmp 0x5b7fca
xor eax, eax
mov ecx, ebx
push edi
push eax
call fcn.00528550
jmp 0x5b7fca
xor eax, eax
push eax
lea eax, [ebp - 0x190]
mov byte [ebp - 4], 0x60
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x18c]
add esp, 8
sub eax, dword [ebp - 0x190]
mov edi, dword [ebp - 0x10c]
sar eax, 3
cmp eax, 5
jae 0x5b8003
push 1
push 1
mov ecx, edi
call fcn.005dec70
push 1
mov ecx, edi
call fcn.005de100
test al, al
jne 0x5b804c
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b803a
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5b803c
xor eax, eax
push eax
lea eax, [ebp - 0x190]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x190]
mov ecx, edi
push eax
call fcn.00601c10
lea ecx, [ebp - 0x190]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.GetString
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 3
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x66
push eax
mov ecx, esi
call fcn.005de110
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
mov ebx, eax
call fcn.004ab5f0
mov ecx, ebx
call fcn.006016c0
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x298], 0
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x290], 0
push 0xc
mov dword [ebp - 4], 0x67
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x68
test edi, edi
je 0x5b8121
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b810d
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 1
jmp 0x5b810f
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5b8123
xor edi, edi
lea eax, [ebp - 0x298]
mov byte [ebp - 4], 0x67
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x294]
mov ecx, dword [ebp - 0x108]
push 0xc
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x104], edi
mov byte [ebp - 4], 0x69
test edi, edi
je 0x5b8197
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x5b8183
xor edi, edi
lea eax, [ebp - 0x298]
mov byte [ebp - 4], 0x67
push edi
push eax
call fcn.004ca4c0
add esp, 8
cmp dword [esi + 8], 5
jne 0x5b81b9
call fcn.00622e92
int3