415298:	83 f8 ff             	cmp    $0xffffffff,%eax
41529b:	75 3b                	jne    0x4152d8
41529d:	ff 15 e8 b0 44 00    	call   *0x44b0e8
4152a3:	0f b7 f0             	movzwl %ax,%esi
4152a6:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4152ac:	85 c0                	test   %eax,%eax
4152ae:	0f 4e f0             	cmovle %eax,%esi
4152b1:	b8 05 40 00 80       	mov    $0x80004005,%eax
4152b6:	85 f6                	test   %esi,%esi
4152b8:	0f 49 f0             	cmovns %eax,%esi
4152bb:	56                   	push   %esi
4152bc:	68 42 02 00 00       	push   $0x242
4152c1:	68 b0 3f 45 00       	push   $0x453fb0
4152c6:	e8 08 e5 fe ff       	call   0x4037d3
4152cb:	68 0c 45 45 00       	push   $0x45450c
4152d0:	56                   	push   %esi
4152d1:	e8 59 ae 02 00       	call   0x44012f
4152d6:	59                   	pop    %ecx
4152d7:	59                   	pop    %ecx
4152d8:	5f                   	pop    %edi
4152d9:	5b                   	pop    %ebx
4152da:	8b c6                	mov    %esi,%eax
4152dc:	5e                   	pop    %esi
4152dd:	8b e5                	mov    %ebp,%esp
4152df:	5d                   	pop    %ebp
4152e0:	c2 0c 00             	ret    $0xc
4152e3:	55                   	push   %ebp
4152e4:	8b ec                	mov    %esp,%ebp
4152e6:	83 ec 24             	sub    $0x24,%esp
4152e9:	8b 4d 08             	mov    0x8(%ebp),%ecx
4152ec:	53                   	push   %ebx
4152ed:	56                   	push   %esi
4152ee:	57                   	push   %edi
4152ef:	8b 41 10             	mov    0x10(%ecx),%eax
4152f2:	33 f6                	xor    %esi,%esi
4152f4:	89 45 dc             	mov    %eax,-0x24(%ebp)
4152f7:	8b 41 14             	mov    0x14(%ecx),%eax
4152fa:	89 45 e0             	mov    %eax,-0x20(%ebp)
4152fd:	8b 41 04             	mov    0x4(%ecx),%eax
415300:	50                   	push   %eax
415301:	89 45 ec             	mov    %eax,-0x14(%ebp)
415304:	ff 15 f8 b0 44 00    	call   *0x44b0f8
41530a:	03 c0                	add    %eax,%eax
41530c:	89 45 f4             	mov    %eax,-0xc(%ebp)
41530f:	ff 15 2c b1 44 00    	call   *0x44b12c
415315:	21 75 e4             	and    %esi,-0x1c(%ebp)
415318:	21 75 08             	and    %esi,0x8(%ebp)
41531b:	8b 3d e8 b0 44 00    	mov    0x44b0e8,%edi
415321:	89 45 e8             	mov    %eax,-0x18(%ebp)
415324:	33 c0                	xor    %eax,%eax
415326:	89 45 f0             	mov    %eax,-0x10(%ebp)
415329:	8b 5c 85 dc          	mov    -0x24(%ebp,%eax,4),%ebx
41532d:	83 fb ff             	cmp    $0xffffffff,%ebx
415330:	0f 84 7c 02 00 00    	je     0x4155b2
415336:	6a 00                	push   $0x0
415338:	6a 00                	push   $0x0
41533a:	8d 45 fc             	lea    -0x4(%ebp),%eax
41533d:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
415344:	50                   	push   %eax
415345:	53                   	push   %ebx
415346:	ff 15 18 b2 44 00    	call   *0x44b218
41534c:	85 c0                	test   %eax,%eax
41534e:	0f 84 27 02 00 00    	je     0x41557b
415354:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
415358:	6a 00                	push   $0x0
41535a:	53                   	push   %ebx
41535b:	ff 15 14 b2 44 00    	call   *0x44b214
415361:	85 c0                	test   %eax,%eax
415363:	75 37                	jne    0x41539c
415365:	ff d7                	call   *%edi
415367:	3d 17 02 00 00       	cmp    $0x217,%eax
41536c:	0f 84 e5 00 00 00    	je     0x415457
415372:	3d 18 02 00 00       	cmp    $0x218,%eax
415377:	0f 85 c7 00 00 00    	jne    0x415444
41537d:	8b 45 f8             	mov    -0x8(%ebp),%eax
415380:	3d 08 07 00 00       	cmp    $0x708,%eax
415385:	0f 83 d3 00 00 00    	jae    0x41545e
41538b:	40                   	inc    %eax
41538c:	be 18 02 07 80       	mov    $0x80070218,%esi
415391:	6a 64                	push   $0x64
415393:	89 45 f8             	mov    %eax,-0x8(%ebp)
415396:	ff 15 08 b1 44 00    	call   *0x44b108
41539c:	81 fe 18 02 07 80    	cmp    $0x80070218,%esi
4153a2:	74 b4                	je     0x415358
4153a4:	85 f6                	test   %esi,%esi
4153a6:	0f 88 b7 00 00 00    	js     0x415463
4153ac:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4153b0:	8d 45 fc             	lea    -0x4(%ebp),%eax
4153b3:	6a 00                	push   $0x0
4153b5:	6a 00                	push   $0x0
4153b7:	50                   	push   %eax
4153b8:	53                   	push   %ebx
4153b9:	ff 15 18 b2 44 00    	call   *0x44b218
4153bf:	85 c0                	test   %eax,%eax
4153c1:	0f 84 83 01 00 00    	je     0x41554a
4153c7:	6a 00                	push   $0x0
4153c9:	8d 45 08             	lea    0x8(%ebp),%eax
4153cc:	50                   	push   %eax
4153cd:	6a 04                	push   $0x4
4153cf:	8d 45 f4             	lea    -0xc(%ebp),%eax
4153d2:	50                   	push   %eax
4153d3:	53                   	push   %ebx
4153d4:	ff 15 30 b1 44 00    	call   *0x44b130
4153da:	85 c0                	test   %eax,%eax
4153dc:	0f 84 37 01 00 00    	je     0x415519
4153e2:	6a 00                	push   $0x0
4153e4:	8d 45 08             	lea    0x8(%ebp),%eax
4153e7:	50                   	push   %eax
4153e8:	ff 75 f4             	push   -0xc(%ebp)
4153eb:	ff 75 ec             	push   -0x14(%ebp)
4153ee:	53                   	push   %ebx
4153ef:	ff 15 30 b1 44 00    	call   *0x44b130
4153f5:	85 c0                	test   %eax,%eax
4153f7:	0f 84 e8 00 00 00    	je     0x4154e5
4153fd:	6a 00                	push   $0x0
4153ff:	8d 45 08             	lea    0x8(%ebp),%eax
415402:	50                   	push   %eax
415403:	6a 04                	push   $0x4
415405:	8d 45 e8             	lea    -0x18(%ebp),%eax
415408:	50                   	push   %eax
415409:	53                   	push   %ebx
41540a:	ff 15 30 b1 44 00    	call   *0x44b130
415410:	85 c0                	test   %eax,%eax
415412:	0f 84 99 00 00 00    	je     0x4154b1
415418:	6a 00                	push   $0x0
41541a:	8d 45 08             	lea    0x8(%ebp),%eax
41541d:	50                   	push   %eax
41541e:	6a 04                	push   $0x4
415420:	8d 45 e4             	lea    -0x1c(%ebp),%eax
415423:	50                   	push   %eax
415424:	53                   	push   %ebx
415425:	ff 15 ec b1 44 00    	call   *0x44b1ec
41542b:	85 c0                	test   %eax,%eax
41542d:	74 4e                	je     0x41547d
41542f:	8b 45 f0             	mov    -0x10(%ebp),%eax
415432:	40                   	inc    %eax
415433:	89 45 f0             	mov    %eax,-0x10(%ebp)
415436:	83 f8 02             	cmp    $0x2,%eax
415439:	0f 82 ea fe ff ff    	jb     0x415329
41543f:	e9 6e 01 00 00       	jmp    0x4155b2
415444:	0f b7 f0             	movzwl %ax,%esi
415447:	81 ce 00 00 07 80    	or     $0x80070000,%esi
41544d:	85 c0                	test   %eax,%eax
41544f:	0f 4e f0             	cmovle %eax,%esi
415452:	e9 4d ff ff ff       	jmp    0x4153a4
415457:	33 f6                	xor    %esi,%esi
415459:	e9 4e ff ff ff       	jmp    0x4153ac
41545e:	be b4 05 07 80       	mov    $0x800705b4,%esi
415463:	56                   	push   %esi
415464:	68 f3 01 00 00       	push   $0x1f3
415469:	68 b0 3f 45 00       	push   $0x453fb0
41546e:	e8 60 e3 fe ff       	call   0x4037d3
415473:	68 54 43 45 00       	push   $0x454354
415478:	e9 2d 01 00 00       	jmp    0x4155aa
41547d:	ff d7                	call   *%edi
41547f:	0f b7 f0             	movzwl %ax,%esi
415482:	81 ce 00 00 07 80    	or     $0x80070000,%esi
415488:	85 c0                	test   %eax,%eax
41548a:	0f 4e f0             	cmovle %eax,%esi
41548d:	b8 05 40 00 80       	mov    $0x80004005,%eax
415492:	85 f6                	test   %esi,%esi
415494:	0f 49 f0             	cmovns %eax,%esi
415497:	56                   	push   %esi
415498:	68 0f 02 00 00       	push   $0x20f
41549d:	68 b0 3f 45 00       	push   $0x453fb0
4154a2:	e8 2c e3 fe ff       	call   0x4037d3
4154a7:	68 18 44 45 00       	push   $0x454418
4154ac:	e9 f9 00 00 00       	jmp    0x4155aa
4154b1:	ff d7                	call   *%edi
4154b3:	0f b7 f0             	movzwl %ax,%esi
4154b6:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4154bc:	85 c0                	test   %eax,%eax
4154be:	0f 4e f0             	cmovle %eax,%esi
4154c1:	b8 05 40 00 80       	mov    $0x80004005,%eax
4154c6:	85 f6                	test   %esi,%esi
4154c8:	0f 49 f0             	cmovns %eax,%esi
4154cb:	56                   	push   %esi
4154cc:	68 09 02 00 00       	push   $0x209
4154d1:	68 b0 3f 45 00       	push   $0x453fb0
4154d6:	e8 f8 e2 fe ff       	call   0x4037d3
4154db:	68 f0 43 45 00       	push   $0x4543f0
4154e0:	e9 c5 00 00 00       	jmp    0x4155aa
4154e5:	ff d7                	call   *%edi
4154e7:	0f b7 f0             	movzwl %ax,%esi
4154ea:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4154f0:	85 c0                	test   %eax,%eax
4154f2:	0f 4e f0             	cmovle %eax,%esi
4154f5:	b8 05 40 00 80       	mov    $0x80004005,%eax
4154fa:	85 f6                	test   %esi,%esi
4154fc:	0f 49 f0             	cmovns %eax,%esi
4154ff:	56                   	push   %esi
415500:	68 04 02 00 00       	push   $0x204
415505:	68 b0 3f 45 00       	push   $0x453fb0
41550a:	e8 c4 e2 fe ff       	call   0x4037d3
41550f:	68 d0 43 45 00       	push   $0x4543d0
415514:	e9 91 00 00 00       	jmp    0x4155aa
415519:	ff d7                	call   *%edi
41551b:	0f b7 f0             	movzwl %ax,%esi
41551e:	81 ce 00 00 07 80    	or     $0x80070000,%esi
415524:	85 c0                	test   %eax,%eax
415526:	0f 4e f0             	cmovle %eax,%esi
415529:	b8 05 40 00 80       	mov    $0x80004005,%eax
41552e:	85 f6                	test   %esi,%esi
415530:	0f 49 f0             	cmovns %eax,%esi
415533:	56                   	push   %esi
415534:	68 ff 01 00 00       	push   $0x1ff
415539:	68 b0 3f 45 00       	push   $0x453fb0
41553e:	e8 90 e2 fe ff       	call   0x4037d3
415543:	68 a8 43 45 00       	push   $0x4543a8
415548:	eb 60                	jmp    0x4155aa
41554a:	ff d7                	call   *%edi
41554c:	0f b7 f0             	movzwl %ax,%esi
41554f:	81 ce 00 00 07 80    	or     $0x80070000,%esi
415555:	85 c0                	test   %eax,%eax
415557:	0f 4e f0             	cmovle %eax,%esi
41555a:	b8 05 40 00 80       	mov    $0x80004005,%eax
41555f:	85 f6                	test   %esi,%esi
415561:	0f 49 f0             	cmovns %eax,%esi
415564:	56                   	push   %esi
415565:	68 f9 01 00 00       	push   $0x1f9
41556a:	68 b0 3f 45 00       	push   $0x453fb0
41556f:	e8 5f e2 fe ff       	call   0x4037d3
415574:	68 84 43 45 00       	push   $0x454384
415579:	eb 2f                	jmp    0x4155aa
41557b:	ff d7                	call   *%edi
41557d:	0f b7 f0             	movzwl %ax,%esi
415580:	81 ce 00 00 07 80    	or     $0x80070000,%esi
415586:	85 c0                	test   %eax,%eax
415588:	0f 4e f0             	cmovle %eax,%esi
41558b:	b8 05 40 00 80       	mov    $0x80004005,%eax
415590:	85 f6                	test   %esi,%esi
415592:	0f 49 f0             	cmovns %eax,%esi
415595:	56                   	push   %esi
415596:	68 ce 01 00 00       	push   $0x1ce
41559b:	68 b0 3f 45 00       	push   $0x453fb0
4155a0:	e8 2e e2 fe ff       	call   0x4037d3
4155a5:	68 30 43 45 00       	push   $0x454330
4155aa:	56                   	push   %esi
4155ab:	e8 7f ab 02 00       	call   0x44012f
4155b0:	59                   	pop    %ecx
4155b1:	59                   	pop    %ecx
4155b2:	5f                   	pop    %edi
4155b3:	8b c6                	mov    %esi,%eax
4155b5:	5e                   	pop    %esi
4155b6:	5b                   	pop    %ebx
4155b7:	8b e5                	mov    %ebp,%esp
4155b9:	5d                   	pop    %ebp
4155ba:	c2 04 00             	ret    $0x4
4155bd:	55                   	push   %ebp
4155be:	8b ec                	mov    %esp,%ebp
4155c0:	51                   	push   %ecx
4155c1:	8b 45 08             	mov    0x8(%ebp),%eax
4155c4:	53                   	push   %ebx
4155c5:	56                   	push   %esi
4155c6:	57                   	push   %edi
4155c7:	8b 48 04             	mov    0x4(%eax),%ecx
4155ca:	33 db                	xor    %ebx,%ebx
4155cc:	8b 38                	mov    (%eax),%edi
4155ce:	8b 40 08             	mov    0x8(%eax),%eax
4155d1:	53                   	push   %ebx
4155d2:	53                   	push   %ebx
4155d3:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4155d6:	89 45 08             	mov    %eax,0x8(%ebp)
4155d9:	ff 15 b0 b3 44 00    	call   *0x44b3b0
4155df:	8b f0                	mov    %eax,%esi
4155e1:	85 f6                	test   %esi,%esi
4155e3:	79 0f                	jns    0x4155f4
4155e5:	68 74 5e 45 00       	push   $0x455e74
4155ea:	56                   	push   %esi
4155eb:	e8 3f ab 02 00       	call   0x44012f
4155f0:	59                   	pop    %ecx
4155f1:	59                   	pop    %ecx
4155f2:	eb 2e                	jmp    0x415622
4155f4:	ff 75 08             	push   0x8(%ebp)
4155f7:	8d 87 10 04 00 00    	lea    0x410(%edi),%eax
4155fd:	33 db                	xor    %ebx,%ebx
4155ff:	ff 75 fc             	push   -0x4(%ebp)
415602:	43                   	inc    %ebx
415603:	ff b7 b4 04 00 00    	push   0x4b4(%edi)
415609:	50                   	push   %eax
41560a:	8d 87 88 00 00 00    	lea    0x88(%edi),%eax
415610:	50                   	push   %eax
415611:	8d 87 b8 00 00 00    	lea    0xb8(%edi),%eax
415617:	50                   	push   %eax
415618:	ff 77 4c             	push   0x4c(%edi)
41561b:	e8 d6 5c 01 00       	call   0x42b2f6
415620:	8b f0                	mov    %eax,%esi
415622:	56                   	push   %esi
415623:	8d 87 b8 00 00 00    	lea    0xb8(%edi),%eax
415629:	50                   	push   %eax
41562a:	e8 ed 7e ff ff       	call   0x40d51c
41562f:	85 db                	test   %ebx,%ebx
415631:	74 06                	je     0x415639
415633:	ff 15 ac b3 44 00    	call   *0x44b3ac
415639:	5f                   	pop    %edi
41563a:	8b c6                	mov    %esi,%eax
41563c:	5e                   	pop    %esi
41563d:	5b                   	pop    %ebx
41563e:	8b e5                	mov    %ebp,%esp
415640:	5d                   	pop    %ebp
415641:	c2 04 00             	ret    $0x4
415644:	55                   	push   %ebp
415645:	8b ec                	mov    %esp,%ebp
415647:	83 ec 14             	sub    $0x14,%esp
41564a:	53                   	push   %ebx
41564b:	56                   	push   %esi
41564c:	57                   	push   %edi
41564d:	8b 7d 08             	mov    0x8(%ebp),%edi
415650:	33 db                	xor    %ebx,%ebx
415652:	0f 57 c0             	xorps  %xmm0,%xmm0
415655:	89 5d fc             	mov    %ebx,-0x4(%ebp)
415658:	8b f3                	mov    %ebx,%esi
41565a:	89 5d f4             	mov    %ebx,-0xc(%ebp)
41565d:	89 5d f8             	mov    %ebx,-0x8(%ebp)
415660:	8b 47 24             	mov    0x24(%edi),%eax
415663:	66 0f 13 45 ec       	movlpd %xmm0,-0x14(%ebp)
415668:	85 c0                	test   %eax,%eax
41566a:	0f 84 dc 00 00 00    	je     0x41574c
415670:	66 39 18             	cmp    %bx,(%eax)
415673:	0f 84 d3 00 00 00    	je     0x41574c
415679:	8d 4d fc             	lea    -0x4(%ebp),%ecx
41567c:	51                   	push   %ecx
41567d:	50                   	push   %eax
41567e:	ff 77 14             	push   0x14(%edi)
415681:	e8 03 4b 00 00       	call   0x41a189
415686:	8b f0                	mov    %eax,%esi
415688:	85 f6                	test   %esi,%esi
41568a:	79 12                	jns    0x41569e
41568c:	68 28 5e 45 00       	push   $0x455e28
415691:	56                   	push   %esi
415692:	e8 98 aa 02 00       	call   0x44012f
415697:	59                   	pop    %ecx
415698:	59                   	pop    %ecx
415699:	e9 b4 00 00 00       	jmp    0x415752
41569e:	53                   	push   %ebx
41569f:	ff 75 fc             	push   -0x4(%ebp)
4156a2:	e8 3b ea fe ff       	call   0x4040e2
4156a7:	85 c0                	test   %eax,%eax
4156a9:	0f 84 9d 00 00 00    	je     0x41574c
4156af:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
4156b6:	39 9f 80 00 00 00    	cmp    %ebx,0x80(%edi)
4156bc:	0f 86 8a 00 00 00    	jbe    0x41574c
4156c2:	8b 47 7c             	mov    0x7c(%edi),%eax
4156c5:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4156c8:	89 45 08             	mov    %eax,0x8(%ebp)
4156cb:	51                   	push   %ecx
4156cc:	8b 04 d8             	mov    (%eax,%ebx,8),%eax
4156cf:	ff 70 18             	push   0x18(%eax)
4156d2:	ff 75 fc             	push   -0x4(%ebp)
4156d5:	e8 9f d6 fe ff       	call   0x402d79