Function at 0x5d28b0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6757fd
mov eax, dword fs:[0]
push eax
sub esp, 0x474
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 - 0x130], 0
lea ecx, [ebp - 0x130]
push str.LoadItem
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 0xf
mov byte [ebp - 0x130], 0
call fcn.004ac180
push 2
lea eax, [ebp - 0x130]
mov dword [ebp - 4], 0
push eax
mov ecx, esi
call fcn.005de110
mov edx, dword [ebp - 0x11c]
mov ebx, eax
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x5d2971
mov ecx, dword [ebp - 0x130]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5d2967
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5dcc8a
push edx
push ecx
call fcn.0061db3a
add esp, 8
mov ecx, ebx
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 0xf
mov byte [ebp - 0x130], 0
call fcn.006016c0
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0
push 0xc
mov dword [ebp - 4], 1
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 2
test edi, edi
je 0x5d2a0f
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d29fb
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d29fd
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d2a11
xor edi, edi
lea eax, [ebp - 0x144]
mov byte [ebp - 4], 1
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x140]
add esp, 8
mov ecx, dword [ebp - 0x138]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x5d2a43
or dword [ebx + 0x48], 1
jmp 0x5d2aa9
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 3
test edi, edi
je 0x5d2a93
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d2a7f
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5d2a81
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d2a95
xor edi, edi
lea eax, [ebp - 0x144]
mov byte [ebp - 4], 1
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0x10
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 4
test edi, edi
je 0x5d2b30
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x138], eax
test eax, eax
je 0x5d2ae6
mov dword [eax], vtable.ZScript::LiteralArgument.0
mov dword [eax + 4], 0x2710
jmp 0x5d2af0
mov dword [ebp - 0x138], 0
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d2b13
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d2b15
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x138]
mov dword [edi + 0xc], eax
mov dword [edi], vtable.ZScript::OSubImmediate.0
jmp 0x5d2b32
xor edi, edi
lea eax, [ebp - 0x144]
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 - 0x134], edi
mov byte [ebp - 4], 5
test edi, edi
je 0x5d2b94
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d2b80
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d2b82
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OLoadItemRegister.0
jmp 0x5d2b96
xor edi, edi
lea eax, [ebp - 0x144]
mov byte [ebp - 4], 1
push edi
push eax
call fcn.004ca4c0
push 0x10
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 6
test edi, edi
je 0x5d2c2e
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x138], eax
test eax, eax
je 0x5d2be4
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0x2a
jmp 0x5d2bee
mov dword [ebp - 0x138], 0
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d2c11
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d2c13
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x138]
mov dword [edi + 0xc], eax
mov dword [edi], vtable.ZScript::OSetRegister.0
jmp 0x5d2c30
xor edi, edi
lea eax, [ebp - 0x144]
mov byte [ebp - 4], 1
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x140]
add esp, 8
sub eax, dword [ebp - 0x144]
sar eax, 3
cmp eax, 5
jae 0x5d2c6f
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x5d2c66
or dword [eax + 0x94], 1
or dword [ebx + 0x5c], 1
mov eax, dword [ebx + 0x5c]
jmp 0x5d2c72
mov al, byte [ebx + 0x5c]
test al, 1
jne 0x5d2cb2
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d2ca0
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5d2ca2
xor eax, eax
push eax
lea eax, [ebp - 0x144]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x144]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x144]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push 0xa
mov dword [ebp - 0x70], 0
lea ecx, [ebp - 0x70]
push str.CreateItem
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
call fcn.004ac180
push 2
lea eax, [ebp - 0x70]
mov dword [ebp - 4], 7
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 0x5d2d4b
mov ecx, dword [ebp - 0x70]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5d2d41
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5dcc8a
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 - 0x138], eax
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0
push 0xc
mov dword [ebp - 4], 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 9
test edi, edi
je 0x5d2de0
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d2dcc
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d2dce
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d2de2
xor edi, edi
lea eax, [ebp - 0x180]
mov byte [ebp - 4], 8
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x17c]
add esp, 8
mov ecx, dword [ebp - 0x138]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x5d2e14
or dword [ebx + 0x48], 1
jmp 0x5d2e7a
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0xa
test edi, edi
je 0x5d2e64
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d2e50
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5d2e52
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d2e66
xor edi, edi
lea eax, [ebp - 0x180]
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 - 0x134], edi
mov byte [ebp - 4], 0xb
test edi, edi
je 0x5d2ecb
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d2eb7
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d2eb9
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OCreateItemRegister.0
jmp 0x5d2ecd
xor edi, edi
lea eax, [ebp - 0x180]
mov byte [ebp - 4], 8
push edi
push eax
call fcn.004ca4c0
push 0x10
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0xc
test edi, edi
je 0x5d2f65
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x138], eax
test eax, eax
je 0x5d2f1b
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0x2a
jmp 0x5d2f25
mov dword [ebp - 0x138], 0
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d2f48
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d2f4a
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x138]
mov dword [edi + 0xc], eax
mov dword [edi], vtable.ZScript::OSetRegister.0
jmp 0x5d2f67
xor edi, edi
lea eax, [ebp - 0x180]
mov byte [ebp - 4], 8
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x17c]
add esp, 8
sub eax, dword [ebp - 0x180]
sar eax, 3
cmp eax, 5
jae 0x5d2fa6
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x5d2f9d
or dword [eax + 0x94], 1
or dword [ebx + 0x5c], 1
mov eax, dword [ebx + 0x5c]
jmp 0x5d2fa9
mov al, byte [ebx + 0x5c]
test al, 1
jne 0x5d2fe9
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d2fd7
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5d2fd9
xor eax, eax
push eax
lea eax, [ebp - 0x180]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x180]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x180]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push 7
mov dword [ebp - 0x118], 0
lea ecx, [ebp - 0x118]
push str.LoadFFC
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x104], 0xf
mov byte [ebp - 0x118], 0
call fcn.004ac180
push 2
lea eax, [ebp - 0x118]
mov dword [ebp - 4], 0xd
push eax
mov ecx, esi
call fcn.005de110
mov edx, dword [ebp - 0x104]
mov ebx, eax
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x5d309a
mov ecx, dword [ebp - 0x118]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5d3090
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5dcc8a
push edx
push ecx
call fcn.0061db3a
add esp, 8
mov ecx, ebx
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x104], 0xf
mov byte [ebp - 0x118], 0
call fcn.006016c0
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x210], 0
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x208], 0
push 0xc
mov dword [ebp - 4], 0xe
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0xf
test edi, edi
je 0x5d3138
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d3124
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d3126
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d313a
xor edi, edi
lea eax, [ebp - 0x210]
mov byte [ebp - 4], 0xe
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x20c]
add esp, 8
mov ecx, dword [ebp - 0x138]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x5d316c
or dword [ebx + 0x48], 1
jmp 0x5d31d2
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x10
test edi, edi
je 0x5d31bc
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d31a8
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5d31aa
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d31be
xor edi, edi
lea eax, [ebp - 0x210]
mov byte [ebp - 4], 0xe
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0x10
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x11
test edi, edi
je 0x5d3259
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x138], eax
test eax, eax
je 0x5d320f
mov dword [eax], vtable.ZScript::LiteralArgument.0
mov dword [eax + 4], 0x2710
jmp 0x5d3219
mov dword [ebp - 0x138], 0
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d323c
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d323e
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x138]
mov dword [edi + 0xc], eax
mov dword [edi], vtable.ZScript::OSubImmediate.0
jmp 0x5d325b
xor edi, edi
lea eax, [ebp - 0x210]
mov byte [ebp - 4], 0xe
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x20c]
add esp, 8
sub eax, dword [ebp - 0x210]
sar eax, 3
cmp eax, 5
jae 0x5d329a
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x5d3291
or dword [eax + 0x94], 1
or dword [ebx + 0x5c], 1
mov eax, dword [ebx + 0x5c]
jmp 0x5d329d
mov al, byte [ebx + 0x5c]
test al, 1
jne 0x5d32dd
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d32cb
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5d32cd
xor eax, eax
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x210]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x210]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push 7
mov dword [ebp - 0x100], 0
lea ecx, [ebp - 0x100]
push str.LoadNPC
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], 0xf
mov byte [ebp - 0x100], 0
call fcn.004ac180
push 2
lea eax, [ebp - 0x100]
mov dword [ebp - 4], 0x12
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 0x5d338e
mov ecx, dword [ebp - 0x100]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5d3384
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5dcc8a
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 - 0x138], eax
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0
push 0xc
mov dword [ebp - 4], 0x13
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x14
test edi, edi
je 0x5d342c
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d3418
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d341a
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d342e
xor edi, edi
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0x13
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x14c]
add esp, 8
mov ecx, dword [ebp - 0x138]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x5d3460
or dword [ebx + 0x48], 1
jmp 0x5d34c6
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x15
test edi, edi
je 0x5d34b0
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d349c
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5d349e
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d34b2
xor edi, edi
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0x13
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0x10
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x16
test edi, edi
je 0x5d354d
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x138], eax
test eax, eax
je 0x5d3503
mov dword [eax], vtable.ZScript::LiteralArgument.0
mov dword [eax + 4], 0x2710
jmp 0x5d350d
mov dword [ebp - 0x138], 0
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d3530
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d3532
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x138]
mov dword [edi + 0xc], eax
mov dword [edi], vtable.ZScript::OSubImmediate.0
jmp 0x5d354f
xor edi, edi
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0x13
push edi
push eax
call fcn.004ca4c0
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x17
test edi, edi
je 0x5d35b1
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d359d
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d359f
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OLoadNPCRegister.0
jmp 0x5d35b3
xor edi, edi
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0x13
push edi
push eax
call fcn.004ca4c0
push 0x10
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x18
test edi, edi
je 0x5d364b
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x138], eax
test eax, eax
je 0x5d3601
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0x6a
jmp 0x5d360b
mov dword [ebp - 0x138], 0
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d362e
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d3630
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x138]
mov dword [edi + 0xc], eax
mov dword [edi], vtable.ZScript::OSetRegister.0
jmp 0x5d364d
xor edi, edi
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0x13
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x14c]
add esp, 8
sub eax, dword [ebp - 0x150]
sar eax, 3
cmp eax, 5
jae 0x5d368c
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x5d3683
or dword [eax + 0x94], 1
or dword [ebx + 0x5c], 1
mov eax, dword [ebx + 0x5c]
jmp 0x5d368f
mov al, byte [ebx + 0x5c]
test al, 1
jne 0x5d36cf
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d36bd
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5d36bf
xor eax, eax
push eax
lea eax, [ebp - 0x150]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x150]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x150]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push 9
mov dword [ebp - 0xe8], 0
lea ecx, [ebp - 0xe8]
push str.CreateNPC
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0xf
mov byte [ebp - 0xe8], 0
call fcn.004ac180
push 2
lea eax, [ebp - 0xe8]
mov dword [ebp - 4], 0x19
push eax
mov ecx, esi
call fcn.005de110
mov edx, dword [ebp - 0xd4]
mov ebx, eax
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x5d3780
mov ecx, dword [ebp - 0xe8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5d3776
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5dcc8a
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 - 0x138], eax
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x184], 0
push 0xc
mov dword [ebp - 4], 0x1a
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x1b
test edi, edi
je 0x5d381e
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d380a
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d380c
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d3820
xor edi, edi
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0x1a
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x188]
add esp, 8
mov ecx, dword [ebp - 0x138]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x5d3852
or dword [ebx + 0x48], 1
jmp 0x5d38b8
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x1c
test edi, edi
je 0x5d38a2
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d388e
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5d3890
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d38a4
xor edi, edi
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0x1a
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x1d
test edi, edi
je 0x5d3909
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d38f5
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d38f7
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OCreateNPCRegister.0
jmp 0x5d390b
xor edi, edi
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0x1a
push edi
push eax
call fcn.004ca4c0
push 0x10
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x1e
test edi, edi
je 0x5d39a3
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x138], eax
test eax, eax
je 0x5d3959
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0x6a
jmp 0x5d3963
mov dword [ebp - 0x138], 0
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d3986
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d3988
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x138]
mov dword [edi + 0xc], eax
mov dword [edi], vtable.ZScript::OSetRegister.0
jmp 0x5d39a5
xor edi, edi
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0x1a
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x188]
add esp, 8
sub eax, dword [ebp - 0x18c]
sar eax, 3
cmp eax, 5
jae 0x5d39e4
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x5d39db
or dword [eax + 0x94], 1
or dword [ebx + 0x5c], 1
mov eax, dword [ebx + 0x5c]
jmp 0x5d39e7
mov al, byte [ebx + 0x5c]
test al, 1
jne 0x5d3a27
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d3a15
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5d3a17
xor eax, eax
push eax
lea eax, [ebp - 0x18c]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x18c]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x18c]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push 0xb
mov dword [ebp - 0xd0], 0
lea ecx, [ebp - 0xd0]
push str.LoadLWeapon
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], 0
call fcn.004ac180
push 2
lea eax, [ebp - 0xd0]
mov dword [ebp - 4], 0x1f
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 0x5d3ad8
mov ecx, dword [ebp - 0xd0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5d3ace
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5dcc8a
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 - 0x138], eax
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0
push 0xc
mov dword [ebp - 4], 0x20
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x21
test edi, edi
je 0x5d3b76
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d3b62
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d3b64
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d3b78
xor edi, edi
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x20
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x158]
add esp, 8
mov ecx, dword [ebp - 0x138]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x5d3baa
or dword [ebx + 0x48], 1
jmp 0x5d3c10
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x22
test edi, edi
je 0x5d3bfa
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d3be6
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5d3be8
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d3bfc
xor edi, edi
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x20
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0x10
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x23
test edi, edi
je 0x5d3c97
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x138], eax
test eax, eax
je 0x5d3c4d
mov dword [eax], vtable.ZScript::LiteralArgument.0
mov dword [eax + 4], 0x2710
jmp 0x5d3c57
mov dword [ebp - 0x138], 0
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d3c7a
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d3c7c
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x138]
mov dword [edi + 0xc], eax
mov dword [edi], vtable.ZScript::OSubImmediate.0
jmp 0x5d3c99
xor edi, edi
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x20
push edi
push eax
call fcn.004ca4c0
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x24
test edi, edi
je 0x5d3cfb
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d3ce7
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d3ce9
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OLoadLWpnRegister.0
jmp 0x5d3cfd
xor edi, edi
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x20
push edi
push eax
call fcn.004ca4c0
push 0x10
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x25
test edi, edi
je 0x5d3d95
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x138], eax
test eax, eax
je 0x5d3d4b
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0x8a
jmp 0x5d3d55
mov dword [ebp - 0x138], 0
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d3d78
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d3d7a
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x138]
mov dword [edi + 0xc], eax
mov dword [edi], vtable.ZScript::OSetRegister.0
jmp 0x5d3d97
xor edi, edi
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x20
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x158]
add esp, 8
sub eax, dword [ebp - 0x15c]
sar eax, 3
cmp eax, 5
jae 0x5d3dd6
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x5d3dcd
or dword [eax + 0x94], 1
or dword [ebx + 0x5c], 1
mov eax, dword [ebx + 0x5c]
jmp 0x5d3dd9
mov al, byte [ebx + 0x5c]
test al, 1
jne 0x5d3e19
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d3e07
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5d3e09
xor eax, eax
push eax
lea eax, [ebp - 0x15c]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x15c]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x15c]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push 0xd
mov dword [ebp - 0xb8], 0
lea ecx, [ebp - 0xb8]
push str.CreateLWeapon
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
call fcn.004ac180
push 2
lea eax, [ebp - 0xb8]
mov dword [ebp - 4], 0x26
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 0x5d3eca
mov ecx, dword [ebp - 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5d3ec0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5dcc8a
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 - 0x138], eax
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x194], 0
mov dword [ebp - 0x190], 0
push 0xc
mov dword [ebp - 4], 0x27
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x28
test edi, edi
je 0x5d3f68
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d3f54
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d3f56
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d3f6a
xor edi, edi
lea eax, [ebp - 0x198]
mov byte [ebp - 4], 0x27
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x194]
add esp, 8
mov ecx, dword [ebp - 0x138]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x5d3f9c
or dword [ebx + 0x48], 1
jmp 0x5d4002
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x29
test edi, edi
je 0x5d3fec
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d3fd8
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5d3fda
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d3fee
xor edi, edi
lea eax, [ebp - 0x198]
mov byte [ebp - 4], 0x27
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x2a
test edi, edi
je 0x5d4053
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d403f
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d4041
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OCreateLWpnRegister.0
jmp 0x5d4055
xor edi, edi
lea eax, [ebp - 0x198]
mov byte [ebp - 4], 0x27
push edi
push eax
call fcn.004ca4c0
push 0x10
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x2b
test edi, edi
je 0x5d40ed
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x138], eax
test eax, eax
je 0x5d40a3
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0x8a
jmp 0x5d40ad
mov dword [ebp - 0x138], 0
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d40d0
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d40d2
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x138]
mov dword [edi + 0xc], eax
mov dword [edi], vtable.ZScript::OSetRegister.0
jmp 0x5d40ef
xor edi, edi
lea eax, [ebp - 0x198]
mov byte [ebp - 4], 0x27
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x194]
add esp, 8
sub eax, dword [ebp - 0x198]
sar eax, 3
cmp eax, 5
jae 0x5d412e
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x5d4125
or dword [eax + 0x94], 1
or dword [ebx + 0x5c], 1
mov eax, dword [ebx + 0x5c]
jmp 0x5d4131
mov al, byte [ebx + 0x5c]
test al, 1
jne 0x5d4171
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d415f
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5d4161
xor eax, eax
push eax
lea eax, [ebp - 0x198]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x198]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x198]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push 0xf
mov dword [ebp - 0xa0], 0
lea ecx, [ebp - 0xa0]
push str.CreateLWeaponDx
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.004ac180
push 3
lea eax, [ebp - 0xa0]
mov dword [ebp - 4], 0x2c
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 0x5d4222
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5d4218
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5dcc8a
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 - 0x138], eax
mov dword [ebp - 0x204], 0
mov dword [ebp - 0x200], 0
mov dword [ebp - 0x1fc], 0
push 0xc
mov dword [ebp - 4], 0x2d
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x2e
test edi, edi
je 0x5d42c0
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d42ac
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 1
jmp 0x5d42ae
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d42c2
xor edi, edi
lea eax, [ebp - 0x204]
mov byte [ebp - 4], 0x2d
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x138]
push 0xc
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x2f
test edi, edi
je 0x5d4336
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d4322
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0
jmp 0x5d4324
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d4338
xor edi, edi
lea eax, [ebp - 0x204]
mov byte [ebp - 4], 0x2d
push edi
push eax
call fcn.004ca4c0
add esp, 8
cmp dword [esi + 8], 5
jne 0x5d4358
or dword [ebx + 0x48], 1
jmp 0x5d43be
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x30
test edi, edi
je 0x5d43a8
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d4394
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5d4396
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d43aa
xor edi, edi
lea eax, [ebp - 0x204]
mov byte [ebp - 4], 0x2d
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0x10
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x31
test edi, edi
je 0x5d4445
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x138], eax
test eax, eax
je 0x5d43fb
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0x1d5
jmp 0x5d4405
mov dword [ebp - 0x138], 0
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d4428
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d442a
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x138]
mov dword [edi + 0xc], eax
mov dword [edi], vtable.ZScript::OSetRegister.0
jmp 0x5d4447
xor edi, edi
lea eax, [ebp - 0x204]
mov byte [ebp - 4], 0x2d
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x200]
add esp, 8
sub eax, dword [ebp - 0x204]
sar eax, 3
cmp eax, 5
jae 0x5d4486
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x5d447d
or dword [eax + 0x94], 1
or dword [ebx + 0x5c], 1
mov eax, dword [ebx + 0x5c]
jmp 0x5d4489
mov al, byte [ebx + 0x5c]
test al, 1
jne 0x5d44c9
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d44b7
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5d44b9
xor eax, eax
push eax
lea eax, [ebp - 0x204]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x204]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x204]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push 0xb
mov dword [ebp - 0x88], 0
lea ecx, [ebp - 0x88]
push str.LoadEWeapon
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
call fcn.004ac180
push 2
lea eax, [ebp - 0x88]
mov dword [ebp - 4], 0x32
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 0x5d4571
mov ecx, dword [ebp - 0x88]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5d4567
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5dcc8a
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 - 0x138], eax
mov dword [ebp - 0x168], 0
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x160], 0
push 0xc
mov dword [ebp - 4], 0x33
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x34
test edi, edi
je 0x5d4609
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d45f5
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d45f7
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d460b
xor edi, edi
lea eax, [ebp - 0x168]
mov byte [ebp - 4], 0x33
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x164]
add esp, 8
mov ecx, dword [ebp - 0x138]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x5d463d
or dword [ebx + 0x48], 1
jmp 0x5d46a3
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x35
test edi, edi
je 0x5d468d
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d4679
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5d467b
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d468f
xor edi, edi
lea eax, [ebp - 0x168]
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 - 0x134], edi
mov byte [ebp - 4], 0x36
test edi, edi
je 0x5d472a
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x138], eax
test eax, eax
je 0x5d46e0
mov dword [eax], vtable.ZScript::LiteralArgument.0
mov dword [eax + 4], 0x2710
jmp 0x5d46ea
mov dword [ebp - 0x138], 0
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d470d
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d470f
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x138]
mov dword [edi + 0xc], eax
mov dword [edi], vtable.ZScript::OSubImmediate.0
jmp 0x5d472c
xor edi, edi
lea eax, [ebp - 0x168]
mov byte [ebp - 4], 0x33
push edi
push eax
call fcn.004ca4c0
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x37
test edi, edi
je 0x5d478e
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d477a
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d477c
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OLoadEWpnRegister.0
jmp 0x5d4790
xor edi, edi
lea eax, [ebp - 0x168]
mov byte [ebp - 4], 0x33
push edi
push eax
call fcn.004ca4c0
push 0x10
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x38
test edi, edi
je 0x5d4828
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x138], eax
test eax, eax
je 0x5d47de
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0xa3
jmp 0x5d47e8
mov dword [ebp - 0x138], 0
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d480b
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d480d
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x138]
mov dword [edi + 0xc], eax
mov dword [edi], vtable.ZScript::OSetRegister.0
jmp 0x5d482a
xor edi, edi
lea eax, [ebp - 0x168]
mov byte [ebp - 4], 0x33
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x164]
add esp, 8
sub eax, dword [ebp - 0x168]
sar eax, 3
cmp eax, 5
jae 0x5d4869
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x5d4860
or dword [eax + 0x94], 1
or dword [ebx + 0x5c], 1
mov eax, dword [ebx + 0x5c]
jmp 0x5d486c
mov al, byte [ebx + 0x5c]
test al, 1
jne 0x5d48ac
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d489a
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5d489c
xor eax, eax
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x168]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x168]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push 0xc
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x58]
push str.LoadNPCByUID
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.004ac180
push 2
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0x39
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 0x5d4945
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5d493b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5dcc8a
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 - 0x138], eax
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0
push 0xc
mov dword [ebp - 4], 0x3a
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x3b
test edi, edi
je 0x5d49da
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d49c6
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d49c8
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d49dc
xor edi, edi
lea eax, [ebp - 0x1a4]
mov byte [ebp - 4], 0x3a
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x1a0]
add esp, 8
mov ecx, dword [ebp - 0x138]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x5d4a0e
or dword [ebx + 0x48], 1
jmp 0x5d4a74
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x3c
test edi, edi
je 0x5d4a5e
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d4a4a
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5d4a4c
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d4a60
xor edi, edi
lea eax, [ebp - 0x1a4]
mov byte [ebp - 4], 0x3a
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x3d
test edi, edi
je 0x5d4ac5
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d4ab1
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d4ab3
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OLoadNPCBySUIDRegister.0
jmp 0x5d4ac7
xor edi, edi
lea eax, [ebp - 0x1a4]
mov byte [ebp - 4], 0x3a
push edi
push eax
call fcn.004ca4c0
push 0x10
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x3e
test edi, edi
je 0x5d4b5f
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x138], eax
test eax, eax
je 0x5d4b15
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0x6a
jmp 0x5d4b1f
mov dword [ebp - 0x138], 0
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d4b42
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d4b44
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x138]
mov dword [edi + 0xc], eax
mov dword [edi], vtable.ZScript::OSetRegister.0
jmp 0x5d4b61
xor edi, edi
lea eax, [ebp - 0x1a4]
mov byte [ebp - 4], 0x3a
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x1a0]
add esp, 8
sub eax, dword [ebp - 0x1a4]
sar eax, 3
cmp eax, 5
jae 0x5d4ba0
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x5d4b97
or dword [eax + 0x94], 1
or dword [ebx + 0x5c], 1
mov eax, dword [ebx + 0x5c]
jmp 0x5d4ba3
mov al, byte [ebx + 0x5c]
test al, 1
jne 0x5d4be3
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d4bd1
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5d4bd3
xor eax, eax
push eax
lea eax, [ebp - 0x1a4]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x1a4]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x1a4]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push 0x10
mov dword [ebp - 0x40], 0
lea ecx, [ebp - 0x40]
push str.LoadLWeaponByUID
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.004ac180
push 2
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 0x3f
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 0x5d4c7c
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5d4c72
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5dcc8a
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 - 0x138], eax
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x1a8], 0
push 0xc
mov dword [ebp - 4], 0x40
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x41
test edi, edi
je 0x5d4d11
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d4cfd
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d4cff
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d4d13
xor edi, edi
lea eax, [ebp - 0x1b0]
mov byte [ebp - 4], 0x40
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x1ac]
add esp, 8
mov ecx, dword [ebp - 0x138]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x5d4d45
or dword [ebx + 0x48], 1
jmp 0x5d4dab
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x42
test edi, edi
je 0x5d4d95
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d4d81
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5d4d83
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d4d97
xor edi, edi
lea eax, [ebp - 0x1b0]
mov byte [ebp - 4], 0x40
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x43
test edi, edi
je 0x5d4dfc
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d4de8
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d4dea
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OLoadLWeaponBySUIDRegister.0
jmp 0x5d4dfe
xor edi, edi
lea eax, [ebp - 0x1b0]
mov byte [ebp - 4], 0x40
push edi
push eax
call fcn.004ca4c0
push 0x10
call fcn.0061db0a
add esp, 0xc
mov dword [ebp - 0x138], eax
mov byte [ebp - 4], 0x44
test eax, eax
je 0x5d4e8f
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
test edi, edi
je 0x5d4e4c
mov dword [edi], vtable.ZScript::VarArgument.0
mov dword [edi + 4], 0x8a
jmp 0x5d4e4e
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d4e7e
mov ecx, dword [ebp - 0x138]
push edi
mov dword [eax], vtable.ZScript::VarArgument.0
push eax
mov dword [eax + 4], 2
call fcn.00528550
jmp 0x5d4e91
mov ecx, dword [ebp - 0x138]
xor eax, eax
push edi
push eax
call fcn.00528550
jmp 0x5d4e91
xor eax, eax
push eax
lea eax, [ebp - 0x1b0]
mov byte [ebp - 4], 0x40
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x1ac]
add esp, 8
sub eax, dword [ebp - 0x1b0]
sar eax, 3
cmp eax, 5
jae 0x5d4ec4
push 1
push 1
mov ecx, ebx
call fcn.005dec70
push 1
mov ecx, ebx
call fcn.005de100
test al, al
jne 0x5d4f0d
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d4efb
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5d4efd
xor eax, eax
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x1b0]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.LoadEWeaponByUID
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 2
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x45
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 - 0x138], eax
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1b4], 0
push 0xc
mov dword [ebp - 4], 0x46
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x47
test edi, edi
je 0x5d4fe2
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d4fce
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d4fd0
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d4fe4
xor edi, edi
lea eax, [ebp - 0x1bc]
mov byte [ebp - 4], 0x46
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x1b8]
add esp, 8
mov ecx, dword [ebp - 0x138]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x5d5016
or dword [ebx + 0x48], 1
jmp 0x5d507c
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x48
test edi, edi
je 0x5d5066
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d5052
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5d5054
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d5068
xor edi, edi
lea eax, [ebp - 0x1bc]
mov byte [ebp - 4], 0x46
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x49
test edi, edi
je 0x5d50cd
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d50b9
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d50bb
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OLoadEWeaponBySUIDRegister.0
jmp 0x5d50cf
xor edi, edi
lea eax, [ebp - 0x1bc]
mov byte [ebp - 4], 0x46
push edi
push eax
call fcn.004ca4c0
push 0x10
call fcn.0061db0a
add esp, 0xc
mov dword [ebp - 0x138], eax
mov byte [ebp - 4], 0x4a
test eax, eax
je 0x5d5160
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
test edi, edi
je 0x5d511d
mov dword [edi], vtable.ZScript::VarArgument.0
mov dword [edi + 4], 0xa3
jmp 0x5d511f
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d514f
mov ecx, dword [ebp - 0x138]
push edi
mov dword [eax], vtable.ZScript::VarArgument.0
push eax
mov dword [eax + 4], 2
call fcn.00528550
jmp 0x5d5162
mov ecx, dword [ebp - 0x138]
xor eax, eax
push edi
push eax
call fcn.00528550
jmp 0x5d5162
xor eax, eax
push eax
lea eax, [ebp - 0x1bc]
mov byte [ebp - 4], 0x46
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x1b8]
add esp, 8
sub eax, dword [ebp - 0x1bc]
sar eax, 3
cmp eax, 5
jae 0x5d5195
push 1
push 1
mov ecx, ebx
call fcn.005dec70
push 1
mov ecx, ebx
call fcn.005de100
test al, al
jne 0x5d51de
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d51cc
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5d51ce
xor eax, eax
push eax
lea eax, [ebp - 0x1bc]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x1bc]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x1bc]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.CreateEWeapon
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 2
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x4b
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 - 0x138], eax
mov dword [ebp - 0x1c8], 0
mov dword [ebp - 0x1c4], 0
mov dword [ebp - 0x1c0], 0
push 0xc
mov dword [ebp - 4], 0x4c
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x4d
test edi, edi
je 0x5d52b3
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d529f
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d52a1
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d52b5
xor edi, edi
lea eax, [ebp - 0x1c8]
mov byte [ebp - 4], 0x4c
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x1c4]
add esp, 8
mov ecx, dword [ebp - 0x138]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x5d52e7
or dword [ebx + 0x48], 1
jmp 0x5d534d
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x4e
test edi, edi
je 0x5d5337
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d5323
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5d5325
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d5339
xor edi, edi
lea eax, [ebp - 0x1c8]
mov byte [ebp - 4], 0x4c
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x4f
test edi, edi
je 0x5d539e
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d538a
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d538c
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OCreateEWpnRegister.0
jmp 0x5d53a0
xor edi, edi
lea eax, [ebp - 0x1c8]
mov byte [ebp - 4], 0x4c
push edi
push eax
call fcn.004ca4c0
push 0x10
call fcn.0061db0a
add esp, 0xc
mov dword [ebp - 0x138], eax
mov byte [ebp - 4], 0x50
test eax, eax
je 0x5d5431
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
test edi, edi
je 0x5d53ee
mov dword [edi], vtable.ZScript::VarArgument.0
mov dword [edi + 4], 0xa3
jmp 0x5d53f0
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d5420
mov ecx, dword [ebp - 0x138]
push edi
mov dword [eax], vtable.ZScript::VarArgument.0
push eax
mov dword [eax + 4], 2
call fcn.00528550
jmp 0x5d5433
mov ecx, dword [ebp - 0x138]
xor eax, eax
push edi
push eax
call fcn.00528550
jmp 0x5d5433
xor eax, eax
push eax
lea eax, [ebp - 0x1c8]
mov byte [ebp - 4], 0x4c
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x1c4]
add esp, 8
sub eax, dword [ebp - 0x1c8]
sar eax, 3
cmp eax, 5
jae 0x5d5466
push 1
push 1
mov ecx, ebx
call fcn.005dec70
push 1
mov ecx, ebx
call fcn.005de100
test al, al
jne 0x5d54af
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d549d
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5d549f
xor eax, eax
push eax
lea eax, [ebp - 0x1c8]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x1c8]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x1c8]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.ClearSprites
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 2
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x51
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 - 0x138], eax
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 0
mov dword [ebp - 0x1cc], 0
push 0xc
mov dword [ebp - 4], 0x52
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x53
test edi, edi
je 0x5d5584
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d5570
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d5572
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d5586
xor edi, edi
lea eax, [ebp - 0x1d4]
mov byte [ebp - 4], 0x52
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x1d0]
add esp, 8
mov ecx, dword [ebp - 0x138]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x5d55b8
or dword [ebx + 0x48], 1
jmp 0x5d561e
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x54
test edi, edi
je 0x5d5608
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d55f4
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5d55f6
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d560a
xor edi, edi
lea eax, [ebp - 0x1d4]
mov byte [ebp - 4], 0x52
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x55
test edi, edi
je 0x5d566f
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d565b
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x5d565d
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OClearSpritesRegister.0
jmp 0x5d5671
xor edi, edi
lea eax, [ebp - 0x1d4]
mov byte [ebp - 4], 0x52
push edi
push eax
call fcn.004ca4c0
push 0x10
call fcn.0061db0a
add esp, 0xc
mov dword [ebp - 0x138], eax
mov byte [ebp - 4], 0x56
test eax, eax
je 0x5d5702
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
test edi, edi
je 0x5d56bf
mov dword [edi], vtable.ZScript::VarArgument.0
mov dword [edi + 4], 0x6a
jmp 0x5d56c1
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d56f1
mov ecx, dword [ebp - 0x138]
push edi
mov dword [eax], vtable.ZScript::VarArgument.0
push eax
mov dword [eax + 4], 2
call fcn.00528550
jmp 0x5d5704
mov ecx, dword [ebp - 0x138]
xor eax, eax
push edi
push eax
call fcn.00528550
jmp 0x5d5704
xor eax, eax
push eax
lea eax, [ebp - 0x1d4]
mov byte [ebp - 4], 0x52
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x1d0]
add esp, 8
sub eax, dword [ebp - 0x1d4]
sar eax, 3
cmp eax, 5
jae 0x5d5737
push 1
push 1
mov ecx, ebx
call fcn.005dec70
push 1
mov ecx, ebx
call fcn.005de100
test al, al
jne 0x5d5780
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d576e
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5d5770
xor eax, eax
push eax
lea eax, [ebp - 0x1d4]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x1d4]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x1d4]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.Rectangle
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 0xd
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x57
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 edi, eax
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x214], 0
push 8
mov dword [ebp - 4], 0x58
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d582a
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::ORectangleRegister.0
jmp 0x5d582c
xor eax, eax
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x218]
push 0x10
mov eax, dword [eax - 8]
mov dword [eax + 4], edi
call fcn.0061db0a
add esp, 0xc
mov dword [ebp - 0x138], eax
mov byte [ebp - 4], 0x59
test eax, eax
je 0x5d58c5
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
test edi, edi
je 0x5d5882
mov dword [edi], vtable.ZScript::LiteralArgument.0
mov dword [edi + 4], 0xc
jmp 0x5d5884
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d58b4
mov ecx, dword [ebp - 0x138]
push edi
mov dword [eax], vtable.ZScript::VarArgument.0
push eax
mov dword [eax + 4], 5
call fcn.00528230
jmp 0x5d58c7
mov ecx, dword [ebp - 0x138]
xor eax, eax
push edi
push eax
call fcn.00528230
jmp 0x5d58c7
xor eax, eax
push eax
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 0x58
push eax
call fcn.004ca4c0
add esp, 8
cmp dword [esi + 8], 5
jne 0x5d58e7
or dword [ebx + 0x48], 1
jmp 0x5d594d
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x5a
test edi, edi
je 0x5d5937
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d5923
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5d5925
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d5939
xor edi, edi
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 0x58
push edi
push eax
call fcn.004ca4c0
add esp, 8
mov eax, dword [ebp - 0x218]
sub eax, dword [ebp - 0x21c]
sar eax, 3
cmp eax, 5
jae 0x5d596c
push 1
push 1
mov ecx, ebx
call fcn.005dec70
push 1
mov ecx, ebx
call fcn.005de100
test al, al
jne 0x5d59b5
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d59a3
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5d59a5
xor eax, eax
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x21c]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x21c]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.DrawFrame
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 0xa
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x5b
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 edi, eax
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 0
push 8
mov dword [ebp - 4], 0x5c
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d5a5f
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OFrameRegister.0
jmp 0x5d5a61
xor eax, eax
push eax
lea eax, [ebp - 0x228]
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x224]
push 0x10
mov eax, dword [eax - 8]
mov dword [eax + 4], edi
call fcn.0061db0a
add esp, 0xc
mov dword [ebp - 0x138], eax
mov byte [ebp - 4], 0x5d
test eax, eax
je 0x5d5afa
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
test edi, edi
je 0x5d5ab7
mov dword [edi], vtable.ZScript::LiteralArgument.0
mov dword [edi + 4], 9
jmp 0x5d5ab9
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d5ae9
mov ecx, dword [ebp - 0x138]
push edi
mov dword [eax], vtable.ZScript::VarArgument.0
push eax
mov dword [eax + 4], 5
call fcn.00528230
jmp 0x5d5afc
mov ecx, dword [ebp - 0x138]
xor eax, eax
push edi
push eax
call fcn.00528230
jmp 0x5d5afc
xor eax, eax
push eax
lea eax, [ebp - 0x228]
mov byte [ebp - 4], 0x5c
push eax
call fcn.004ca4c0
add esp, 8
cmp dword [esi + 8], 5
jne 0x5d5b1c
or dword [ebx + 0x48], 1
jmp 0x5d5b82
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x5e
test edi, edi
je 0x5d5b6c
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d5b58
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x5d5b5a
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x5d5b6e
xor edi, edi
lea eax, [ebp - 0x228]
mov byte [ebp - 4], 0x5c
push edi
push eax
call fcn.004ca4c0
add esp, 8
mov eax, dword [ebp - 0x224]
sub eax, dword [ebp - 0x228]
sar eax, 3
cmp eax, 5
jae 0x5d5ba1
push 1
push 1
mov ecx, ebx
call fcn.005dec70
push 1
mov ecx, ebx
call fcn.005de100
test al, al
jne 0x5d5bea
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d5bd8
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x5d5bda
xor eax, eax
push eax
lea eax, [ebp - 0x228]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x228]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x228]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.Circle
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 0xc
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x5f
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 edi, eax
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 0
push 8
mov dword [ebp - 4], 0x60
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d5c94
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OCircleRegister.0
jmp 0x5d5c96
xor eax, eax
push eax
lea eax, [ebp - 0x234]
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x230]
push 0x10
mov eax, dword [eax - 8]
mov dword [eax + 4], edi
call fcn.0061db0a
add esp, 0xc
mov dword [ebp - 0x138], eax
mov byte [ebp - 4], 0x61
test eax, eax
je 0x5d5d2f
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
test edi, edi
je 0x5d5cec
mov dword [edi], vtable.ZScript::LiteralArgument.0
mov dword [edi + 4], 0xb
jmp 0x5d5cee
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d5d1e
mov ecx, dword [ebp - 0x138]
push edi
mov dword [eax], vtable.ZScript::VarArgument.0
push eax
mov dword [eax + 4], 5
call fcn.00528230
jmp 0x5d5d31
mov ecx, dword [ebp - 0x138]
xor eax, eax
push edi
push eax
call fcn.00528230
jmp 0x5d5d31
xor eax, eax
push eax
lea eax, [ebp - 0x234]
mov byte [ebp - 4], 0x60
push eax
call fcn.004ca4c0
add esp, 8
cmp dword [esi + 8], 5
jne 0x5d5d51
or dword [ebx + 0x48], 1
jmp 0x5d5db7
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x62
test edi, edi
je 0x5d5da1
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x134], eax
test eax, eax
je 0x5d5d8d
xor edi, edi
lea eax, [ebp - 0x234]
mov byte [ebp - 4], 0x60
push edi
push eax
call fcn.004ca4c0
add esp, 8
mov eax, dword [ebp - 0x230]
sub eax, dword [ebp - 0x234]
sar eax, 3
cmp eax, 5
jae 0x5d5dd6
call fcn.00622e92
int3