Function at 0x58b6e0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x66e852
mov eax, dword fs:[0]
push eax
sub esp, 0x6ec
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 0xc
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x58]
push str.LoadItemData
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], 0
push eax
mov ecx, esi
call fcn.005de110
mov ebx, eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x80], ebx
call fcn.004ab5f0
mov ecx, ebx
call fcn.006016c0
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1d4], 0
push 0xc
mov dword [ebp - 4], 1
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 2
test edi, edi
je 0x58b7da
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58b7c6
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58b7c8
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58b7dc
xor edi, edi
lea eax, [ebp - 0x1dc]
mov byte [ebp - 4], 1
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x1d8]
add esp, 8
mov ecx, dword [ebp - 0x78]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x58b80b
or dword [ebx + 0x48], 1
jmp 0x58b86b
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 3
test edi, edi
je 0x58b855
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58b841
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x58b843
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58b857
xor edi, edi
lea eax, [ebp - 0x1dc]
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 - 0x7c], edi
mov byte [ebp - 4], 4
test edi, edi
je 0x58b8b6
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58b8a2
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58b8a4
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OLoadItemDataRegister.0
jmp 0x58b8b8
xor edi, edi
lea eax, [ebp - 0x1dc]
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 - 0x7c], edi
mov byte [ebp - 4], 5
test edi, edi
je 0x58b93e
push 8
call fcn.0061db0a
mov ebx, eax
add esp, 4
mov dword [ebp - 0x78], ebx
test ebx, ebx
je 0x58b902
mov dword [ebx], vtable.ZScript::VarArgument.0
mov dword [ebx + 4], 0x41
jmp 0x58b904
xor ebx, ebx
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58b924
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58b926
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi + 0xc], ebx
mov ebx, dword [ebp - 0x80]
mov dword [edi], vtable.ZScript::OSetRegister.0
jmp 0x58b940
xor edi, edi
lea eax, [ebp - 0x1dc]
mov byte [ebp - 4], 1
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x1d8]
add esp, 8
sub eax, dword [ebp - 0x1dc]
sar eax, 3
cmp eax, 5
jae 0x58b973
push 1
push 1
mov ecx, ebx
call fcn.005dec70
test byte [ebx + 0x5c], 1
jne 0x58b9b2
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58b9a0
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x58b9a2
xor eax, eax
push eax
lea eax, [ebp - 0x1dc]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x1dc]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x1dc]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push 0xb
mov dword [ebp - 0x70], 0
lea ecx, [ebp - 0x70]
push str.LoadNPCData
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], 6
push eax
mov ecx, esi
call fcn.005de110
mov ebx, eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x80], ebx
call fcn.004ab5f0
mov ecx, ebx
call fcn.006016c0
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x228], 0
push 0xc
mov dword [ebp - 4], 7
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 8
test edi, edi
je 0x58ba9c
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58ba88
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58ba8a
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58ba9e
xor edi, edi
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 7
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x22c]
add esp, 8
mov ecx, dword [ebp - 0x78]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x58bacd
or dword [ebx + 0x48], 1
jmp 0x58bb2d
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 9
test edi, edi
je 0x58bb17
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58bb03
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x58bb05
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58bb19
xor edi, edi
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 7
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0xa
test edi, edi
je 0x58bb78
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58bb64
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58bb66
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OLoadNPCDataRegister.0
jmp 0x58bb7a
xor edi, edi
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 7
push edi
push eax
call fcn.004ca4c0
push 0x10
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0xb
test edi, edi
je 0x58bc00
push 8
call fcn.0061db0a
mov ebx, eax
add esp, 4
mov dword [ebp - 0x78], ebx
test ebx, ebx
je 0x58bbc4
mov dword [ebx], vtable.ZScript::VarArgument.0
mov dword [ebx + 4], 0x23f
jmp 0x58bbc6
xor ebx, ebx
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58bbe6
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58bbe8
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi + 0xc], ebx
mov ebx, dword [ebp - 0x80]
mov dword [edi], vtable.ZScript::OSetRegister.0
jmp 0x58bc02
xor edi, edi
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 7
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x22c]
add esp, 8
sub eax, dword [ebp - 0x230]
sar eax, 3
cmp eax, 5
jae 0x58bc35
push 1
push 1
mov ecx, ebx
call fcn.005dec70
test byte [ebx + 0x5c], 1
jne 0x58bc74
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58bc62
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x58bc64
xor eax, eax
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x230]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x230]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push 0xc
mov dword [ebp - 0x40], 0
lea ecx, [ebp - 0x40]
push str.LoadDMapData
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], 0xc
push eax
mov ecx, esi
call fcn.005de110
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 0xffffffff
mov ebx, eax
call fcn.004ab5f0
mov ecx, ebx
call fcn.006016c0
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0
push 0xc
mov dword [ebp - 4], 0xd
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0xe
test edi, edi
je 0x58bd5b
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58bd47
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58bd49
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58bd5d
xor edi, edi
lea eax, [ebp - 0x23c]
mov byte [ebp - 4], 0xd
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x238]
add esp, 8
mov ecx, dword [ebp - 0x78]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x58bd8c
or dword [ebx + 0x48], 1
jmp 0x58bdec
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0xf
test edi, edi
je 0x58bdd6
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58bdc2
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x58bdc4
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58bdd8
xor edi, edi
lea eax, [ebp - 0x23c]
mov byte [ebp - 4], 0xd
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x10
test edi, edi
je 0x58be37
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58be23
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58be25
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OLoadDMapDataRegister.0
jmp 0x58be39
xor edi, edi
lea eax, [ebp - 0x23c]
mov byte [ebp - 4], 0xd
push edi
push eax
call fcn.004ca4c0
push 0x10
call fcn.0061db0a
add esp, 0xc
mov dword [ebp - 0x78], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x58bebb
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
test edi, edi
je 0x58be81
mov dword [edi], vtable.ZScript::VarArgument.0
mov dword [edi + 4], 0x338
jmp 0x58be83
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58bead
mov ecx, dword [ebp - 0x78]
push edi
mov dword [eax], vtable.ZScript::VarArgument.0
push eax
mov dword [eax + 4], 2
call fcn.00528550
jmp 0x58bebd
mov ecx, dword [ebp - 0x78]
xor eax, eax
push edi
push eax
call fcn.00528550
jmp 0x58bebd
xor eax, eax
push eax
lea eax, [ebp - 0x23c]
mov byte [ebp - 4], 0xd
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x238]
add esp, 8
sub eax, dword [ebp - 0x23c]
sar eax, 3
cmp eax, 5
jae 0x58bef0
push 1
push 1
mov ecx, ebx
call fcn.005dec70
push 1
mov ecx, ebx
call fcn.005de100
test al, al
jne 0x58bf36
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58bf24
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x58bf26
xor eax, eax
push eax
lea eax, [ebp - 0x23c]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x23c]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x23c]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.LoadDropset
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 2
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x12
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 - 0x78], eax
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x240], 0
push 0xc
mov dword [ebp - 4], 0x13
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x14
test edi, edi
je 0x58c002
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58bfee
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58bff0
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58c004
xor edi, edi
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0x13
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x244]
add esp, 8
mov ecx, dword [ebp - 0x78]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x58c033
or dword [ebx + 0x48], 1
jmp 0x58c093
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x15
test edi, edi
je 0x58c07d
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58c069
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x58c06b
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58c07f
xor edi, edi
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0x13
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x16
test edi, edi
je 0x58c0de
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58c0ca
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58c0cc
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OLoadDropsetRegister.0
jmp 0x58c0e0
xor edi, edi
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0x13
push edi
push eax
call fcn.004ca4c0
push 0x10
call fcn.0061db0a
add esp, 0xc
mov dword [ebp - 0x78], eax
mov byte [ebp - 4], 0x17
test eax, eax
je 0x58c162
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
test edi, edi
je 0x58c128
mov dword [edi], vtable.ZScript::VarArgument.0
mov dword [edi + 4], 0x3c5
jmp 0x58c12a
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58c154
mov ecx, dword [ebp - 0x78]
push edi
mov dword [eax], vtable.ZScript::VarArgument.0
push eax
mov dword [eax + 4], 2
call fcn.00528550
jmp 0x58c164
mov ecx, dword [ebp - 0x78]
xor eax, eax
push edi
push eax
call fcn.00528550
jmp 0x58c164
xor eax, eax
push eax
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0x13
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x244]
add esp, 8
sub eax, dword [ebp - 0x248]
sar eax, 3
cmp eax, 5
jae 0x58c197
push 1
push 1
mov ecx, ebx
call fcn.005dec70
push 1
mov ecx, ebx
call fcn.005de100
test al, al
jne 0x58c1dd
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58c1cb
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x58c1cd
xor eax, eax
push eax
lea eax, [ebp - 0x248]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x248]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x248]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.LoadRNG
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 1
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x18
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 - 0x50c], 0
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x508], 0
mov dword [ebp - 0x504], 0
cmp dword [esi + 8], 5
mov dword [ebp - 4], 0x19
jne 0x58c26c
or dword [ebx + 0x48], 1
jmp 0x58c2cf
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x1a
test edi, edi
je 0x58c2b6
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58c2a2
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x58c2a4
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58c2b8
xor edi, edi
lea eax, [ebp - 0x50c]
mov byte [ebp - 4], 0x19
push edi
push eax
call fcn.004ca4c0
mov edi, dword [ebp - 0x78]
add esp, 8
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58c2ef
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OLoadRNG.0
jmp 0x58c2f1
xor eax, eax
push eax
lea eax, [ebp - 0x50c]
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x508]
add esp, 8
mov eax, dword [eax - 8]
mov dword [eax + 4], edi
mov eax, dword [ebp - 0x508]
sub eax, dword [ebp - 0x50c]
sar eax, 3
cmp eax, 5
jae 0x58c32c
push 1
push 1
mov ecx, ebx
call fcn.005dec70
push 1
mov ecx, ebx
call fcn.005de100
test al, al
jne 0x58c372
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58c360
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x58c362
xor eax, eax
push eax
lea eax, [ebp - 0x50c]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x50c]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x50c]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.LoadBottleData
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 2
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x1b
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 - 0x78], eax
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0
push 0xc
mov dword [ebp - 4], 0x1c
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x1d
test edi, edi
je 0x58c43e
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58c42a
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58c42c
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58c440
xor edi, edi
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0x1c
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0xc4]
add esp, 8
mov ecx, dword [ebp - 0x78]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x58c46f
or dword [ebx + 0x48], 1
jmp 0x58c4cf
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x1e
test edi, edi
je 0x58c4b9
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58c4a5
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x58c4a7
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58c4bb
xor edi, edi
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0x1c
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x1f
test edi, edi
je 0x58c51a
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58c506
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58c508
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OLoadBottleTypeRegister.0
jmp 0x58c51c
xor edi, edi
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0x1c
push edi
push eax
call fcn.004ca4c0
push 0x10
call fcn.0061db0a
add esp, 0xc
mov dword [ebp - 0x78], eax
mov byte [ebp - 4], 0x20
test eax, eax
je 0x58c59e
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
test edi, edi
je 0x58c564
mov dword [edi], vtable.ZScript::VarArgument.0
mov dword [edi + 4], 0x4c9
jmp 0x58c566
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58c590
mov ecx, dword [ebp - 0x78]
push edi
mov dword [eax], vtable.ZScript::VarArgument.0
push eax
mov dword [eax + 4], 2
call fcn.00528550
jmp 0x58c5a0
mov ecx, dword [ebp - 0x78]
xor eax, eax
push edi
push eax
call fcn.00528550
jmp 0x58c5a0
xor eax, eax
push eax
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0x1c
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0xc4]
add esp, 8
sub eax, dword [ebp - 0xc8]
sar eax, 3
cmp eax, 5
jae 0x58c5d3
push 1
push 1
mov ecx, ebx
call fcn.005dec70
push 1
mov ecx, ebx
call fcn.005de100
test al, al
jne 0x58c619
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58c607
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x58c609
xor eax, eax
push eax
lea eax, [ebp - 0xc8]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0xc8]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0xc8]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.LoadBottleShopData
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 2
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x21
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 - 0x78], eax
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
push 0xc
mov dword [ebp - 4], 0x22
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x23
test edi, edi
je 0x58c6e5
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58c6d1
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58c6d3
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58c6e7
xor edi, edi
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 0x22
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0xd0]
add esp, 8
mov ecx, dword [ebp - 0x78]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x58c716
or dword [ebx + 0x48], 1
jmp 0x58c776
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x24
test edi, edi
je 0x58c760
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58c74c
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x58c74e
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58c762
xor edi, edi
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 0x22
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x25
test edi, edi
je 0x58c7c1
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58c7ad
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58c7af
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OLoadBShopRegister.0
jmp 0x58c7c3
xor edi, edi
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 0x22
push edi
push eax
call fcn.004ca4c0
push 0x10
call fcn.0061db0a
add esp, 0xc
mov dword [ebp - 0x78], eax
mov byte [ebp - 4], 0x26
test eax, eax
je 0x58c845
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
test edi, edi
je 0x58c80b
mov dword [edi], vtable.ZScript::VarArgument.0
mov dword [edi + 4], 0x4ca
jmp 0x58c80d
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58c837
mov ecx, dword [ebp - 0x78]
push edi
mov dword [eax], vtable.ZScript::VarArgument.0
push eax
mov dword [eax + 4], 2
call fcn.00528550
jmp 0x58c847
mov ecx, dword [ebp - 0x78]
xor eax, eax
push edi
push eax
call fcn.00528550
jmp 0x58c847
xor eax, eax
push eax
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 0x22
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0xd0]
add esp, 8
sub eax, dword [ebp - 0xd4]
sar eax, 3
cmp eax, 5
jae 0x58c87a
push 1
push 1
mov ecx, ebx
call fcn.005dec70
push 1
mov ecx, ebx
call fcn.005de100
test al, al
jne 0x58c8c0
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58c8ae
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x58c8b0
xor eax, eax
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0xd4]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0xd4]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.LoadGenericData
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 2
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x27
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 - 0x78], eax
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0
push 0xc
mov dword [ebp - 4], 0x28
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x29
test edi, edi
je 0x58c98c
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58c978
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58c97a
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58c98e
xor edi, edi
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 0x28
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0xdc]
add esp, 8
mov ecx, dword [ebp - 0x78]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x58c9bd
or dword [ebx + 0x48], 1
jmp 0x58ca1d
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x2a
test edi, edi
je 0x58ca07
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58c9f3
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x58c9f5
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58ca09
xor edi, edi
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 0x28
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x2b
test edi, edi
je 0x58ca68
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58ca54
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58ca56
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OLoadGenericDataR.0
jmp 0x58ca6a
xor edi, edi
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 0x28
push edi
push eax
call fcn.004ca4c0
push 0x10
call fcn.0061db0a
add esp, 0xc
mov dword [ebp - 0x78], eax
mov byte [ebp - 4], 0x2c
test eax, eax
je 0x58caec
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
test edi, edi
je 0x58cab2
mov dword [edi], vtable.ZScript::VarArgument.0
mov dword [edi + 4], 0x4ed
jmp 0x58cab4
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58cade
mov ecx, dword [ebp - 0x78]
push edi
mov dword [eax], vtable.ZScript::VarArgument.0
push eax
mov dword [eax + 4], 2
call fcn.00528550
jmp 0x58caee
mov ecx, dword [ebp - 0x78]
xor eax, eax
push edi
push eax
call fcn.00528550
jmp 0x58caee
xor eax, eax
push eax
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 0x28
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0xdc]
add esp, 8
sub eax, dword [ebp - 0xe0]
sar eax, 3
cmp eax, 5
jae 0x58cb21
push 1
push 1
mov ecx, ebx
call fcn.005dec70
push 1
mov ecx, ebx
call fcn.005de100
test al, al
jne 0x58cb67
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58cb55
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x58cb57
xor eax, eax
push eax
lea eax, [ebp - 0xe0]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0xe0]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.LoadMessageData
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 2
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x2d
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 - 0x78], eax
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe4], 0
push 0xc
mov dword [ebp - 4], 0x2e
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x2f
test edi, edi
je 0x58cc33
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58cc1f
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58cc21
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58cc35
xor edi, edi
lea eax, [ebp - 0xec]
mov byte [ebp - 4], 0x2e
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0xe8]
add esp, 8
mov ecx, dword [ebp - 0x78]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x58cc64
or dword [ebx + 0x48], 1
jmp 0x58ccc4
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x30
test edi, edi
je 0x58ccae
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58cc9a
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x58cc9c
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58ccb0
xor edi, edi
lea eax, [ebp - 0xec]
mov byte [ebp - 4], 0x2e
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x31
test edi, edi
je 0x58cd0f
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58ccfb
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58ccfd
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OLoadMessageDataRegister.0
jmp 0x58cd11
xor edi, edi
lea eax, [ebp - 0xec]
mov byte [ebp - 4], 0x2e
push edi
push eax
call fcn.004ca4c0
push 0x10
call fcn.0061db0a
add esp, 0xc
mov dword [ebp - 0x78], eax
mov byte [ebp - 4], 0x32
test eax, eax
je 0x58cd93
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
test edi, edi
je 0x58cd59
mov dword [edi], vtable.ZScript::VarArgument.0
mov dword [edi + 4], 0x33a
jmp 0x58cd5b
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58cd85
mov ecx, dword [ebp - 0x78]
push edi
mov dword [eax], vtable.ZScript::VarArgument.0
push eax
mov dword [eax + 4], 2
call fcn.00528550
jmp 0x58cd95
mov ecx, dword [ebp - 0x78]
xor eax, eax
push edi
push eax
call fcn.00528550
jmp 0x58cd95
xor eax, eax
push eax
lea eax, [ebp - 0xec]
mov byte [ebp - 4], 0x2e
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0xe8]
add esp, 8
sub eax, dword [ebp - 0xec]
sar eax, 3
cmp eax, 5
jae 0x58cdc8
push 1
push 1
mov ecx, ebx
call fcn.005dec70
push 1
mov ecx, ebx
call fcn.005de100
test al, al
jne 0x58ce0e
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58cdfc
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x58cdfe
xor eax, eax
push eax
lea eax, [ebp - 0xec]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0xec]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0xec]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.LoadComboData
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 2
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x33
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 - 0x78], eax
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf0], 0
push 0xc
mov dword [ebp - 4], 0x34
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x35
test edi, edi
je 0x58ceda
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58cec6
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58cec8
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58cedc
xor edi, edi
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x34
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0xf4]
add esp, 8
mov ecx, dword [ebp - 0x78]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x58cf0b
or dword [ebx + 0x48], 1
jmp 0x58cf6b
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x36
test edi, edi
je 0x58cf55
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58cf41
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x58cf43
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58cf57
xor edi, edi
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x34
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x37
test edi, edi
je 0x58cfb6
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58cfa2
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58cfa4
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OLoadComboDataRegister.0
jmp 0x58cfb8
xor edi, edi
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x34
push edi
push eax
call fcn.004ca4c0
push 0x10
call fcn.0061db0a
add esp, 0xc
mov dword [ebp - 0x78], eax
mov byte [ebp - 4], 0x38
test eax, eax
je 0x58d03a
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
test edi, edi
je 0x58d000
mov dword [edi], vtable.ZScript::VarArgument.0
mov dword [edi + 4], 0x23c
jmp 0x58d002
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58d02c
mov ecx, dword [ebp - 0x78]
push edi
mov dword [eax], vtable.ZScript::VarArgument.0
push eax
mov dword [eax + 4], 2
call fcn.00528550
jmp 0x58d03c
mov ecx, dword [ebp - 0x78]
xor eax, eax
push edi
push eax
call fcn.00528550
jmp 0x58d03c
xor eax, eax
push eax
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x34
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0xf4]
add esp, 8
sub eax, dword [ebp - 0xf8]
sar eax, 3
cmp eax, 5
jae 0x58d06f
push 1
push 1
mov ecx, ebx
call fcn.005dec70
push 1
mov ecx, ebx
call fcn.005de100
test al, al
jne 0x58d0b5
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58d0a3
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x58d0a5
xor eax, eax
push eax
lea eax, [ebp - 0xf8]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0xf8]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0xf8]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.LoadMapData
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 3
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x39
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 - 0x78], eax
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xfc], 0
push 0xc
mov dword [ebp - 4], 0x3a
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x3b
test edi, edi
je 0x58d181
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58d16d
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 1
jmp 0x58d16f
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58d183
xor edi, edi
lea eax, [ebp - 0x104]
mov byte [ebp - 4], 0x3a
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x78]
push 0xc
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x3c
test edi, edi
je 0x58d1ee
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58d1da
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0
jmp 0x58d1dc
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58d1f0
xor edi, edi
lea eax, [ebp - 0x104]
mov byte [ebp - 4], 0x3a
push edi
push eax
call fcn.004ca4c0
add esp, 8
cmp dword [esi + 8], 5
jne 0x58d210
or dword [ebx + 0x48], 1
jmp 0x58d270
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x3d
test edi, edi
je 0x58d25a
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58d246
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x58d248
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58d25c
xor edi, edi
lea eax, [ebp - 0x104]
mov byte [ebp - 4], 0x3a
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0x10
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x78], eax
mov byte [ebp - 4], 0x3e
test eax, eax
je 0x58d2e1
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
test edi, edi
je 0x58d2a7
mov dword [edi], vtable.ZScript::VarArgument.0
mov dword [edi + 4], 0x337
jmp 0x58d2a9
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58d2d3
mov ecx, dword [ebp - 0x78]
push edi
mov dword [eax], vtable.ZScript::VarArgument.0
push eax
mov dword [eax + 4], 2
call fcn.00528550
jmp 0x58d2e3
mov ecx, dword [ebp - 0x78]
xor eax, eax
push edi
push eax
call fcn.00528550
jmp 0x58d2e3
xor eax, eax
push eax
lea eax, [ebp - 0x104]
mov byte [ebp - 4], 0x3a
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x100]
add esp, 8
sub eax, dword [ebp - 0x104]
sar eax, 3
cmp eax, 5
jae 0x58d316
push 1
push 1
mov ecx, ebx
call fcn.005dec70
push 1
mov ecx, ebx
call fcn.005de100
test al, al
jne 0x58d35c
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58d34a
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x58d34c
xor eax, eax
push eax
lea eax, [ebp - 0x104]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x104]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x104]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.LoadTempScreen
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 2
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 - 0x78], eax
mov dword [ebp - 0x3ec], 0
mov dword [ebp - 0x3e8], 0
mov dword [ebp - 0x3e4], 0
push 0xc
mov dword [ebp - 4], 0x40
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x41
test edi, edi
je 0x58d428
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58d414
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58d416
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58d42a
xor edi, edi
lea eax, [ebp - 0x3ec]
mov byte [ebp - 4], 0x40
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x3e8]
add esp, 8
mov ecx, dword [ebp - 0x78]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x58d459
or dword [ebx + 0x48], 1
jmp 0x58d4b9
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x42
test edi, edi
je 0x58d4a3
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58d48f
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x58d491
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58d4a5
xor edi, edi
lea eax, [ebp - 0x3ec]
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 - 0x7c], edi
mov byte [ebp - 4], 0x43
test edi, edi
je 0x58d504
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58d4f0
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58d4f2
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OLoadTmpScr.0
jmp 0x58d506
xor edi, edi
lea eax, [ebp - 0x3ec]
mov byte [ebp - 4], 0x40
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x3e8]
add esp, 8
sub eax, dword [ebp - 0x3ec]
sar eax, 3
cmp eax, 5
jae 0x58d539
push 1
push 1
mov ecx, ebx
call fcn.005dec70
push 1
mov ecx, ebx
call fcn.005de100
test al, al
jne 0x58d57f
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58d56d
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x58d56f
xor eax, eax
push eax
lea eax, [ebp - 0x3ec]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x3ec]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x3ec]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.LoadScrollingScreen
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 2
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x44
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 - 0x78], eax
mov dword [ebp - 0x3f8], 0
mov dword [ebp - 0x3f4], 0
mov dword [ebp - 0x3f0], 0
push 0xc
mov dword [ebp - 4], 0x45
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x46
test edi, edi
je 0x58d64b
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58d637
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58d639
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58d64d
xor edi, edi
lea eax, [ebp - 0x3f8]
mov byte [ebp - 4], 0x45
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x3f4]
add esp, 8
mov ecx, dword [ebp - 0x78]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x58d67c
or dword [ebx + 0x48], 1
jmp 0x58d6dc
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x47
test edi, edi
je 0x58d6c6
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58d6b2
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x58d6b4
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58d6c8
xor edi, edi
lea eax, [ebp - 0x3f8]
mov byte [ebp - 4], 0x45
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x48
test edi, edi
je 0x58d727
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58d713
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58d715
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OLoadScrollScr.0
jmp 0x58d729
xor edi, edi
lea eax, [ebp - 0x3f8]
mov byte [ebp - 4], 0x45
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x3f4]
add esp, 8
sub eax, dword [ebp - 0x3f8]
sar eax, 3
cmp eax, 5
jae 0x58d75c
push 1
push 1
mov ecx, ebx
call fcn.005dec70
push 1
mov ecx, ebx
call fcn.005de100
test al, al
jne 0x58d7a2
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58d790
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x58d792
xor eax, eax
push eax
lea eax, [ebp - 0x3f8]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x3f8]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x3f8]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.CreateBitmap
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 3
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x49
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 - 0x78], eax
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x108], 0
push 0xc
mov dword [ebp - 4], 0x4a
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x4b
test edi, edi
je 0x58d86e
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58d85a
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 1
jmp 0x58d85c
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58d870
xor edi, edi
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 0x4a
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x78]
push 0xc
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x4c
test edi, edi
je 0x58d8db
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58d8c7
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0
jmp 0x58d8c9
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58d8dd
xor edi, edi
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 0x4a
push edi
push eax
call fcn.004ca4c0
add esp, 8
cmp dword [esi + 8], 5
jne 0x58d8fd
or dword [ebx + 0x48], 1
jmp 0x58d95d
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x4d
test edi, edi
je 0x58d947
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58d933
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x58d935
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58d949
xor edi, edi
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 0x4a
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0x10
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x78], eax
mov byte [ebp - 4], 0x4e
test eax, eax
je 0x58d9ce
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
test edi, edi
je 0x58d994
mov dword [edi], vtable.ZScript::VarArgument.0
mov dword [edi + 4], 0x3e2
jmp 0x58d996
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58d9c0
mov ecx, dword [ebp - 0x78]
push edi
mov dword [eax], vtable.ZScript::VarArgument.0
push eax
mov dword [eax + 4], 2
call fcn.00528550
jmp 0x58d9d0
mov ecx, dword [ebp - 0x78]
xor eax, eax
push edi
push eax
call fcn.00528550
jmp 0x58d9d0
xor eax, eax
push eax
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 0x4a
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x10c]
add esp, 8
sub eax, dword [ebp - 0x110]
sar eax, 3
cmp eax, 5
jae 0x58da03
push 1
push 1
mov ecx, ebx
call fcn.005dec70
push 1
mov ecx, ebx
call fcn.005de100
test al, al
jne 0x58da49
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58da37
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x58da39
xor eax, eax
push eax
lea eax, [ebp - 0x110]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x110]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x110]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.LoadSpriteData
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 2
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x4f
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 - 0x78], eax
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0
push 0xc
mov dword [ebp - 4], 0x50
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x51
test edi, edi
je 0x58db15
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58db01
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58db03
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58db17
xor edi, edi
lea eax, [ebp - 0x11c]
mov byte [ebp - 4], 0x50
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x118]
add esp, 8
mov ecx, dword [ebp - 0x78]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x58db46
or dword [ebx + 0x48], 1
jmp 0x58dba6
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x52
test edi, edi
je 0x58db90
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58db7c
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x58db7e
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58db92
xor edi, edi
lea eax, [ebp - 0x11c]
mov byte [ebp - 4], 0x50
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x53
test edi, edi
je 0x58dbf1
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58dbdd
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58dbdf
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OLoadSpriteDataRegister.0
jmp 0x58dbf3
xor edi, edi
lea eax, [ebp - 0x11c]
mov byte [ebp - 4], 0x50
push edi
push eax
call fcn.004ca4c0
push 0x10
call fcn.0061db0a
add esp, 0xc
mov dword [ebp - 0x78], eax
mov byte [ebp - 4], 0x54
test eax, eax
je 0x58dc75
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
test edi, edi
je 0x58dc3b
mov dword [edi], vtable.ZScript::VarArgument.0
mov dword [edi + 4], 0x23d
jmp 0x58dc3d
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58dc67
mov ecx, dword [ebp - 0x78]
push edi
mov dword [eax], vtable.ZScript::VarArgument.0
push eax
mov dword [eax + 4], 2
call fcn.00528550
jmp 0x58dc77
mov ecx, dword [ebp - 0x78]
xor eax, eax
push edi
push eax
call fcn.00528550
jmp 0x58dc77
xor eax, eax
push eax
lea eax, [ebp - 0x11c]
mov byte [ebp - 4], 0x50
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x118]
add esp, 8
sub eax, dword [ebp - 0x11c]
sar eax, 3
cmp eax, 5
jae 0x58dcaa
push 1
push 1
mov ecx, ebx
call fcn.005dec70
push 1
mov ecx, ebx
call fcn.005de100
test al, al
jne 0x58dcf0
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58dcde
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x58dce0
xor eax, eax
push eax
lea eax, [ebp - 0x11c]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x11c]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x11c]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.LoadShopData
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 2
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x55
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 - 0x78], eax
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x120], 0
push 0xc
mov dword [ebp - 4], 0x56
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x57
test edi, edi
je 0x58ddbc
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58dda8
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58ddaa
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58ddbe
xor edi, edi
lea eax, [ebp - 0x128]
mov byte [ebp - 4], 0x56
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x124]
add esp, 8
mov ecx, dword [ebp - 0x78]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x58dded
or dword [ebx + 0x48], 1
jmp 0x58de4d
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x58
test edi, edi
je 0x58de37
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58de23
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x58de25
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58de39
xor edi, edi
lea eax, [ebp - 0x128]
mov byte [ebp - 4], 0x56
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x59
test edi, edi
je 0x58de98
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58de84
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58de86
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OLoadShopDataRegister.0
jmp 0x58de9a
xor edi, edi
lea eax, [ebp - 0x128]
mov byte [ebp - 4], 0x56
push edi
push eax
call fcn.004ca4c0
push 0x10
call fcn.0061db0a
add esp, 0xc
mov dword [ebp - 0x78], eax
mov byte [ebp - 4], 0x5a
test eax, eax
je 0x58df1c
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
test edi, edi
je 0x58dee2
mov dword [edi], vtable.ZScript::VarArgument.0
mov dword [edi + 4], 0x339
jmp 0x58dee4
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58df0e
mov ecx, dword [ebp - 0x78]
push edi
mov dword [eax], vtable.ZScript::VarArgument.0
push eax
mov dword [eax + 4], 2
call fcn.00528550
jmp 0x58df1e
mov ecx, dword [ebp - 0x78]
xor eax, eax
push edi
push eax
call fcn.00528550
jmp 0x58df1e
xor eax, eax
push eax
lea eax, [ebp - 0x128]
mov byte [ebp - 4], 0x56
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x124]
add esp, 8
sub eax, dword [ebp - 0x128]
sar eax, 3
cmp eax, 5
jae 0x58df51
push 1
push 1
mov ecx, ebx
call fcn.005dec70
push 1
mov ecx, ebx
call fcn.005de100
test al, al
jne 0x58df97
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58df85
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x58df87
xor eax, eax
push eax
lea eax, [ebp - 0x128]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x128]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x128]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.LoadInfoShopData
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 2
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 dword [ebp - 0x78], eax
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
push 0xc
mov dword [ebp - 4], 0x5c
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x5d
test edi, edi
je 0x58e063
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58e04f
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58e051
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58e065
xor edi, edi
lea eax, [ebp - 0x134]
mov byte [ebp - 4], 0x5c
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x130]
add esp, 8
mov ecx, dword [ebp - 0x78]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x58e094
or dword [ebx + 0x48], 1
jmp 0x58e0f4
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x5e
test edi, edi
je 0x58e0de
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58e0ca
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x58e0cc
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58e0e0
xor edi, edi
lea eax, [ebp - 0x134]
mov byte [ebp - 4], 0x5c
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x5f
test edi, edi
je 0x58e13f
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58e12b
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58e12d
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OLoadInfoShopDataRegister.0
jmp 0x58e141
xor edi, edi
lea eax, [ebp - 0x134]
mov byte [ebp - 4], 0x5c
push edi
push eax
call fcn.004ca4c0
push 0x10
call fcn.0061db0a
add esp, 0xc
mov dword [ebp - 0x78], eax
mov byte [ebp - 4], 0x60
test eax, eax
je 0x58e1c3
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
test edi, edi
je 0x58e189
mov dword [edi], vtable.ZScript::VarArgument.0
mov dword [edi + 4], 0x339
jmp 0x58e18b
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58e1b5
mov ecx, dword [ebp - 0x78]
push edi
mov dword [eax], vtable.ZScript::VarArgument.0
push eax
mov dword [eax + 4], 2
call fcn.00528550
jmp 0x58e1c5
mov ecx, dword [ebp - 0x78]
xor eax, eax
push edi
push eax
call fcn.00528550
jmp 0x58e1c5
xor eax, eax
push eax
lea eax, [ebp - 0x134]
mov byte [ebp - 4], 0x5c
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x130]
add esp, 8
sub eax, dword [ebp - 0x134]
sar eax, 3
cmp eax, 5
jae 0x58e1f8
push 1
push 1
mov ecx, ebx
call fcn.005dec70
push 1
mov ecx, ebx
call fcn.005de100
test al, al
jne 0x58e23e
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58e22c
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x58e22e
xor eax, eax
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x134]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x134]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.LoadBitmapID
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 2
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x61
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 - 0x78], eax
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 0
push 0xc
mov dword [ebp - 4], 0x62
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x63
test edi, edi
je 0x58e30a
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58e2f6
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58e2f8
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58e30c
xor edi, edi
lea eax, [ebp - 0x140]
mov byte [ebp - 4], 0x62
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x13c]
add esp, 8
mov ecx, dword [ebp - 0x78]
mov eax, dword [eax - 8]
mov dword [eax + 4], ecx
cmp dword [esi + 8], 5
jne 0x58e33b
or dword [ebx + 0x48], 1
jmp 0x58e39b
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x64
test edi, edi
je 0x58e385
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58e371
mov ecx, dword [esi + 8]
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], ecx
jmp 0x58e373
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58e387
xor edi, edi
lea eax, [ebp - 0x140]
mov byte [ebp - 4], 0x62
push edi
push eax
call fcn.004ca4c0
add esp, 8
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x65
test edi, edi
je 0x58e3e6
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58e3d2
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58e3d4
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OLoadBitmapDataRegister.0
jmp 0x58e3e8
xor edi, edi
lea eax, [ebp - 0x140]
mov byte [ebp - 4], 0x62
push edi
push eax
call fcn.004ca4c0
push 0x10
call fcn.0061db0a
add esp, 0xc
mov dword [ebp - 0x78], eax
mov byte [ebp - 4], 0x66
test eax, eax
je 0x58e46a
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
test edi, edi
je 0x58e430
mov dword [edi], vtable.ZScript::VarArgument.0
mov dword [edi + 4], 0x23e
jmp 0x58e432
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58e45c
mov ecx, dword [ebp - 0x78]
push edi
mov dword [eax], vtable.ZScript::VarArgument.0
push eax
mov dword [eax + 4], 2
call fcn.00528550
jmp 0x58e46c
mov ecx, dword [ebp - 0x78]
xor eax, eax
push edi
push eax
call fcn.00528550
jmp 0x58e46c
xor eax, eax
push eax
lea eax, [ebp - 0x140]
mov byte [ebp - 4], 0x62
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x13c]
add esp, 8
sub eax, dword [ebp - 0x140]
sar eax, 3
cmp eax, 5
jae 0x58e49f
push 1
push 1
mov ecx, ebx
call fcn.005dec70
push 1
mov ecx, ebx
call fcn.005de100
test al, al
jne 0x58e4e5
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58e4d3
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 4], 0xffffffff
mov dword [eax], vtable.ZScript::OReturn.0
jmp 0x58e4d5
xor eax, eax
push eax
lea eax, [ebp - 0x140]
push eax
call fcn.004ca4c0
add esp, 8
lea eax, [ebp - 0x140]
mov ecx, ebx
push eax
call fcn.00601c10
lea ecx, [ebp - 0x140]
mov dword [ebp - 4], 0xffffffff
call fcn.004ab740
push str.GetScreenState
lea ecx, [ebp - 0x28]
call fcn.004dd490
push 4
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x67
push eax
mov ecx, esi
call fcn.005de110
mov ebx, eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x78], ebx
call fcn.004ab5f0
mov ecx, ebx
call fcn.006016c0
mov ebx, eax
mov dword [ebp - 0x98], 0
mov eax, dword [0x7702c8]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
lea ecx, [eax + 1]
mov dword [0x7702c8], ecx
push 0xc
mov dword [ebp - 4], 0x68
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x69
test edi, edi
je 0x58e5c4
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58e5b0
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 1
jmp 0x58e5b2
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58e5c6
xor edi, edi
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x68
push edi
push eax
call fcn.004ca4c0
mov eax, dword [ebp - 0x94]
push 0xc
mov eax, dword [eax - 8]
mov dword [eax + 4], ebx
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x6a
test edi, edi
je 0x58e62e
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58e61a
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 0
jmp 0x58e61c
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58e630
xor edi, edi
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x68
push edi
push eax
call fcn.004ca4c0
push 0xc
call fcn.0061db0a
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x6b
test edi, edi
je 0x58e68c
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x58e678
mov dword [eax], vtable.ZScript::VarArgument.0
mov dword [eax + 4], 2
jmp 0x58e67a
xor eax, eax
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], eax
mov dword [edi], vtable.ZScript::OPopRegister.0
jmp 0x58e68e
xor edi, edi
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x68
push edi
push eax
call fcn.004ca4c0
push 0x10
call fcn.0061db0a
mov ebx, eax
add esp, 0xc
mov dword [ebp - 0x7c], ebx
mov byte [ebp - 4], 0x6c
test ebx, ebx
je 0x58e710
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x74], edi
test edi, edi
je 0x58e6d8
mov dword [edi], vtable.ZScript::LiteralArgument.0
mov dword [edi + 4], 0x2710
jmp 0x58e6da
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x74], eax
test eax, eax
je 0x58e703
push edi
mov dword [eax], vtable.ZScript::VarArgument.0
mov ecx, ebx
push eax
mov dword [eax + 4], 2
call fcn.00528730
jmp 0x58e712
xor eax, eax
mov ecx, ebx
push edi
push eax
call fcn.00528730
jmp 0x58e712
xor eax, eax
push eax
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x68
push eax
call fcn.004ca4c0
push 0x10
call fcn.0061db0a
mov ebx, eax
add esp, 0xc
mov dword [ebp - 0x74], ebx
mov byte [ebp - 4], 0x6d
test ebx, ebx
je 0x58e794
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
test edi, edi
je 0x58e75c
mov dword [edi], vtable.ZScript::LiteralArgument.0
mov dword [edi + 4], 0x14c080
jmp 0x58e75e
xor edi, edi
push 8
call fcn.0061db0a
add esp, 4
mov dword [ebp - 0x74], eax
test eax, eax
je 0x58e787
xor eax, eax
push eax
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x68
push eax
call fcn.004ca4c0
push 0x10
call fcn.0061db0a
mov ebx, eax
add esp, 0xc
mov dword [ebp - 0x74], ebx
mov byte [ebp - 4], 0x6e
test ebx, ebx
je 0x58e818
push 8
call fcn.0061db0a
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
test edi, edi
je 0x58e7e0
xor eax, eax
push eax
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x68
push eax
call fcn.004ca4c0
add esp, 8
cmp dword [esi + 8], 5
jne 0x58e83d