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
42b330:	57                   	push   %edi
42b331:	53                   	push   %ebx
42b332:	e8 0b 22 fe ff       	call   0x40d542
42b337:	8b f0                	mov    %eax,%esi
42b339:	89 75 f0             	mov    %esi,-0x10(%ebp)
42b33c:	85 f6                	test   %esi,%esi
42b33e:	79 23                	jns    0x42b363
42b340:	56                   	push   %esi
42b341:	68 b8 01 00 00       	push   $0x1b8
42b346:	68 74 e9 45 00       	push   $0x45e974
42b34b:	e8 83 84 fd ff       	call   0x4037d3
42b350:	68 d0 ea 45 00       	push   $0x45ead0
42b355:	56                   	push   %esi
42b356:	e8 d4 4d 01 00       	call   0x44012f
42b35b:	8b 5d 14             	mov    0x14(%ebp),%ebx
42b35e:	e9 37 05 00 00       	jmp    0x42b89a
42b363:	8b 55 c8             	mov    -0x38(%ebp),%edx
42b366:	8b 4d cc             	mov    -0x34(%ebp),%ecx
42b369:	8b 5d 14             	mov    0x14(%ebp),%ebx
42b36c:	89 55 fc             	mov    %edx,-0x4(%ebp)
42b36f:	89 4d f8             	mov    %ecx,-0x8(%ebp)
42b372:	33 f6                	xor    %esi,%esi
42b374:	c7 45 e4 00 00 00 80 	movl   $0x80000000,-0x1c(%ebp)
42b37b:	21 75 cc             	and    %esi,-0x34(%ebp)
42b37e:	33 c0                	xor    %eax,%eax
42b380:	89 45 e0             	mov    %eax,-0x20(%ebp)
42b383:	8b 45 e8             	mov    -0x18(%ebp),%eax
42b386:	3d 00 00 00 80       	cmp    $0x80000000,%eax
42b38b:	89 75 f0             	mov    %esi,-0x10(%ebp)
42b38e:	0f 44 c6             	cmove  %esi,%eax
42b391:	6b f0 28             	imul   $0x28,%eax,%esi
42b394:	89 45 d4             	mov    %eax,-0x2c(%ebp)
42b397:	89 75 d0             	mov    %esi,-0x30(%ebp)
42b39a:	8b 75 f0             	mov    -0x10(%ebp),%esi
42b39d:	3b 43 50             	cmp    0x50(%ebx),%eax
42b3a0:	0f 83 ca 03 00 00    	jae    0x42b770
42b3a6:	8b 7b 4c             	mov    0x4c(%ebx),%edi
42b3a9:	03 7d d0             	add    -0x30(%ebp),%edi
42b3ac:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
42b3b0:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
42b3b4:	74 09                	je     0x42b3bf
42b3b6:	39 45 e8             	cmp    %eax,-0x18(%ebp)
42b3b9:	75 17                	jne    0x42b3d2
42b3bb:	83 67 04 00          	andl   $0x0,0x4(%edi)
42b3bf:	8b 07                	mov    (%edi),%eax
42b3c1:	48                   	dec    %eax
42b3c2:	83 f8 0b             	cmp    $0xb,%eax
42b3c5:	0f 87 8f 03 00 00    	ja     0x42b75a
42b3cb:	ff 24 85 32 b9 42 00 	jmp    *0x42b932(,%eax,4)
42b3d2:	57                   	push   %edi
42b3d3:	e8 c2 f8 ff ff       	call   0x42ac9a
42b3d8:	01 45 fc             	add    %eax,-0x4(%ebp)
42b3db:	13 ca                	adc    %edx,%ecx
42b3dd:	89 4d f8             	mov    %ecx,-0x8(%ebp)
42b3e0:	e9 72 03 00 00       	jmp    0x42b757
42b3e5:	8b 47 08             	mov    0x8(%edi),%eax
42b3e8:	89 45 c4             	mov    %eax,-0x3c(%ebp)
42b3eb:	e9 6a 03 00 00       	jmp    0x42b75a
42b3f0:	ff 73 24             	push   0x24(%ebx)
42b3f3:	ff 73 20             	push   0x20(%ebx)
42b3f6:	51                   	push   %ecx
42b3f7:	52                   	push   %edx
42b3f8:	ff 77 10             	push   0x10(%edi)
42b3fb:	ff 77 0c             	push   0xc(%edi)
42b3fe:	ff 77 08             	push   0x8(%edi)
42b401:	ff 75 18             	push   0x18(%ebp)
42b404:	ff 75 10             	push   0x10(%ebp)
42b407:	ff 75 0c             	push   0xc(%ebp)
42b40a:	e8 c7 f8 ff ff       	call   0x42acd6
42b40f:	8b f0                	mov    %eax,%esi
42b411:	89 75 f0             	mov    %esi,-0x10(%ebp)
42b414:	85 f6                	test   %esi,%esi
42b416:	0f 88 38 03 00 00    	js     0x42b754
42b41c:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b41f:	03 47 18             	add    0x18(%edi),%eax
42b422:	89 45 fc             	mov    %eax,-0x4(%ebp)
42b425:	8b 45 f8             	mov    -0x8(%ebp),%eax
42b428:	13 47 1c             	adc    0x1c(%edi),%eax
42b42b:	33 ff                	xor    %edi,%edi
42b42d:	89 45 f8             	mov    %eax,-0x8(%ebp)
42b430:	8b 45 1c             	mov    0x1c(%ebp),%eax
42b433:	ff 00                	incl   (%eax)
42b435:	ff 30                	push   (%eax)
42b437:	ff 73 34             	push   0x34(%ebx)
42b43a:	57                   	push   %edi
42b43b:	ff 75 0c             	push   0xc(%ebp)
42b43e:	e8 80 fe ff ff       	call   0x42b2c3
42b443:	8b f0                	mov    %eax,%esi
42b445:	89 75 f0             	mov    %esi,-0x10(%ebp)
42b448:	85 f6                	test   %esi,%esi
42b44a:	0f 89 04 03 00 00    	jns    0x42b754
42b450:	57                   	push   %edi
42b451:	57                   	push   %edi
42b452:	68 e4 ea 45 00       	push   $0x45eae4
42b457:	57                   	push   %edi
42b458:	68 38 00 00 e0       	push   $0xe0000038
42b45d:	56                   	push   %esi
42b45e:	e8 6c 4c 01 00       	call   0x4400cf
42b463:	e9 ec 02 00 00       	jmp    0x42b754
42b468:	ff 77 14             	push   0x14(%edi)
42b46b:	8b 45 d4             	mov    -0x2c(%ebp),%eax
42b46e:	ff 77 10             	push   0x10(%edi)
42b471:	8b 75 0c             	mov    0xc(%ebp),%esi
42b474:	ff 77 0c             	push   0xc(%edi)
42b477:	89 45 dc             	mov    %eax,-0x24(%ebp)
42b47a:	8b 47 18             	mov    0x18(%edi),%eax
42b47d:	89 45 d8             	mov    %eax,-0x28(%ebp)
42b480:	8b 47 08             	mov    0x8(%edi),%eax
42b483:	89 45 f4             	mov    %eax,-0xc(%ebp)
42b486:	8b 46 10             	mov    0x10(%esi),%eax
42b489:	8b 7d f4             	mov    -0xc(%ebp),%edi
42b48c:	8b 08                	mov    (%eax),%ecx
42b48e:	ff 37                	push   (%edi)
42b490:	50                   	push   %eax
42b491:	ff 91 8c 00 00 00    	call   *0x8c(%ecx)
42b497:	50                   	push   %eax
42b498:	6a 01                	push   $0x1
42b49a:	6a 00                	push   $0x0
42b49c:	56                   	push   %esi
42b49d:	e8 a0 20 fe ff       	call   0x40d542
42b4a2:	8b f0                	mov    %eax,%esi
42b4a4:	89 75 f0             	mov    %esi,-0x10(%ebp)
42b4a7:	85 f6                	test   %esi,%esi
42b4a9:	79 16                	jns    0x42b4c1
42b4ab:	6a 00                	push   $0x0
42b4ad:	ff 37                	push   (%edi)
42b4af:	68 00 eb 45 00       	push   $0x45eb00
42b4b4:	6a 00                	push   $0x0
42b4b6:	68 38 00 00 e0       	push   $0xe0000038
42b4bb:	56                   	push   %esi
42b4bc:	e8 0e 4c 01 00       	call   0x4400cf
42b4c1:	8b 4d f8             	mov    -0x8(%ebp),%ecx
42b4c4:	8b 55 fc             	mov    -0x4(%ebp),%edx
42b4c7:	e9 91 02 00 00       	jmp    0x42b75d
42b4cc:	ff 73 24             	push   0x24(%ebx)
42b4cf:	ff 73 20             	push   0x20(%ebx)
42b4d2:	51                   	push   %ecx
42b4d3:	52                   	push   %edx
42b4d4:	ff 77 0c             	push   0xc(%edi)
42b4d7:	6a 00                	push   $0x0
42b4d9:	6a 00                	push   $0x0
42b4db:	ff 77 08             	push   0x8(%edi)
42b4de:	ff 75 10             	push   0x10(%ebp)
42b4e1:	ff 75 0c             	push   0xc(%ebp)
42b4e4:	e8 33 e0 ff ff       	call   0x42951c
42b4e9:	8b f0                	mov    %eax,%esi
42b4eb:	8b 47 08             	mov    0x8(%edi),%eax
42b4ee:	89 75 f0             	mov    %esi,-0x10(%ebp)
42b4f1:	85 f6                	test   %esi,%esi
42b4f3:	78 17                	js     0x42b50c
42b4f5:	8b 55 fc             	mov    -0x4(%ebp),%edx
42b4f8:	03 50 18             	add    0x18(%eax),%edx
42b4fb:	8b 4d f8             	mov    -0x8(%ebp),%ecx
42b4fe:	13 48 1c             	adc    0x1c(%eax),%ecx
42b501:	89 55 fc             	mov    %edx,-0x4(%ebp)
42b504:	89 4d f8             	mov    %ecx,-0x8(%ebp)
42b507:	e9 4e 02 00 00       	jmp    0x42b75a
42b50c:	6a 00                	push   $0x0
42b50e:	ff 77 0c             	push   0xc(%edi)
42b511:	ff 30                	push   (%eax)
42b513:	6a 00                	push   $0x0
42b515:	68 37 01 00 e0       	push   $0xe0000137
42b51a:	e9 3e ff ff ff       	jmp    0x42b45d
42b51f:	8b 47 18             	mov    0x18(%edi),%eax
42b522:	3d 00 00 00 80       	cmp    $0x80000000,%eax
42b527:	74 18                	je     0x42b541
42b529:	6b c8 28             	imul   $0x28,%eax,%ecx
42b52c:	8b 43 4c             	mov    0x4c(%ebx),%eax
42b52f:	83 7c 01 04 00       	cmpl   $0x0,0x4(%ecx,%eax,1)
42b534:	74 0b                	je     0x42b541
42b536:	03 57 10             	add    0x10(%edi),%edx
42b539:	8b 4d f8             	mov    -0x8(%ebp),%ecx
42b53c:	13 4f 14             	adc    0x14(%edi),%ecx
42b53f:	eb c0                	jmp    0x42b501
42b541:	ff 77 24             	push   0x24(%edi)