46fd72:	8b 03                	mov    (%ebx),%eax
46fd74:	83 c3 04             	add    $0x4,%ebx
46fd77:	49                   	dec    %ecx
46fd78:	74 05                	je     0x46fd7f
46fd7a:	0f af 03             	imul   (%ebx),%eax
46fd7d:	eb f5                	jmp    0x46fd74
46fd7f:	8b c8                	mov    %eax,%ecx
46fd81:	85 c9                	test   %ecx,%ecx
46fd83:	0f 84 26 00 00 00    	je     0x46fdaf
46fd89:	51                   	push   %ecx
46fd8a:	53                   	push   %ebx
46fd8b:	8b 1b                	mov    (%ebx),%ebx
46fd8d:	53                   	push   %ebx
46fd8e:	53                   	push   %ebx
46fd8f:	8b 1b                	mov    (%ebx),%ebx
46fd91:	85 db                	test   %ebx,%ebx
46fd93:	74 09                	je     0x46fd9e
46fd95:	53                   	push   %ebx
46fd96:	e8 09 08 03 00       	call   0x4a05a4
46fd9b:	83 c4 04             	add    $0x4,%esp
46fd9e:	5b                   	pop    %ebx
46fd9f:	e8 00 08 03 00       	call   0x4a05a4
46fda4:	83 c4 04             	add    $0x4,%esp
46fda7:	5b                   	pop    %ebx
46fda8:	83 c3 04             	add    $0x4,%ebx
46fdab:	59                   	pop    %ecx
46fdac:	49                   	dec    %ecx
46fdad:	75 da                	jne    0x46fd89
46fdaf:	e8 f0 07 03 00       	call   0x4a05a4
46fdb4:	83 c4 04             	add    $0x4,%esp
46fdb7:	5b                   	pop    %ebx
46fdb8:	83 c3 04             	add    $0x4,%ebx
46fdbb:	53                   	push   %ebx
46fdbc:	8b 1b                	mov    (%ebx),%ebx
46fdbe:	53                   	push   %ebx
46fdbf:	8b 0b                	mov    (%ebx),%ecx
46fdc1:	83 c3 04             	add    $0x4,%ebx
46fdc4:	85 c9                	test   %ecx,%ecx
46fdc6:	74 11                	je     0x46fdd9
46fdc8:	8b 03                	mov    (%ebx),%eax
46fdca:	83 c3 04             	add    $0x4,%ebx
46fdcd:	49                   	dec    %ecx
46fdce:	74 05                	je     0x46fdd5
46fdd0:	0f af 03             	imul   (%ebx),%eax
46fdd3:	eb f5                	jmp    0x46fdca
46fdd5:	8b c8                	mov    %eax,%ecx
46fdd7:	85 c9                	test   %ecx,%ecx
46fdd9:	0f 84 15 00 00 00    	je     0x46fdf4
46fddf:	51                   	push   %ecx
46fde0:	53                   	push   %ebx
46fde1:	8b 1b                	mov    (%ebx),%ebx
46fde3:	53                   	push   %ebx
46fde4:	e8 bb 07 03 00       	call   0x4a05a4
46fde9:	83 c4 04             	add    $0x4,%esp
46fdec:	5b                   	pop    %ebx
46fded:	83 c3 04             	add    $0x4,%ebx
46fdf0:	59                   	pop    %ecx
46fdf1:	49                   	dec    %ecx
46fdf2:	75 eb                	jne    0x46fddf
46fdf4:	e8 ab 07 03 00       	call   0x4a05a4
46fdf9:	83 c4 04             	add    $0x4,%esp
46fdfc:	5b                   	pop    %ebx
46fdfd:	83 c3 1c             	add    $0x1c,%ebx
46fe00:	53                   	push   %ebx
46fe01:	8b 1b                	mov    (%ebx),%ebx
46fe03:	53                   	push   %ebx
46fe04:	e8 9b 07 03 00       	call   0x4a05a4
46fe09:	83 c4 04             	add    $0x4,%esp
46fe0c:	5b                   	pop    %ebx
46fe0d:	83 c3 24             	add    $0x24,%ebx
46fe10:	53                   	push   %ebx
46fe11:	8b 1b                	mov    (%ebx),%ebx
46fe13:	53                   	push   %ebx
46fe14:	e8 8b 07 03 00       	call   0x4a05a4
46fe19:	83 c4 04             	add    $0x4,%esp
46fe1c:	5b                   	pop    %ebx
46fe1d:	83 c3 04             	add    $0x4,%ebx
46fe20:	53                   	push   %ebx
46fe21:	8b 1b                	mov    (%ebx),%ebx
46fe23:	53                   	push   %ebx
46fe24:	e8 7b 07 03 00       	call   0x4a05a4
46fe29:	83 c4 04             	add    $0x4,%esp
46fe2c:	5b                   	pop    %ebx
46fe2d:	83 c3 10             	add    $0x10,%ebx
46fe30:	53                   	push   %ebx
46fe31:	8b 1b                	mov    (%ebx),%ebx
46fe33:	53                   	push   %ebx
46fe34:	8b 03                	mov    (%ebx),%eax
46fe36:	ff 10                	call   *(%eax)
46fe38:	e8 67 07 03 00       	call   0x4a05a4
46fe3d:	83 c4 04             	add    $0x4,%esp
46fe40:	5b                   	pop    %ebx
46fe41:	83 c3 04             	add    $0x4,%ebx
46fe44:	53                   	push   %ebx
46fe45:	8b 1b                	mov    (%ebx),%ebx
46fe47:	53                   	push   %ebx
46fe48:	8b 03                	mov    (%ebx),%eax
46fe4a:	ff 10                	call   *(%eax)
46fe4c:	e8 53 07 03 00       	call   0x4a05a4
46fe51:	83 c4 04             	add    $0x4,%esp
46fe54:	5b                   	pop    %ebx
46fe55:	83 c3 0c             	add    $0xc,%ebx
46fe58:	53                   	push   %ebx
46fe59:	8b 1b                	mov    (%ebx),%ebx
46fe5b:	53                   	push   %ebx
46fe5c:	e8 43 07 03 00       	call   0x4a05a4
46fe61:	83 c4 04             	add    $0x4,%esp
46fe64:	5b                   	pop    %ebx
46fe65:	c3                   	ret
46fe66:	50                   	push   %eax
46fe67:	68 b8 01 00 00       	push   $0x1b8
46fe6c:	e8 2d 07 03 00       	call   0x4a059e
46fe71:	83 c4 04             	add    $0x4,%esp
46fe74:	5e                   	pop    %esi
46fe75:	8b f8                	mov    %eax,%edi
46fe77:	50                   	push   %eax
46fe78:	b9 47 00 00 00       	mov    $0x47,%ecx
46fe7d:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
46fe7f:	ad                   	lods   %ds:(%esi),%eax
46fe80:	56                   	push   %esi
46fe81:	57                   	push   %edi
46fe82:	50                   	push   %eax
46fe83:	8b d8                	mov    %eax,%ebx
46fe85:	e8 69 38 f9 ff       	call   0x4036f3
46fe8a:	58                   	pop    %eax
46fe8b:	2b d8                	sub    %eax,%ebx
46fe8d:	51                   	push   %ecx
46fe8e:	53                   	push   %ebx
46fe8f:	50                   	push   %eax
46fe90:	c1 e1 02             	shl    $0x2,%ecx
46fe93:	03 cb                	add    %ebx,%ecx
46fe95:	51                   	push   %ecx
46fe96:	e8 03 07 03 00       	call   0x4a059e
46fe9b:	83 c4 04             	add    $0x4,%esp
46fe9e:	5e                   	pop    %esi
46fe9f:	8b f8                	mov    %eax,%edi
46fea1:	59                   	pop    %ecx
46fea2:	c1 e9 02             	shr    $0x2,%ecx
46fea5:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
46fea7:	59                   	pop    %ecx
46fea8:	85 c9                	test   %ecx,%ecx
46feaa:	0f 84 c1 00 00 00    	je     0x46ff71
46feb0:	50                   	push   %eax
46feb1:	ad                   	lods   %ds:(%esi),%eax
46feb2:	56                   	push   %esi
46feb3:	57                   	push   %edi
46feb4:	51                   	push   %ecx
46feb5:	50                   	push   %eax
46feb6:	68 28 00 00 00       	push   $0x28
46febb:	e8 de 06 03 00       	call   0x4a059e
46fec0:	83 c4 04             	add    $0x4,%esp
46fec3:	5e                   	pop    %esi
46fec4:	8b f8                	mov    %eax,%edi
46fec6:	50                   	push   %eax
46fec7:	ad                   	lods   %ds:(%esi),%eax
46fec8:	56                   	push   %esi
46fec9:	57                   	push   %edi
46feca:	50                   	push   %eax
46fecb:	8b d8                	mov    %eax,%ebx
46fecd:	e8 21 38 f9 ff       	call   0x4036f3
46fed2:	58                   	pop    %eax
46fed3:	2b d8                	sub    %eax,%ebx
46fed5:	51                   	push   %ecx
46fed6:	53                   	push   %ebx
46fed7:	50                   	push   %eax
46fed8:	c1 e1 02             	shl    $0x2,%ecx
46fedb:	03 cb                	add    %ebx,%ecx
46fedd:	51                   	push   %ecx
46fede:	e8 bb 06 03 00       	call   0x4a059e
46fee3:	83 c4 04             	add    $0x4,%esp
46fee6:	5e                   	pop    %esi
46fee7:	8b f8                	mov    %eax,%edi
46fee9:	59                   	pop    %ecx
46feea:	c1 e9 02             	shr    $0x2,%ecx
46feed:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
46feef:	59                   	pop    %ecx
46fef0:	85 c9                	test   %ecx,%ecx
46fef2:	0f 84 28 00 00 00    	je     0x46ff20
46fef8:	50                   	push   %eax
46fef9:	ad                   	lods   %ds:(%esi),%eax
46fefa:	56                   	push   %esi
46fefb:	57                   	push   %edi
46fefc:	51                   	push   %ecx
46fefd:	85 c0                	test   %eax,%eax
46feff:	74 13                	je     0x46ff14
46ff01:	50                   	push   %eax
46ff02:	8b 40 04             	mov    0x4(%eax),%eax
46ff05:	83 c0 08             	add    $0x8,%eax
46ff08:	50                   	push   %eax
46ff09:	e8 90 06 03 00       	call   0x4a059e
46ff0e:	59                   	pop    %ecx
46ff0f:	5e                   	pop    %esi
46ff10:	8b f8                	mov    %eax,%edi
46ff12:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
46ff14:	59                   	pop    %ecx
46ff15:	5f                   	pop    %edi
46ff16:	5e                   	pop    %esi
46ff17:	ab                   	stos   %eax,%es:(%edi)
46ff18:	49                   	dec    %ecx
46ff19:	0f 85 da ff ff ff    	jne    0x46fef9
46ff1f:	58                   	pop    %eax
46ff20:	5f                   	pop    %edi
46ff21:	5e                   	pop    %esi
46ff22:	ab                   	stos   %eax,%es:(%edi)
46ff23:	ad                   	lods   %ds:(%esi),%eax
46ff24:	56                   	push   %esi
46ff25:	57                   	push   %edi
46ff26:	50                   	push   %eax
46ff27:	50                   	push   %eax
46ff28:	8b d8                	mov    %eax,%ebx
46ff2a:	e8 c4 37 f9 ff       	call   0x4036f3
46ff2f:	58                   	pop    %eax
46ff30:	2b d8                	sub    %eax,%ebx
46ff32:	c1 e1 02             	shl    $0x2,%ecx
46ff35:	03 cb                	add    %ebx,%ecx
46ff37:	51                   	push   %ecx
46ff38:	e8 61 06 03 00       	call   0x4a059e
46ff3d:	59                   	pop    %ecx
46ff3e:	5e                   	pop    %esi
46ff3f:	8b f8                	mov    %eax,%edi
46ff41:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
46ff43:	5f                   	pop    %edi
46ff44:	5e                   	pop    %esi
46ff45:	ab                   	stos   %eax,%es:(%edi)
46ff46:	b9 07 00 00 00       	mov    $0x7,%ecx
46ff4b:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
46ff4d:	ad                   	lods   %ds:(%esi),%eax
46ff4e:	56                   	push   %esi
46ff4f:	57                   	push   %edi
46ff50:	50                   	push   %eax
46ff51:	68 08 00 00 00       	push   $0x8
46ff56:	e8 43 06 03 00       	call   0x4a059e
46ff5b:	59                   	pop    %ecx
46ff5c:	5e                   	pop    %esi
46ff5d:	8b f8                	mov    %eax,%edi
46ff5f:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
46ff61:	5f                   	pop    %edi
46ff62:	5e                   	pop    %esi
46ff63:	ab                   	stos   %eax,%es:(%edi)
46ff64:	58                   	pop    %eax
46ff65:	59                   	pop    %ecx
46ff66:	5f                   	pop    %edi
46ff67:	5e                   	pop    %esi
46ff68:	ab                   	stos   %eax,%es:(%edi)
46ff69:	49                   	dec    %ecx
46ff6a:	0f 85 41 ff ff ff    	jne    0x46feb1
46ff70:	58                   	pop    %eax
46ff71:	5f                   	pop    %edi
46ff72:	5e                   	pop    %esi
46ff73:	ab                   	stos   %eax,%es:(%edi)
46ff74:	ad                   	lods   %ds:(%esi),%eax
46ff75:	56                   	push   %esi
46ff76:	57                   	push   %edi
46ff77:	50                   	push   %eax
46ff78:	8b d8                	mov    %eax,%ebx
46ff7a:	e8 74 37 f9 ff       	call   0x4036f3
46ff7f:	58                   	pop    %eax
46ff80:	2b d8                	sub    %eax,%ebx
46ff82:	51                   	push   %ecx
46ff83:	53                   	push   %ebx
46ff84:	50                   	push   %eax
46ff85:	c1 e1 02             	shl    $0x2,%ecx
46ff88:	03 cb                	add    %ebx,%ecx
46ff8a:	51                   	push   %ecx
46ff8b:	e8 0e 06 03 00       	call   0x4a059e
46ff90:	83 c4 04             	add    $0x4,%esp
46ff93:	5e                   	pop    %esi
46ff94:	8b f8                	mov    %eax,%edi
46ff96:	59                   	pop    %ecx
46ff97:	c1 e9 02             	shr    $0x2,%ecx
46ff9a:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
46ff9c:	59                   	pop    %ecx
46ff9d:	85 c9                	test   %ecx,%ecx
46ff9f:	0f 84 48 00 00 00    	je     0x46ffed
46ffa5:	50                   	push   %eax
46ffa6:	ad                   	lods   %ds:(%esi),%eax
46ffa7:	56                   	push   %esi
46ffa8:	57                   	push   %edi
46ffa9:	51                   	push   %ecx
46ffaa:	50                   	push   %eax
46ffab:	68 18 00 00 00       	push   $0x18
46ffb0:	e8 e9 05 03 00       	call   0x4a059e
46ffb5:	83 c4 04             	add    $0x4,%esp
46ffb8:	5e                   	pop    %esi
46ffb9:	8b f8                	mov    %eax,%edi
46ffbb:	50                   	push   %eax
46ffbc:	ad                   	lods   %ds:(%esi),%eax
46ffbd:	56                   	push   %esi
46ffbe:	57                   	push   %edi
46ffbf:	85 c0                	test   %eax,%eax
46ffc1:	74 13                	je     0x46ffd6
46ffc3:	50                   	push   %eax
46ffc4:	8b 40 04             	mov    0x4(%eax),%eax
46ffc7:	83 c0 08             	add    $0x8,%eax
46ffca:	50                   	push   %eax
46ffcb:	e8 ce 05 03 00       	call   0x4a059e
46ffd0:	59                   	pop    %ecx
46ffd1:	5e                   	pop    %esi
46ffd2:	8b f8                	mov    %eax,%edi
46ffd4:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
46ffd6:	5f                   	pop    %edi
46ffd7:	5e                   	pop    %esi
46ffd8:	ab                   	stos   %eax,%es:(%edi)
46ffd9:	b9 05 00 00 00       	mov    $0x5,%ecx
46ffde:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
46ffe0:	58                   	pop    %eax
46ffe1:	59                   	pop    %ecx
46ffe2:	5f                   	pop    %edi
46ffe3:	5e                   	pop    %esi
46ffe4:	ab                   	stos   %eax,%es:(%edi)
46ffe5:	49                   	dec    %ecx
46ffe6:	0f 85 ba ff ff ff    	jne    0x46ffa6
46ffec:	58                   	pop    %eax
46ffed:	5f                   	pop    %edi
46ffee:	5e                   	pop    %esi
46ffef:	ab                   	stos   %eax,%es:(%edi)
46fff0:	ad                   	lods   %ds:(%esi),%eax
46fff1:	56                   	push   %esi
46fff2:	57                   	push   %edi
46fff3:	50                   	push   %eax
46fff4:	8b d8                	mov    %eax,%ebx
46fff6:	e8 f8 36 f9 ff       	call   0x4036f3
46fffb:	58                   	pop    %eax
46fffc:	2b d8                	sub    %eax,%ebx
46fffe:	51                   	push   %ecx
46ffff:	53                   	push   %ebx
470000:	50                   	push   %eax
470001:	c1 e1 02             	shl    $0x2,%ecx
470004:	03 cb                	add    %ebx,%ecx
470006:	51                   	push   %ecx
470007:	e8 92 05 03 00       	call   0x4a059e
47000c:	83 c4 04             	add    $0x4,%esp
47000f:	5e                   	pop    %esi
470010:	8b f8                	mov    %eax,%edi
470012:	59                   	pop    %ecx
470013:	c1 e9 02             	shr    $0x2,%ecx
470016:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
470018:	59                   	pop    %ecx
470019:	85 c9                	test   %ecx,%ecx
47001b:	0f 84 22 00 00 00    	je     0x470043
470021:	50                   	push   %eax
470022:	ad                   	lods   %ds:(%esi),%eax
470023:	56                   	push   %esi
470024:	57                   	push   %edi
470025:	51                   	push   %ecx
470026:	50                   	push   %eax
470027:	68 10 00 00 00       	push   $0x10
47002c:	e8 6d 05 03 00       	call   0x4a059e
470031:	59                   	pop    %ecx
470032:	5e                   	pop    %esi