4113e0:	85 ff                	test   %edi,%edi
4113e2:	0f 84 f0 00 00 00    	je     0x4114d8
4113e8:	0f b7 43 18          	movzwl 0x18(%ebx),%eax
4113ec:	8d 4f 04             	lea    0x4(%edi),%ecx
4113ef:	40                   	inc    %eax
4113f0:	50                   	push   %eax
4113f1:	ff 15 78 33 42 00    	call   *0x423378
4113f7:	89 45 ec             	mov    %eax,-0x14(%ebp)
4113fa:	85 c0                	test   %eax,%eax
4113fc:	74 30                	je     0x41142e
4113fe:	0f b7 4b 18          	movzwl 0x18(%ebx),%ecx
411402:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
411409:	51                   	push   %ecx
41140a:	ff 73 1c             	push   0x1c(%ebx)
41140d:	50                   	push   %eax
41140e:	e8 08 b2 00 00       	call   0x41c61b
411413:	0f b7 43 18          	movzwl 0x18(%ebx),%eax
411417:	83 c4 0c             	add    $0xc,%esp
41141a:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41141d:	33 d2                	xor    %edx,%edx
41141f:	6a ff                	push   $0xffffffff
411421:	66 89 14 41          	mov    %dx,(%ecx,%eax,2)
411425:	8d 4f 04             	lea    0x4(%edi),%ecx
411428:	ff 15 7c 33 42 00    	call   *0x42337c
41142e:	8b 47 04             	mov    0x4(%edi),%eax
411431:	89 45 ec             	mov    %eax,-0x14(%ebp)
411434:	8b 86 a4 00 00 00    	mov    0xa4(%esi),%eax
41143a:	eb 25                	jmp    0x411461
41143c:	48                   	dec    %eax
41143d:	8d 8e 9c 00 00 00    	lea    0x9c(%esi),%ecx
411443:	50                   	push   %eax
411444:	89 45 e8             	mov    %eax,-0x18(%ebp)
411447:	e8 90 25 00 00       	call   0x4139dc
41144c:	ff 75 ec             	push   -0x14(%ebp)
41144f:	ff 70 04             	push   0x4(%eax)
411452:	ff 15 64 35 42 00    	call   *0x423564
411458:	59                   	pop    %ecx
411459:	59                   	pop    %ecx
41145a:	85 c0                	test   %eax,%eax
41145c:	74 62                	je     0x4114c0
41145e:	8b 45 e8             	mov    -0x18(%ebp),%eax
411461:	85 c0                	test   %eax,%eax
411463:	7f d7                	jg     0x41143c
411465:	8b 43 4c             	mov    0x4c(%ebx),%eax
411468:	89 47 08             	mov    %eax,0x8(%edi)
41146b:	8b 43 50             	mov    0x50(%ebx),%eax
41146e:	89 47 0c             	mov    %eax,0xc(%edi)
411471:	8b 43 58             	mov    0x58(%ebx),%eax
411474:	89 47 10             	mov    %eax,0x10(%edi)
411477:	8b 43 5c             	mov    0x5c(%ebx),%eax
41147a:	89 47 14             	mov    %eax,0x14(%edi)
41147d:	8b 43 60             	mov    0x60(%ebx),%eax
411480:	89 47 18             	mov    %eax,0x18(%edi)
411483:	8b 43 64             	mov    0x64(%ebx),%eax
411486:	89 47 1c             	mov    %eax,0x1c(%edi)
411489:	8b 43 68             	mov    0x68(%ebx),%eax
41148c:	89 47 20             	mov    %eax,0x20(%edi)
41148f:	8b 43 6c             	mov    0x6c(%ebx),%eax
411492:	89 47 24             	mov    %eax,0x24(%edi)
411495:	8b 43 70             	mov    0x70(%ebx),%eax
411498:	89 47 28             	mov    %eax,0x28(%edi)
41149b:	8b 43 74             	mov    0x74(%ebx),%eax
41149e:	89 47 2c             	mov    %eax,0x2c(%edi)
4114a1:	8d 86 9c 00 00 00    	lea    0x9c(%esi),%eax
4114a7:	57                   	push   %edi
4114a8:	ff 70 08             	push   0x8(%eax)
4114ab:	8b c8                	mov    %eax,%ecx
4114ad:	ff 15 70 31 42 00    	call   *0x423170
4114b3:	8b 03                	mov    (%ebx),%eax
4114b5:	85 c0                	test   %eax,%eax
4114b7:	74 27                	je     0x4114e0
4114b9:	03 d8                	add    %eax,%ebx
4114bb:	e9 c2 fe ff ff       	jmp    0x411382
4114c0:	8b 07                	mov    (%edi),%eax
4114c2:	6a 01                	push   $0x1
4114c4:	8b 70 04             	mov    0x4(%eax),%esi
4114c7:	8b ce                	mov    %esi,%ecx
4114c9:	ff 15 f0 35 42 00    	call   *0x4235f0
4114cf:	8b cf                	mov    %edi,%ecx
4114d1:	ff d6                	call   *%esi
4114d3:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4114d6:	eb db                	jmp    0x4114b3
4114d8:	6a 68                	push   $0x68
4114da:	e8 74 d1 ff ff       	call   0x40e653
4114df:	59                   	pop    %ecx
4114e0:	ff 75 e0             	push   -0x20(%ebp)
4114e3:	ff 15 3c 35 42 00    	call   *0x42353c
4114e9:	6a 24                	push   $0x24
4114eb:	ff 15 40 35 42 00    	call   *0x423540
4114f1:	8b f8                	mov    %eax,%edi
4114f3:	59                   	pop    %ecx
4114f4:	59                   	pop    %ecx
4114f5:	85 ff                	test   %edi,%edi
4114f7:	74 24                	je     0x41151d
4114f9:	8d 45 f0             	lea    -0x10(%ebp),%eax
4114fc:	50                   	push   %eax
4114fd:	6a 24                	push   $0x24
4114ff:	57                   	push   %edi
411500:	6a 5c                	push   $0x5c
411502:	ff 15 e0 35 42 00    	call   *0x4235e0
411508:	85 c0                	test   %eax,%eax
41150a:	78 09                	js     0x411515
41150c:	8b 4f 14             	mov    0x14(%edi),%ecx
41150f:	89 8e 98 00 00 00    	mov    %ecx,0x98(%esi)
411515:	57                   	push   %edi
411516:	ff 15 3c 35 42 00    	call   *0x42353c
41151c:	59                   	pop    %ecx
41151d:	33 c0                	xor    %eax,%eax
41151f:	40                   	inc    %eax
411520:	e8 e1 ae 00 00       	call   0x41c406
411525:	c3                   	ret
411526:	8b ff                	mov    %edi,%edi
411528:	55                   	push   %ebp
411529:	8b ec                	mov    %esp,%ebp
41152b:	83 ec 0c             	sub    $0xc,%esp
41152e:	53                   	push   %ebx
41152f:	56                   	push   %esi
411530:	8b c1                	mov    %ecx,%eax
411532:	8b da                	mov    %edx,%ebx
411534:	57                   	push   %edi
411535:	8b f8                	mov    %eax,%edi
411537:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41153a:	89 45 fc             	mov    %eax,-0x4(%ebp)
41153d:	33 f6                	xor    %esi,%esi
41153f:	8d 4f 02             	lea    0x2(%edi),%ecx
411542:	66 8b 07             	mov    (%edi),%ax
411545:	83 c7 02             	add    $0x2,%edi
411548:	66 3b c6             	cmp    %si,%ax
41154b:	75 f5                	jne    0x411542
41154d:	2b f9                	sub    %ecx,%edi
41154f:	d1 ff                	sar    $1,%edi
411551:	8d 47 01             	lea    0x1(%edi),%eax
411554:	50                   	push   %eax
411555:	e8 77 9d 00 00       	call   0x41b2d1
41155a:	89 45 f4             	mov    %eax,-0xc(%ebp)
41155d:	59                   	pop    %ecx
41155e:	85 c0                	test   %eax,%eax
411560:	74 77                	je     0x4115d9
411562:	56                   	push   %esi
411563:	56                   	push   %esi
411564:	8d 4f 01             	lea    0x1(%edi),%ecx
411567:	51                   	push   %ecx
411568:	50                   	push   %eax
411569:	57                   	push   %edi
41156a:	ff 75 fc             	push   -0x4(%ebp)
41156d:	56                   	push   %esi
41156e:	68 ff 00 00 00       	push   $0xff
411573:	ff 15 4c 30 42 00    	call   *0x42304c
411579:	85 db                	test   %ebx,%ebx
41157b:	75 04                	jne    0x411581
41157d:	8b fe                	mov    %esi,%edi
41157f:	eb 39                	jmp    0x4115ba
411581:	8d 4b 02             	lea    0x2(%ebx),%ecx
411584:	66 8b 03             	mov    (%ebx),%ax
411587:	83 c3 02             	add    $0x2,%ebx
41158a:	66 3b c6             	cmp    %si,%ax
41158d:	75 f5                	jne    0x411584
41158f:	2b d9                	sub    %ecx,%ebx
411591:	d1 fb                	sar    $1,%ebx
411593:	8d 43 01             	lea    0x1(%ebx),%eax
411596:	50                   	push   %eax
411597:	e8 35 9d 00 00       	call   0x41b2d1
41159c:	8b f8                	mov    %eax,%edi
41159e:	59                   	pop    %ecx
41159f:	85 ff                	test   %edi,%edi
4115a1:	74 17                	je     0x4115ba
4115a3:	56                   	push   %esi
4115a4:	56                   	push   %esi
4115a5:	8d 43 01             	lea    0x1(%ebx),%eax
4115a8:	50                   	push   %eax
4115a9:	57                   	push   %edi
4115aa:	53                   	push   %ebx
4115ab:	ff 75 f8             	push   -0x8(%ebp)
4115ae:	56                   	push   %esi
4115af:	68 ff 00 00 00       	push   $0xff
4115b4:	ff 15 4c 30 42 00    	call   *0x42304c
4115ba:	8b 5d f4             	mov    -0xc(%ebp),%ebx
4115bd:	57                   	push   %edi
4115be:	53                   	push   %ebx
4115bf:	ff 15 c8 34 42 00    	call   *0x4234c8
4115c5:	8b f0                	mov    %eax,%esi
4115c7:	85 ff                	test   %edi,%edi
4115c9:	74 07                	je     0x4115d2
4115cb:	57                   	push   %edi
4115cc:	e8 0b 9d 00 00       	call   0x41b2dc
4115d1:	59                   	pop    %ecx
4115d2:	53                   	push   %ebx
4115d3:	e8 04 9d 00 00       	call   0x41b2dc
4115d8:	59                   	pop    %ecx
4115d9:	5f                   	pop    %edi
4115da:	8b c6                	mov    %esi,%eax
4115dc:	5e                   	pop    %esi
4115dd:	5b                   	pop    %ebx
4115de:	c9                   	leave
4115df:	c3                   	ret
4115e0:	68 cc 01 00 00       	push   $0x1cc
4115e5:	b8 10 d4 41 00       	mov    $0x41d410,%eax
4115ea:	e8 7c ae 00 00       	call   0x41c46b
4115ef:	8b f1                	mov    %ecx,%esi
4115f1:	8d 8d 28 fe ff ff    	lea    -0x1d8(%ebp),%ecx
4115f7:	e8 95 32 00 00       	call   0x414891
4115fc:	33 ff                	xor    %edi,%edi
4115fe:	89 7d fc             	mov    %edi,-0x4(%ebp)
411601:	8d 85 e0 fe ff ff    	lea    -0x120(%ebp),%eax
411607:	33 db                	xor    %ebx,%ebx
411609:	50                   	push   %eax
41160a:	43                   	inc    %ebx
41160b:	ff 15 48 30 42 00    	call   *0x423048
411611:	6a 40                	push   $0x40
411613:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
411619:	50                   	push   %eax
41161a:	57                   	push   %edi
41161b:	8d 85 e0 fe ff ff    	lea    -0x120(%ebp),%eax
411621:	50                   	push   %eax
411622:	6a 40                	push   $0x40
411624:	68 00 04 00 00       	push   $0x400
411629:	ff 15 88 30 42 00    	call   *0x423088
41162f:	85 c0                	test   %eax,%eax
411631:	74 15                	je     0x411648
411633:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
411639:	50                   	push   %eax
41163a:	68 bc 57 40 00       	push   $0x4057bc
41163f:	56                   	push   %esi
411640:	e8 2a 03 00 00       	call   0x41196f
411645:	83 c4 0c             	add    $0xc,%esp
411648:	6a 40                	push   $0x40
41164a:	8d 85 f0 fe ff ff    	lea    -0x110(%ebp),%eax
411650:	50                   	push   %eax
411651:	57                   	push   %edi
411652:	8d 85 e0 fe ff ff    	lea    -0x120(%ebp),%eax
411658:	50                   	push   %eax
411659:	57                   	push   %edi
41165a:	68 00 04 00 00       	push   $0x400
41165f:	ff 15 cc 30 42 00    	call   *0x4230cc
411665:	85 c0                	test   %eax,%eax
411667:	74 17                	je     0x411680
411669:	8d 85 f0 fe ff ff    	lea    -0x110(%ebp),%eax
41166f:	50                   	push   %eax
411670:	68 b0 57 40 00       	push   $0x4057b0
411675:	56                   	push   %esi
411676:	e8 f4 02 00 00       	call   0x41196f
41167b:	83 c4 0c             	add    $0xc,%esp
41167e:	eb 0d                	jmp    0x41168d
411680:	68 c8 57 40 00       	push   $0x4057c8
411685:	56                   	push   %esi
411686:	e8 e4 02 00 00       	call   0x41196f
41168b:	59                   	pop    %ecx
41168c:	59                   	pop    %ecx
41168d:	8d 8d 28 fe ff ff    	lea    -0x1d8(%ebp),%ecx
411693:	e8 f3 fa ff ff       	call   0x41118b
411698:	85 c0                	test   %eax,%eax
41169a:	75 25                	jne    0x4116c1
41169c:	8b d6                	mov    %esi,%edx
41169e:	b9 c4 00 00 00       	mov    $0xc4,%ecx
4116a3:	e8 ae 03 00 00       	call   0x411a56
4116a8:	8b df                	mov    %edi,%ebx
4116aa:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4116ae:	8d 8d 28 fe ff ff    	lea    -0x1d8(%ebp),%ecx
4116b4:	e8 18 85 ff ff       	call   0x409bd1
4116b9:	8b c3                	mov    %ebx,%eax
4116bb:	e8 5a ad 00 00       	call   0x41c41a
4116c0:	c3                   	ret
4116c1:	8b 85 cc fe ff ff    	mov    -0x134(%ebp),%eax
4116c7:	89 85 d8 fe ff ff    	mov    %eax,-0x128(%ebp)
4116cd:	85 c0                	test   %eax,%eax
4116cf:	75 10                	jne    0x4116e1
4116d1:	8b d6                	mov    %esi,%edx
4116d3:	b9 c5 00 00 00       	mov    $0xc5,%ecx
4116d8:	e8 79 03 00 00       	call   0x411a56
4116dd:	8b d8                	mov    %eax,%ebx
4116df:	eb c9                	jmp    0x4116aa
4116e1:	ff b5 bc fe ff ff    	push   -0x144(%ebp)
4116e7:	68 c6 00 00 00       	push   $0xc6
4116ec:	56                   	push   %esi
4116ed:	e8 db 02 00 00       	call   0x4119cd
4116f2:	83 c4 0c             	add    $0xc,%esp
4116f5:	85 c0                	test   %eax,%eax
4116f7:	74 af                	je     0x4116a8
4116f9:	ff b5 90 fe ff ff    	push   -0x170(%ebp)
4116ff:	68 c7 00 00 00       	push   $0xc7
411704:	56                   	push   %esi
411705:	e8 c3 02 00 00       	call   0x4119cd
41170a:	83 c4 0c             	add    $0xc,%esp
41170d:	85 c0                	test   %eax,%eax
41170f:	74 97                	je     0x4116a8
411711:	ff b5 94 fe ff ff    	push   -0x16c(%ebp)
411717:	68 c8 00 00 00       	push   $0xc8
41171c:	56                   	push   %esi
41171d:	e8 ab 02 00 00       	call   0x4119cd
411722:	83 c4 0c             	add    $0xc,%esp
411725:	85 c0                	test   %eax,%eax
411727:	0f 84 7b ff ff ff    	je     0x4116a8
41172d:	ff b5 98 fe ff ff    	push   -0x168(%ebp)
411733:	68 c9 00 00 00       	push   $0xc9
411738:	56                   	push   %esi
411739:	e8 8f 02 00 00       	call   0x4119cd
41173e:	83 c4 0c             	add    $0xc,%esp
411741:	85 c0                	test   %eax,%eax
411743:	0f 84 5f ff ff ff    	je     0x4116a8
411749:	ff b5 9c fe ff ff    	push   -0x164(%ebp)
41174f:	68 ca 00 00 00       	push   $0xca
411754:	56                   	push   %esi
411755:	e8 73 02 00 00       	call   0x4119cd
41175a:	83 c4 0c             	add    $0xc,%esp
41175d:	85 c0                	test   %eax,%eax
41175f:	0f 84 43 ff ff ff    	je     0x4116a8
411765:	ff b5 a0 fe ff ff    	push   -0x160(%ebp)
41176b:	68 cb 00 00 00       	push   $0xcb
411770:	56                   	push   %esi
411771:	e8 57 02 00 00       	call   0x4119cd
411776:	83 c4 0c             	add    $0xc,%esp
411779:	85 c0                	test   %eax,%eax
41177b:	0f 84 27 ff ff ff    	je     0x4116a8
411781:	ff b5 a4 fe ff ff    	push   -0x15c(%ebp)
411787:	68 cc 00 00 00       	push   $0xcc
41178c:	56                   	push   %esi
41178d:	e8 3b 02 00 00       	call   0x4119cd
411792:	83 c4 0c             	add    $0xc,%esp
411795:	85 c0                	test   %eax,%eax
411797:	0f 84 0b ff ff ff    	je     0x4116a8
41179d:	ff b5 a8 fe ff ff    	push   -0x158(%ebp)
4117a3:	68 cd 00 00 00       	push   $0xcd
4117a8:	56                   	push   %esi
4117a9:	e8 1f 02 00 00       	call   0x4119cd
4117ae:	83 c4 0c             	add    $0xc,%esp
4117b1:	85 c0                	test   %eax,%eax
4117b3:	0f 84 ef fe ff ff    	je     0x4116a8
4117b9:	ff b5 b0 fe ff ff    	push   -0x150(%ebp)
4117bf:	68 ce 00 00 00       	push   $0xce
4117c4:	56                   	push   %esi
4117c5:	e8 03 02 00 00       	call   0x4119cd
4117ca:	83 c4 0c             	add    $0xc,%esp
4117cd:	85 c0                	test   %eax,%eax
4117cf:	0f 84 d3 fe ff ff    	je     0x4116a8
4117d5:	ff b5 b4 fe ff ff    	push   -0x14c(%ebp)
4117db:	68 cf 00 00 00       	push   $0xcf
4117e0:	56                   	push   %esi
4117e1:	e8 e7 01 00 00       	call   0x4119cd
4117e6:	83 c4 0c             	add    $0xc,%esp
4117e9:	85 c0                	test   %eax,%eax
4117eb:	0f 84 b7 fe ff ff    	je     0x4116a8
4117f1:	ff b5 ac fe ff ff    	push   -0x154(%ebp)
4117f7:	68 d0 00 00 00       	push   $0xd0
4117fc:	56                   	push   %esi
4117fd:	e8 cb 01 00 00       	call   0x4119cd
411802:	83 c4 0c             	add    $0xc,%esp
411805:	85 c0                	test   %eax,%eax
411807:	0f 84 9b fe ff ff    	je     0x4116a8
41180d:	ff b5 b8 fe ff ff    	push   -0x148(%ebp)
411813:	68 d1 00 00 00       	push   $0xd1