647da0:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
647da4:	57                   	push   %edi
647da5:	50                   	push   %eax
647da6:	e8 a5 31 ff ff       	call   0x63af50
647dab:	8b 46 24             	mov    0x24(%esi),%eax
647dae:	83 c4 08             	add    $0x8,%esp
647db1:	8b 80 60 01 00 00    	mov    0x160(%eax),%eax
647db7:	39 07                	cmp    %eax,(%edi)
647db9:	76 2f                	jbe    0x647dea
647dbb:	e8 20 e6 fe ff       	call   0x6363e0
647dc0:	8b 4e 24             	mov    0x24(%esi),%ecx
647dc3:	8b 10                	mov    (%eax),%edx
647dc5:	8b 89 60 01 00 00    	mov    0x160(%ecx),%ecx
647dcb:	51                   	push   %ecx
647dcc:	ff 37                	push   (%edi)
647dce:	68 78 2f 6e 00       	push   $0x6e2f78
647dd3:	50                   	push   %eax
647dd4:	ff 52 14             	call   *0x14(%edx)
647dd7:	83 c4 10             	add    $0x10,%esp
647dda:	c7 46 38 05 00 00 00 	movl   $0x5,0x38(%esi)
647de1:	eb 07                	jmp    0x647dea
647de3:	c7 46 40 00 00 00 00 	movl   $0x0,0x40(%esi)
647dea:	8b 45 ec             	mov    -0x14(%ebp),%eax
647ded:	83 f8 08             	cmp    $0x8,%eax
647df0:	72 0d                	jb     0x647dff
647df2:	40                   	inc    %eax
647df3:	8d 4d d8             	lea    -0x28(%ebp),%ecx
647df6:	50                   	push   %eax
647df7:	ff 75 d8             	push   -0x28(%ebp)
647dfa:	e8 e1 0f df ff       	call   0x438de0
647dff:	8b 45 24             	mov    0x24(%ebp),%eax
647e02:	83 f8 08             	cmp    $0x8,%eax
647e05:	72 0d                	jb     0x647e14
647e07:	40                   	inc    %eax
647e08:	8d 4d 10             	lea    0x10(%ebp),%ecx
647e0b:	50                   	push   %eax
647e0c:	ff 75 10             	push   0x10(%ebp)
647e0f:	e8 cc 0f df ff       	call   0x438de0
647e14:	8b 4d f4             	mov    -0xc(%ebp),%ecx
647e17:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
647e1e:	59                   	pop    %ecx
647e1f:	5f                   	pop    %edi
647e20:	5e                   	pop    %esi
647e21:	8b 4d f0             	mov    -0x10(%ebp),%ecx
647e24:	33 cd                	xor    %ebp,%ecx
647e26:	e8 af 96 f9 ff       	call   0x5e14da
647e2b:	8b e5                	mov    %ebp,%esp
647e2d:	5d                   	pop    %ebp
647e2e:	c2 20 00             	ret    $0x20
647e31:	cc                   	int3
647e32:	cc                   	int3
647e33:	cc                   	int3
647e34:	cc                   	int3
647e35:	cc                   	int3
647e36:	cc                   	int3
647e37:	cc                   	int3
647e38:	cc                   	int3
647e39:	cc                   	int3
647e3a:	cc                   	int3
647e3b:	cc                   	int3
647e3c:	cc                   	int3
647e3d:	cc                   	int3
647e3e:	cc                   	int3
647e3f:	cc                   	int3
647e40:	55                   	push   %ebp
647e41:	8b ec                	mov    %esp,%ebp
647e43:	83 ec 08             	sub    $0x8,%esp
647e46:	56                   	push   %esi
647e47:	57                   	push   %edi
647e48:	8b 7d 08             	mov    0x8(%ebp),%edi
647e4b:	85 ff                	test   %edi,%edi
647e4d:	74 46                	je     0x647e95
647e4f:	8d 45 f8             	lea    -0x8(%ebp),%eax
647e52:	50                   	push   %eax
647e53:	ff 15 48 23 68 00    	call   *0x682348
647e59:	8b 45 fc             	mov    -0x4(%ebp),%eax
647e5c:	33 c9                	xor    %ecx,%ecx
647e5e:	0b 4d f8             	or     -0x8(%ebp),%ecx
647e61:	6a 00                	push   $0x0
647e63:	6a 0a                	push   $0xa
647e65:	50                   	push   %eax
647e66:	51                   	push   %ecx
647e67:	e8 14 a2 f9 ff       	call   0x5e2080
647e6c:	8b f0                	mov    %eax,%esi
647e6e:	6a 00                	push   $0x0
647e70:	81 c6 00 c0 79 b7    	add    $0xb779c000,%esi
647e76:	68 40 42 0f 00       	push   $0xf4240
647e7b:	81 d2 69 a1 d6 ff    	adc    $0xffd6a169,%edx
647e81:	52                   	push   %edx
647e82:	56                   	push   %esi
647e83:	e8 f8 a1 f9 ff       	call   0x5e2080
647e88:	89 07                	mov    %eax,(%edi)
647e8a:	69 c0 40 42 0f 00    	imul   $0xf4240,%eax,%eax
647e90:	2b f0                	sub    %eax,%esi
647e92:	89 77 04             	mov    %esi,0x4(%edi)
647e95:	8b 75 0c             	mov    0xc(%ebp),%esi
647e98:	85 f6                	test   %esi,%esi
647e9a:	74 46                	je     0x647ee2
647e9c:	83 3d 18 26 73 00 00 	cmpl   $0x0,0x732618
647ea3:	75 0b                	jne    0x647eb0
647ea5:	e8 6c 08 fc ff       	call   0x608716
647eaa:	ff 05 18 26 73 00    	incl   0x732618
647eb0:	8d 45 08             	lea    0x8(%ebp),%eax
647eb3:	50                   	push   %eax
647eb4:	e8 12 00 fc ff       	call   0x607ecb
647eb9:	8d 45 0c             	lea    0xc(%ebp),%eax
647ebc:	50                   	push   %eax
647ebd:	e8 b1 ff fb ff       	call   0x607e73
647ec2:	b8 89 88 88 88       	mov    $0x88888889,%eax
647ec7:	83 c4 08             	add    $0x8,%esp
647eca:	f7 6d 08             	imull  0x8(%ebp)
647ecd:	03 55 08             	add    0x8(%ebp),%edx
647ed0:	c1 fa 05             	sar    $0x5,%edx
647ed3:	8b c2                	mov    %edx,%eax
647ed5:	c1 e8 1f             	shr    $0x1f,%eax
647ed8:	03 c2                	add    %edx,%eax
647eda:	89 06                	mov    %eax,(%esi)
647edc:	8b 45 0c             	mov    0xc(%ebp),%eax
647edf:	89 46 04             	mov    %eax,0x4(%esi)
647ee2:	5f                   	pop    %edi
647ee3:	33 c0                	xor    %eax,%eax
647ee5:	5e                   	pop    %esi
647ee6:	8b e5                	mov    %ebp,%esp
647ee8:	5d                   	pop    %ebp
647ee9:	c3                   	ret
647eea:	cc                   	int3
647eeb:	cc                   	int3
647eec:	cc                   	int3
647eed:	cc                   	int3
647eee:	cc                   	int3
647eef:	cc                   	int3
647ef0:	55                   	push   %ebp
647ef1:	8b ec                	mov    %esp,%ebp
647ef3:	8b 55 0c             	mov    0xc(%ebp),%edx
647ef6:	56                   	push   %esi
647ef7:	66 83 3a 00          	cmpw   $0x0,(%edx)
647efb:	75 04                	jne    0x647f01
647efd:	33 c0                	xor    %eax,%eax
647eff:	eb 14                	jmp    0x647f15
647f01:	8b c2                	mov    %edx,%eax
647f03:	8d 70 02             	lea    0x2(%eax),%esi
647f06:	66 8b 08             	mov    (%eax),%cx
647f09:	83 c0 02             	add    $0x2,%eax
647f0c:	66 85 c9             	test   %cx,%cx
647f0f:	75 f5                	jne    0x647f06
647f11:	2b c6                	sub    %esi,%eax
647f13:	d1 f8                	sar    $1,%eax
647f15:	8b 4d 08             	mov    0x8(%ebp),%ecx
647f18:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
647f1c:	8d 71 10             	lea    0x10(%ecx),%esi
647f1f:	72 02                	jb     0x647f23
647f21:	8b 09                	mov    (%ecx),%ecx
647f23:	50                   	push   %eax
647f24:	52                   	push   %edx
647f25:	ff 36                	push   (%esi)
647f27:	51                   	push   %ecx
647f28:	e8 33 a7 df ff       	call   0x442660
647f2d:	83 c4 10             	add    $0x10,%esp
647f30:	f7 d8                	neg    %eax
647f32:	1b c0                	sbb    %eax,%eax
647f34:	40                   	inc    %eax
647f35:	5e                   	pop    %esi
647f36:	5d                   	pop    %ebp
647f37:	c3                   	ret
647f38:	cc                   	int3
647f39:	cc                   	int3
647f3a:	cc                   	int3
647f3b:	cc                   	int3
647f3c:	cc                   	int3
647f3d:	cc                   	int3
647f3e:	cc                   	int3
647f3f:	cc                   	int3
647f40:	55                   	push   %ebp
647f41:	8b ec                	mov    %esp,%ebp
647f43:	6a ff                	push   $0xffffffff
647f45:	68 b6 4e 66 00       	push   $0x664eb6
647f4a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
647f50:	50                   	push   %eax
647f51:	51                   	push   %ecx
647f52:	56                   	push   %esi
647f53:	a1 d4 89 72 00       	mov    0x7289d4,%eax
647f58:	33 c5                	xor    %ebp,%eax
647f5a:	50                   	push   %eax
647f5b:	8d 45 f4             	lea    -0xc(%ebp),%eax
647f5e:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
647f64:	8b f1                	mov    %ecx,%esi
647f66:	89 75 f0             	mov    %esi,-0x10(%ebp)
647f69:	e8 02 de fe ff       	call   0x635d70
647f6e:	8d 86 90 00 00 00    	lea    0x90(%esi),%eax
647f74:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
647f7b:	c7 40 14 07 00 00 00 	movl   $0x7,0x14(%eax)
647f82:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
647f89:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
647f8d:	72 02                	jb     0x647f91
647f8f:	8b 00                	mov    (%eax),%eax
647f91:	33 c9                	xor    %ecx,%ecx
647f93:	66 89 08             	mov    %cx,(%eax)
647f96:	8d 86 a8 00 00 00    	lea    0xa8(%esi),%eax
647f9c:	c7 40 14 07 00 00 00 	movl   $0x7,0x14(%eax)
647fa3:	89 48 10             	mov    %ecx,0x10(%eax)
647fa6:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
647faa:	72 02                	jb     0x647fae
647fac:	8b 00                	mov    (%eax),%eax
647fae:	33 c9                	xor    %ecx,%ecx
647fb0:	66 89 08             	mov    %cx,(%eax)
647fb3:	8d 86 c0 00 00 00    	lea    0xc0(%esi),%eax
647fb9:	c7 40 14 07 00 00 00 	movl   $0x7,0x14(%eax)
647fc0:	89 48 10             	mov    %ecx,0x10(%eax)
647fc3:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
647fc7:	72 02                	jb     0x647fcb
647fc9:	8b 00                	mov    (%eax),%eax
647fcb:	33 c9                	xor    %ecx,%ecx
647fcd:	66 89 08             	mov    %cx,(%eax)
647fd0:	8d 86 d8 00 00 00    	lea    0xd8(%esi),%eax
647fd6:	c7 40 14 07 00 00 00 	movl   $0x7,0x14(%eax)
647fdd:	89 48 10             	mov    %ecx,0x10(%eax)
647fe0:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
647fe4:	72 02                	jb     0x647fe8
647fe6:	8b 00                	mov    (%eax),%eax
647fe8:	33 c9                	xor    %ecx,%ecx
647fea:	66 89 08             	mov    %cx,(%eax)
647fed:	8d 86 f0 00 00 00    	lea    0xf0(%esi),%eax
647ff3:	c7 40 14 07 00 00 00 	movl   $0x7,0x14(%eax)
647ffa:	89 48 10             	mov    %ecx,0x10(%eax)
647ffd:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
648001:	72 02                	jb     0x648005
648003:	8b 00                	mov    (%eax),%eax
648005:	33 c9                	xor    %ecx,%ecx
648007:	66 89 08             	mov    %cx,(%eax)
64800a:	8d 86 08 01 00 00    	lea    0x108(%esi),%eax
648010:	c7 40 14 07 00 00 00 	movl   $0x7,0x14(%eax)
648017:	89 48 10             	mov    %ecx,0x10(%eax)
64801a:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
64801e:	72 02                	jb     0x648022
648020:	8b 00                	mov    (%eax),%eax
648022:	33 c9                	xor    %ecx,%ecx
648024:	66 89 08             	mov    %cx,(%eax)
648027:	8d 86 20 01 00 00    	lea    0x120(%esi),%eax
64802d:	c7 40 14 07 00 00 00 	movl   $0x7,0x14(%eax)
648034:	89 48 10             	mov    %ecx,0x10(%eax)
648037:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
64803b:	72 02                	jb     0x64803f
64803d:	8b 00                	mov    (%eax),%eax
64803f:	33 c9                	xor    %ecx,%ecx
648041:	66 89 08             	mov    %cx,(%eax)
648044:	8d 86 38 01 00 00    	lea    0x138(%esi),%eax
64804a:	c7 40 14 07 00 00 00 	movl   $0x7,0x14(%eax)
648051:	89 48 10             	mov    %ecx,0x10(%eax)
648054:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
648058:	72 02                	jb     0x64805c
64805a:	8b 00                	mov    (%eax),%eax
64805c:	33 c9                	xor    %ecx,%ecx
64805e:	66 89 08             	mov    %cx,(%eax)
648061:	89 8e 54 01 00 00    	mov    %ecx,0x154(%esi)
648067:	c6 86 58 01 00 00 01 	movb   $0x1,0x158(%esi)
64806e:	88 8e 5a 01 00 00    	mov    %cl,0x15a(%esi)
648074:	88 8e 5b 01 00 00    	mov    %cl,0x15b(%esi)
64807a:	88 8e 5c 01 00 00    	mov    %cl,0x15c(%esi)
648080:	88 8e 5d 01 00 00    	mov    %cl,0x15d(%esi)
648086:	c6 86 5e 01 00 00 01 	movb   $0x1,0x15e(%esi)
64808d:	88 8e 5f 01 00 00    	mov    %cl,0x15f(%esi)
648093:	8d 8e 64 01 00 00    	lea    0x164(%esi),%ecx
648099:	c7 86 60 01 00 00 3c 	movl   $0x3c,0x160(%esi)
6480a0:	00 00 00
6480a3:	c7 41 14 07 00 00 00 	movl   $0x7,0x14(%ecx)
6480aa:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
6480b1:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
6480b5:	72 04                	jb     0x6480bb
6480b7:	8b 01                	mov    (%ecx),%eax
6480b9:	eb 02                	jmp    0x6480bd
6480bb:	8b c1                	mov    %ecx,%eax
6480bd:	33 d2                	xor    %edx,%edx
6480bf:	66 89 10             	mov    %dx,(%eax)
6480c2:	52                   	push   %edx
6480c3:	68 fc 56 6e 00       	push   $0x6e56fc
6480c8:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
6480cc:	c7 46 60 00 00 20 00 	movl   $0x200000,0x60(%esi)
6480d3:	c7 46 64 0c 00 00 00 	movl   $0xc,0x64(%esi)
6480da:	89 56 68             	mov    %edx,0x68(%esi)
6480dd:	89 56 6c             	mov    %edx,0x6c(%esi)
6480e0:	89 56 70             	mov    %edx,0x70(%esi)
6480e3:	89 56 74             	mov    %edx,0x74(%esi)
6480e6:	c6 86 59 01 00 00 01 	movb   $0x1,0x159(%esi)
6480ed:	e8 fe 06 df ff       	call   0x4387f0
6480f2:	8b c6                	mov    %esi,%eax
6480f4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
6480f7:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
6480fe:	59                   	pop    %ecx
6480ff:	5e                   	pop    %esi
648100:	8b e5                	mov    %ebp,%esp
648102:	5d                   	pop    %ebp
648103:	c3                   	ret
648104:	cc                   	int3
648105:	cc                   	int3
648106:	cc                   	int3
648107:	cc                   	int3
648108:	cc                   	int3
648109:	cc                   	int3
64810a:	cc                   	int3
64810b:	cc                   	int3
64810c:	cc                   	int3
64810d:	cc                   	int3
64810e:	cc                   	int3
64810f:	cc                   	int3
648110:	55                   	push   %ebp
648111:	8b ec                	mov    %esp,%ebp
648113:	6a ff                	push   $0xffffffff
648115:	68 a6 3d 66 00       	push   $0x663da6
64811a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
648120:	50                   	push   %eax
648121:	51                   	push   %ecx
648122:	56                   	push   %esi
648123:	57                   	push   %edi
648124:	a1 d4 89 72 00       	mov    0x7289d4,%eax
648129:	33 c5                	xor    %ebp,%eax
64812b:	50                   	push   %eax
64812c:	8d 45 f4             	lea    -0xc(%ebp),%eax
64812f:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
648135:	8b f9                	mov    %ecx,%edi
648137:	8b 47 7c             	mov    0x7c(%edi),%eax
64813a:	8d 4f 7c             	lea    0x7c(%edi),%ecx
64813d:	50                   	push   %eax
64813e:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
648145:	ff 30                	push   (%eax)
648147:	8d 45 f0             	lea    -0x10(%ebp),%eax
64814a:	50                   	push   %eax
64814b:	e8 20 98 ff ff       	call   0x641970
648150:	ff 77 7c             	push   0x7c(%edi)
648153:	e8 78 83 ea ff       	call   0x4f04d0
648158:	8b 47 5c             	mov    0x5c(%edi),%eax
64815b:	8d 77 48             	lea    0x48(%edi),%esi
64815e:	83 c4 04             	add    $0x4,%esp
648161:	83 f8 08             	cmp    $0x8,%eax
648164:	72 0b                	jb     0x648171
648166:	40                   	inc    %eax
648167:	8b ce                	mov    %esi,%ecx
648169:	50                   	push   %eax
64816a:	ff 36                	push   (%esi)
64816c:	e8 6f 0c df ff       	call   0x438de0
648171:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
648178:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
64817f:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
648183:	72 02                	jb     0x648187
648185:	8b 36                	mov    (%esi),%esi
648187:	33 c0                	xor    %eax,%eax
648189:	66 89 06             	mov    %ax,(%esi)
64818c:	8d 77 30             	lea    0x30(%edi),%esi
64818f:	8b 46 14             	mov    0x14(%esi),%eax
648192:	83 f8 08             	cmp    $0x8,%eax
648195:	72 0b                	jb     0x6481a2