42afa1:	eb 06                	jmp    0x42afa9
42afa3:	8b 7e 10             	mov    0x10(%esi),%edi
42afa6:	8b 46 14             	mov    0x14(%esi),%eax
42afa9:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
42afac:	89 45 f8             	mov    %eax,-0x8(%ebp)
42afaf:	2b cf                	sub    %edi,%ecx
42afb1:	8b 45 14             	mov    0x14(%ebp),%eax
42afb4:	89 45 d4             	mov    %eax,-0x2c(%ebp)
42afb7:	8b 45 20             	mov    0x20(%ebp),%eax
42afba:	1b 45 f8             	sbb    -0x8(%ebp),%eax
42afbd:	89 45 e0             	mov    %eax,-0x20(%ebp)
42afc0:	8b 45 24             	mov    0x24(%ebp),%eax
42afc3:	89 45 e4             	mov    %eax,-0x1c(%ebp)
42afc6:	8b 45 28             	mov    0x28(%ebp),%eax
42afc9:	89 45 e8             	mov    %eax,-0x18(%ebp)
42afcc:	8b 45 3c             	mov    0x3c(%ebp),%eax
42afcf:	89 75 d8             	mov    %esi,-0x28(%ebp)
42afd2:	8b 75 08             	mov    0x8(%ebp),%esi
42afd5:	89 7d f4             	mov    %edi,-0xc(%ebp)
42afd8:	83 20 00             	andl   $0x0,(%eax)
42afdb:	8b 7d 18             	mov    0x18(%ebp),%edi
42afde:	89 5d d0             	mov    %ebx,-0x30(%ebp)
42afe1:	89 75 cc             	mov    %esi,-0x34(%ebp)
42afe4:	89 4d dc             	mov    %ecx,-0x24(%ebp)
42afe7:	eb 03                	jmp    0x42afec
42afe9:	8b 75 08             	mov    0x8(%ebp),%esi
42afec:	8b 46 10             	mov    0x10(%esi),%eax
42afef:	52                   	push   %edx
42aff0:	ff 75 10             	push   0x10(%ebp)
42aff3:	8b 08                	mov    (%eax),%ecx
42aff5:	50                   	push   %eax
42aff6:	ff 91 a0 00 00 00    	call   *0xa0(%ecx)
42affc:	50                   	push   %eax
42affd:	6a 01                	push   $0x1
42afff:	6a 00                	push   $0x0
42b001:	56                   	push   %esi
42b002:	e8 3b 25 fe ff       	call   0x40d542
42b007:	8b f0                	mov    %eax,%esi
42b009:	85 f6                	test   %esi,%esi
42b00b:	0f 88 22 01 00 00    	js     0x42b133
42b011:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
42b015:	ff 75 34             	push   0x34(%ebp)
42b018:	ff 75 30             	push   0x30(%ebp)
42b01b:	74 12                	je     0x42b02f
42b01d:	ff 75 2c             	push   0x2c(%ebp)
42b020:	57                   	push   %edi
42b021:	ff 75 14             	push   0x14(%ebp)
42b024:	53                   	push   %ebx
42b025:	ff 75 0c             	push   0xc(%ebp)
42b028:	e8 ba 1e ff ff       	call   0x41cee7
42b02d:	eb 2b                	jmp    0x42b05a
42b02f:	8b 45 2c             	mov    0x2c(%ebp),%eax
42b032:	85 c0                	test   %eax,%eax
42b034:	74 15                	je     0x42b04b
42b036:	50                   	push   %eax
42b037:	85 db                	test   %ebx,%ebx
42b039:	74 08                	je     0x42b043
42b03b:	53                   	push   %ebx
42b03c:	e8 4d f5 fe ff       	call   0x41a58e
42b041:	eb 17                	jmp    0x42b05a
42b043:	57                   	push   %edi
42b044:	e8 b4 f5 fe ff       	call   0x41a5fd
42b049:	eb 0f                	jmp    0x42b05a
42b04b:	8b 45 14             	mov    0x14(%ebp),%eax
42b04e:	ff 70 24             	push   0x24(%eax)
42b051:	57                   	push   %edi
42b052:	ff 70 14             	push   0x14(%eax)
42b055:	e8 3f ec fe ff       	call   0x419c99
42b05a:	8b f0                	mov    %eax,%esi
42b05c:	85 f6                	test   %esi,%esi
42b05e:	0f 88 87 00 00 00    	js     0x42b0eb
42b064:	8b 4d f8             	mov    -0x8(%ebp),%ecx
42b067:	8d 45 cc             	lea    -0x34(%ebp),%eax
42b06a:	50                   	push   %eax
42b06b:	6a ff                	push   $0xffffffff
42b06d:	6a ff                	push   $0xffffffff
42b06f:	33 c0                	xor    %eax,%eax
42b071:	50                   	push   %eax
42b072:	50                   	push   %eax
42b073:	50                   	push   %eax
42b074:	50                   	push   %eax
42b075:	50                   	push   %eax
42b076:	50                   	push   %eax
42b077:	8b 45 f4             	mov    -0xc(%ebp),%eax
42b07a:	51                   	push   %ecx
42b07b:	50                   	push   %eax
42b07c:	51                   	push   %ecx
42b07d:	50                   	push   %eax
42b07e:	e8 b9 e8 ff ff       	call   0x42993c
42b083:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
42b087:	75 6d                	jne    0x42b0f6
42b089:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
42b08d:	b8 43 06 07 80       	mov    $0x80070643,%eax
42b092:	0f 45 f0             	cmovne %eax,%esi
42b095:	85 f6                	test   %esi,%esi
42b097:	78 62                	js     0x42b0fb
42b099:	33 d2                	xor    %edx,%edx
42b09b:	8b 45 08             	mov    0x8(%ebp),%eax
42b09e:	52                   	push   %edx
42b09f:	8b 55 fc             	mov    -0x4(%ebp),%edx
42b0a2:	56                   	push   %esi
42b0a3:	8b 40 10             	mov    0x10(%eax),%eax
42b0a6:	52                   	push   %edx
42b0a7:	ff 75 10             	push   0x10(%ebp)
42b0aa:	8b 08                	mov    (%eax),%ecx
42b0ac:	50                   	push   %eax
42b0ad:	ff 91 a4 00 00 00    	call   *0xa4(%ecx)
42b0b3:	50                   	push   %eax
42b0b4:	6a 0f                	push   $0xf
42b0b6:	6a 00                	push   $0x0
42b0b8:	ff 75 08             	push   0x8(%ebp)
42b0bb:	e8 49 23 fe ff       	call   0x40d409
42b0c0:	85 f6                	test   %esi,%esi
42b0c2:	79 1a                	jns    0x42b0de
42b0c4:	8b 55 fc             	mov    -0x4(%ebp),%edx
42b0c7:	83 f8 04             	cmp    $0x4,%eax
42b0ca:	0f 84 19 ff ff ff    	je     0x42afe9
42b0d0:	83 f8 0a             	cmp    $0xa,%eax
42b0d3:	75 09                	jne    0x42b0de
42b0d5:	8b 45 3c             	mov    0x3c(%ebp),%eax
42b0d8:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
42b0de:	83 fe 01             	cmp    $0x1,%esi
42b0e1:	75 6d                	jne    0x42b150
42b0e3:	8b 55 fc             	mov    -0x4(%ebp),%edx
42b0e6:	e9 fe fe ff ff       	jmp    0x42afe9
42b0eb:	83 7d 38 02          	cmpl   $0x2,0x38(%ebp)
42b0ef:	73 a8                	jae    0x42b099
42b0f1:	6a 0a                	push   $0xa
42b0f3:	5a                   	pop    %edx
42b0f4:	eb a5                	jmp    0x42b09b
42b0f6:	be 42 06 07 80       	mov    $0x80070642,%esi
42b0fb:	56                   	push   %esi
42b0fc:	68 da 04 00 00       	push   $0x4da
42b101:	68 74 e9 45 00       	push   $0x45e974
42b106:	e8 c8 86 fd ff       	call   0x4037d3
42b10b:	8b 55 fc             	mov    -0x4(%ebp),%edx
42b10e:	85 db                	test   %ebx,%ebx
42b110:	b9 9c ef 45 00       	mov    $0x45ef9c,%ecx
42b115:	b8 90 ef 45 00       	mov    $0x45ef90,%eax
42b11a:	0f 45 55 10          	cmovne 0x10(%ebp),%edx
42b11e:	0f 44 c1             	cmove  %ecx,%eax
42b121:	52                   	push   %edx
42b122:	50                   	push   %eax
42b123:	68 a4 ef 45 00       	push   $0x45efa4
42b128:	56                   	push   %esi
42b129:	e8 01 50 01 00       	call   0x44012f
42b12e:	83 c4 10             	add    $0x10,%esp
42b131:	eb 1d                	jmp    0x42b150
42b133:	56                   	push   %esi
42b134:	68 b4 04 00 00       	push   $0x4b4
42b139:	68 74 e9 45 00       	push   $0x45e974
42b13e:	e8 90 86 fd ff       	call   0x4037d3
42b143:	68 f0 ed 45 00       	push   $0x45edf0
42b148:	56                   	push   %esi
42b149:	e8 e1 4f 01 00       	call   0x44012f
42b14e:	59                   	pop    %ecx
42b14f:	59                   	pop    %ecx
42b150:	5f                   	pop    %edi
42b151:	8b c6                	mov    %esi,%eax
42b153:	5e                   	pop    %esi
42b154:	5b                   	pop    %ebx
42b155:	8b e5                	mov    %ebp,%esp
42b157:	5d                   	pop    %ebp
42b158:	c2 38 00             	ret    $0x38
42b15b:	55                   	push   %ebp
42b15c:	8b ec                	mov    %esp,%ebp
42b15e:	53                   	push   %ebx
42b15f:	56                   	push   %esi
42b160:	8b 75 08             	mov    0x8(%ebp),%esi
42b163:	33 db                	xor    %ebx,%ebx
42b165:	57                   	push   %edi
42b166:	8b 7d 0c             	mov    0xc(%ebp),%edi
42b169:	8b 06                	mov    (%esi),%eax
42b16b:	83 e8 01             	sub    $0x1,%eax
42b16e:	74 7b                	je     0x42b1eb
42b170:	83 e8 01             	sub    $0x1,%eax
42b173:	74 50                	je     0x42b1c5
42b175:	83 e8 01             	sub    $0x1,%eax
42b178:	74 24                	je     0x42b19e
42b17a:	83 e8 01             	sub    $0x1,%eax
42b17d:	0f 85 94 00 00 00    	jne    0x42b217
42b183:	8b 07                	mov    (%edi),%eax
42b185:	ff 76 18             	push   0x18(%esi)
42b188:	ff 76 14             	push   0x14(%esi)
42b18b:	8b 48 10             	mov    0x10(%eax),%ecx
42b18e:	8b 47 08             	mov    0x8(%edi),%eax
42b191:	8b 11                	mov    (%ecx),%edx
42b193:	ff 30                	push   (%eax)
42b195:	51                   	push   %ecx
42b196:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
42b19c:	eb 77                	jmp    0x42b215
42b19e:	ff 76 10             	push   0x10(%esi)
42b1a1:	8b 07                	mov    (%edi),%eax
42b1a3:	ff 76 0c             	push   0xc(%esi)
42b1a6:	ff 76 08             	push   0x8(%esi)
42b1a9:	8b 48 10             	mov    0x10(%eax),%ecx
42b1ac:	ff 76 18             	push   0x18(%esi)
42b1af:	8b 47 08             	mov    0x8(%edi),%eax
42b1b2:	ff 76 04             	push   0x4(%esi)
42b1b5:	8b 11                	mov    (%ecx),%edx
42b1b7:	ff 76 14             	push   0x14(%esi)
42b1ba:	ff 30                	push   (%eax)
42b1bc:	51                   	push   %ecx
42b1bd:	ff 92 c0 00 00 00    	call   *0xc0(%edx)
42b1c3:	eb 50                	jmp    0x42b215
42b1c5:	ff 76 10             	push   0x10(%esi)
42b1c8:	8b 07                	mov    (%edi),%eax
42b1ca:	ff 76 0c             	push   0xc(%esi)
42b1cd:	ff 76 08             	push   0x8(%esi)
42b1d0:	8b 48 10             	mov    0x10(%eax),%ecx
42b1d3:	ff 76 04             	push   0x4(%esi)
42b1d6:	8b 47 08             	mov    0x8(%edi),%eax
42b1d9:	ff 76 18             	push   0x18(%esi)
42b1dc:	8b 11                	mov    (%ecx),%edx
42b1de:	ff 76 14             	push   0x14(%esi)
42b1e1:	ff 30                	push   (%eax)
42b1e3:	6a 01                	push   $0x1
42b1e5:	51                   	push   %ecx
42b1e6:	ff 52 7c             	call   *0x7c(%edx)
42b1e9:	eb 2a                	jmp    0x42b215
42b1eb:	39 5f 10             	cmp    %ebx,0x10(%edi)
42b1ee:	74 0e                	je     0x42b1fe
42b1f0:	6b 47 0c 64          	imul   $0x64,0xc(%edi),%eax
42b1f4:	33 d2                	xor    %edx,%edx
42b1f6:	03 46 14             	add    0x14(%esi),%eax
42b1f9:	f7 77 10             	divl   0x10(%edi)
42b1fc:	8b d8                	mov    %eax,%ebx
42b1fe:	8b 07                	mov    (%edi),%eax
42b200:	53                   	push   %ebx
42b201:	ff 76 14             	push   0x14(%esi)
42b204:	8b 48 10             	mov    0x10(%eax),%ecx
42b207:	8b 47 08             	mov    0x8(%edi),%eax
42b20a:	8b 11                	mov    (%ecx),%edx
42b20c:	ff 30                	push   (%eax)
42b20e:	51                   	push   %ecx
42b20f:	ff 92 bc 00 00 00    	call   *0xbc(%edx)
42b215:	8b d8                	mov    %eax,%ebx
42b217:	53                   	push   %ebx
42b218:	ff 76 04             	push   0x4(%esi)
42b21b:	ff 77 04             	push   0x4(%edi)
42b21e:	ff 37                	push   (%edi)
42b220:	e8 e4 21 fe ff       	call   0x40d409
42b225:	5f                   	pop    %edi
42b226:	5e                   	pop    %esi
42b227:	5b                   	pop    %ebx
42b228:	5d                   	pop    %ebp
42b229:	c2 08 00             	ret    $0x8
42b22c:	55                   	push   %ebp
42b22d:	8b ec                	mov    %esp,%ebp
42b22f:	56                   	push   %esi
42b230:	57                   	push   %edi
42b231:	8b 7d 08             	mov    0x8(%ebp),%edi
42b234:	33 f6                	xor    %esi,%esi
42b236:	57                   	push   %edi
42b237:	e8 07 22 fe ff       	call   0x40d443
42b23c:	ff 75 18             	push   0x18(%ebp)
42b23f:	8b 47 10             	mov    0x10(%edi),%eax
42b242:	ff 75 14             	push   0x14(%ebp)
42b245:	ff 75 10             	push   0x10(%ebp)
42b248:	8b 08                	mov    (%eax),%ecx
42b24a:	ff 75 0c             	push   0xc(%ebp)
42b24d:	50                   	push   %eax
42b24e:	ff 91 98 00 00 00    	call   *0x98(%ecx)
42b254:	83 f8 03             	cmp    $0x3,%eax
42b257:	7f 23                	jg     0x42b27c
42b259:	74 13                	je     0x42b26e
42b25b:	83 f8 ff             	cmp    $0xffffffff,%eax
42b25e:	74 15                	je     0x42b275
42b260:	85 c0                	test   %eax,%eax
42b262:	74 3f                	je     0x42b2a3
42b264:	83 f8 01             	cmp    $0x1,%eax
42b267:	74 3a                	je     0x42b2a3
42b269:	83 f8 02             	cmp    $0x2,%eax
42b26c:	75 23                	jne    0x42b291
42b26e:	be 42 06 07 80       	mov    $0x80070642,%esi
42b273:	eb 3e                	jmp    0x42b2b3
42b275:	be 43 06 07 80       	mov    $0x80070643,%esi
42b27a:	eb 37                	jmp    0x42b2b3
42b27c:	83 e8 04             	sub    $0x4,%eax
42b27f:	74 29                	je     0x42b2aa
42b281:	48                   	dec    %eax
42b282:	83 e8 01             	sub    $0x1,%eax
42b285:	74 1c                	je     0x42b2a3
42b287:	83 e8 01             	sub    $0x1,%eax
42b28a:	74 e2                	je     0x42b26e
42b28c:	83 e8 5e             	sub    $0x5e,%eax
42b28f:	74 07                	je     0x42b298
42b291:	be 57 00 07 80       	mov    $0x80070057,%esi
42b296:	eb 1b                	jmp    0x42b2b3
42b298:	8b 45 20             	mov    0x20(%ebp),%eax
42b29b:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
42b2a1:	eb 10                	jmp    0x42b2b3
42b2a3:	be 02 00 07 80       	mov    $0x80070002,%esi
42b2a8:	eb 09                	jmp    0x42b2b3
42b2aa:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
42b2ad:	c7 01 01 00 00 00    	movl   $0x1,(%ecx)
42b2b3:	6a 00                	push   $0x0
42b2b5:	57                   	push   %edi
42b2b6:	e8 e2 20 fe ff       	call   0x40d39d
42b2bb:	5f                   	pop    %edi
42b2bc:	8b c6                	mov    %esi,%eax
42b2be:	5e                   	pop    %esi
42b2bf:	5d                   	pop    %ebp
42b2c0:	c2 1c 00             	ret    $0x1c
42b2c3:	55                   	push   %ebp
42b2c4:	8b ec                	mov    %esp,%ebp
42b2c6:	33 d2                	xor    %edx,%edx
42b2c8:	39 55 10             	cmp    %edx,0x10(%ebp)
42b2cb:	74 09                	je     0x42b2d6
42b2cd:	6b 45 14 64          	imul   $0x64,0x14(%ebp),%eax
42b2d1:	f7 75 10             	divl   0x10(%ebp)
42b2d4:	8b d0                	mov    %eax,%edx
42b2d6:	56                   	push   %esi
42b2d7:	8b 75 08             	mov    0x8(%ebp),%esi
42b2da:	52                   	push   %edx
42b2db:	52                   	push   %edx
42b2dc:	8b 46 10             	mov    0x10(%esi),%eax
42b2df:	50                   	push   %eax
42b2e0:	8b 08                	mov    (%eax),%ecx
42b2e2:	ff 51 78             	call   *0x78(%ecx)
42b2e5:	50                   	push   %eax
42b2e6:	6a 01                	push   $0x1
42b2e8:	ff 75 0c             	push   0xc(%ebp)
42b2eb:	56                   	push   %esi
42b2ec:	e8 51 22 fe ff       	call   0x40d542
42b2f1:	5e                   	pop    %esi
42b2f2:	5d                   	pop    %ebp
42b2f3:	c2 10 00             	ret    $0x10
42b2f6:	55                   	push   %ebp
42b2f7:	8b ec                	mov    %esp,%ebp
42b2f9:	83 ec 3c             	sub    $0x3c,%esp
42b2fc:	83 65 c4 00          	andl   $0x0,-0x3c(%ebp)
42b300:	b9 00 00 00 80       	mov    $0x80000000,%ecx
42b305:	53                   	push   %ebx
42b306:	8b 5d 0c             	mov    0xc(%ebp),%ebx
42b309:	0f 57 c0             	xorps  %xmm0,%xmm0
42b30c:	56                   	push   %esi
42b30d:	89 4d e8             	mov    %ecx,-0x18(%ebp)
42b310:	89 4d dc             	mov    %ecx,-0x24(%ebp)
42b313:	8b 43 10             	mov    0x10(%ebx),%eax
42b316:	89 4d d8             	mov    %ecx,-0x28(%ebp)
42b319:	57                   	push   %edi
42b31a:	33 ff                	xor    %edi,%edi
42b31c:	66 0f 13 45 c8       	movlpd %xmm0,-0x38(%ebp)
42b321:	8b 08                	mov    (%eax),%ecx
42b323:	50                   	push   %eax
42b324:	89 7d f4             	mov    %edi,-0xc(%ebp)
42b327:	ff 91 88 00 00 00    	call   *0x88(%ecx)
42b32d:	50                   	push   %eax
42b32e:	6a 01                	push   $0x1