4014af:	89 c6                	mov    %eax,%esi
4014b1:	89 d1                	mov    %edx,%ecx
4014b3:	56                   	push   %esi
4014b4:	51                   	push   %ecx
4014b5:	e8 31 21 00 00       	call   0x4035eb
4014ba:	83 c4 08             	add    $0x8,%esp
4014bd:	0f b6 4d dc          	movzbl -0x24(%ebp),%ecx
4014c1:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
4014c5:	c7 45 f0 04 00 00 00 	movl   $0x4,-0x10(%ebp)
4014cc:	88 cb                	mov    %cl,%bl
4014ce:	29 df                	sub    %ebx,%edi
4014d0:	0f 57 c0             	xorps  %xmm0,%xmm0
4014d3:	0f 11 45 c0          	movups %xmm0,-0x40(%ebp)
4014d7:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
4014de:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
4014e5:	c7 45 f0 04 00 00 00 	movl   $0x4,-0x10(%ebp)
4014ec:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4014ef:	57                   	push   %edi
4014f0:	8d 85 9e 7c ff ff    	lea    -0x8362(%ebp),%eax
4014f6:	50                   	push   %eax
4014f7:	e8 b4 1a 00 00       	call   0x402fb0
4014fc:	c6 45 d8 01          	movb   $0x1,-0x28(%ebp)
401500:	8b 4d e0             	mov    -0x20(%ebp),%ecx
401503:	e9 c8 fd ff ff       	jmp    0x4012d0
401508:	83 fa fe             	cmp    $0xfffffffe,%edx
40150b:	0f 84 58 ff ff ff    	je     0x401469
401511:	66 83 bd 9e 7c ff ff 	cmpw   $0x22,-0x8362(%ebp)
401518:	22
401519:	0f 84 4a ff ff ff    	je     0x401469
40151f:	89 45 dc             	mov    %eax,-0x24(%ebp)
401522:	89 7d bc             	mov    %edi,-0x44(%ebp)
401525:	c7 45 f0 04 00 00 00 	movl   $0x4,-0x10(%ebp)
40152c:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40152f:	68 44 92 41 00       	push   $0x419244
401534:	e8 57 0f 00 00       	call   0x402490
401539:	80 7d d8 00          	cmpb   $0x0,-0x28(%ebp)
40153d:	8b 75 bc             	mov    -0x44(%ebp),%esi
401540:	0f 84 8f 02 00 00    	je     0x4017d5
401546:	31 c0                	xor    %eax,%eax
401548:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40154b:	66 83 bc 4d 8e 7c ff 	cmpw   $0xa,-0x8372(%ebp,%ecx,2)
401552:	ff 0a
401554:	0f 94 c0             	sete   %al
401557:	29 c6                	sub    %eax,%esi
401559:	8b 45 d0             	mov    -0x30(%ebp),%eax
40155c:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
40155f:	89 ca                	mov    %ecx,%edx
401561:	29 c2                	sub    %eax,%edx
401563:	39 f2                	cmp    %esi,%edx
401565:	73 29                	jae    0x401590
401567:	83 ec 10             	sub    $0x10,%esp
40156a:	0f b6 85 9c fe ff ff 	movzbl -0x164(%ebp),%eax
401571:	88 44 24 04          	mov    %al,0x4(%esp)
401575:	89 74 24 0c          	mov    %esi,0xc(%esp)
401579:	8d 85 9e 7c ff ff    	lea    -0x8362(%ebp),%eax
40157f:	89 44 24 08          	mov    %eax,0x8(%esp)
401583:	89 34 24             	mov    %esi,(%esp)
401586:	8d 4d c0             	lea    -0x40(%ebp),%ecx
401589:	e8 c2 1b 00 00       	call   0x403150
40158e:	eb 2e                	jmp    0x4015be
401590:	89 f2                	mov    %esi,%edx
401592:	01 c6                	add    %eax,%esi
401594:	89 75 d0             	mov    %esi,-0x30(%ebp)
401597:	8d 7d c0             	lea    -0x40(%ebp),%edi
40159a:	83 f9 08             	cmp    $0x8,%ecx
40159d:	72 03                	jb     0x4015a2
40159f:	8b 7d c0             	mov    -0x40(%ebp),%edi
4015a2:	8d 04 47             	lea    (%edi,%eax,2),%eax
4015a5:	01 d2                	add    %edx,%edx
4015a7:	52                   	push   %edx
4015a8:	8d 8d 9e 7c ff ff    	lea    -0x8362(%ebp),%ecx
4015ae:	51                   	push   %ecx
4015af:	50                   	push   %eax
4015b0:	e8 7b 2d 00 00       	call   0x404330
4015b5:	83 c4 0c             	add    $0xc,%esp
4015b8:	66 c7 04 77 00 00    	movw   $0x0,(%edi,%esi,2)
4015be:	8b 45 d0             	mov    -0x30(%ebp),%eax
4015c1:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
4015c4:	39 c8                	cmp    %ecx,%eax
4015c6:	73 20                	jae    0x4015e8
4015c8:	8d 50 01             	lea    0x1(%eax),%edx
4015cb:	89 55 d0             	mov    %edx,-0x30(%ebp)
4015ce:	8d 55 c0             	lea    -0x40(%ebp),%edx
4015d1:	83 f9 08             	cmp    $0x8,%ecx
4015d4:	72 03                	jb     0x4015d9
4015d6:	8b 55 c0             	mov    -0x40(%ebp),%edx
4015d9:	c7 04 42 22 00 00 00 	movl   $0x22,(%edx,%eax,2)
4015e0:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4015e3:	e9 e8 fc ff ff       	jmp    0x4012d0
4015e8:	83 ec 0c             	sub    $0xc,%esp
4015eb:	0f b6 85 9c fe ff ff 	movzbl -0x164(%ebp),%eax
4015f2:	88 44 24 04          	mov    %al,0x4(%esp)
4015f6:	c7 44 24 08 22 00 00 	movl   $0x22,0x8(%esp)
4015fd:	00
4015fe:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
401605:	8d 4d c0             	lea    -0x40(%ebp),%ecx
401608:	e8 03 1d 00 00       	call   0x403310
40160d:	8b 4d e0             	mov    -0x20(%ebp),%ecx
401610:	e9 bb fc ff ff       	jmp    0x4012d0
401615:	8d 45 c0             	lea    -0x40(%ebp),%eax
401618:	8b 4d 08             	mov    0x8(%ebp),%ecx
40161b:	50                   	push   %eax
40161c:	e8 af 12 00 00       	call   0x4028d0
401621:	8d bd 90 fc ff ff    	lea    -0x370(%ebp),%edi
401627:	57                   	push   %edi
401628:	e8 4a 58 00 00       	call   0x406e77
40162d:	83 c4 04             	add    $0x4,%esp
401630:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
401635:	85 c0                	test   %eax,%eax
401637:	0f 84 ca 00 00 00    	je     0x401707
40163d:	0f 57 c0             	xorps  %xmm0,%xmm0
401640:	0f 11 85 ec fe ff ff 	movups %xmm0,-0x114(%ebp)
401647:	0f 11 85 bc fe ff ff 	movups %xmm0,-0x144(%ebp)
40164e:	0f 11 45 8c          	movups %xmm0,-0x74(%ebp)
401652:	0f 11 85 7c ff ff ff 	movups %xmm0,-0x84(%ebp)
401659:	0f 11 85 6c ff ff ff 	movups %xmm0,-0x94(%ebp)
401660:	0f 11 85 5c ff ff ff 	movups %xmm0,-0xa4(%ebp)
401667:	0f 11 85 4c ff ff ff 	movups %xmm0,-0xb4(%ebp)
40166e:	0f 11 85 3c ff ff ff 	movups %xmm0,-0xc4(%ebp)
401675:	0f 11 85 2c ff ff ff 	movups %xmm0,-0xd4(%ebp)
40167c:	0f 11 85 1c ff ff ff 	movups %xmm0,-0xe4(%ebp)
401683:	0f 11 85 0c ff ff ff 	movups %xmm0,-0xf4(%ebp)
40168a:	0f 11 85 fc fe ff ff 	movups %xmm0,-0x104(%ebp)
401691:	0f 11 85 dc fe ff ff 	movups %xmm0,-0x124(%ebp)
401698:	0f 11 85 cc fe ff ff 	movups %xmm0,-0x134(%ebp)
40169f:	0f 11 85 ac fe ff ff 	movups %xmm0,-0x154(%ebp)
4016a6:	0f 11 85 9c fe ff ff 	movups %xmm0,-0x164(%ebp)
4016ad:	c6 85 f8 fe ff ff 01 	movb   $0x1,-0x108(%ebp)
4016b4:	c6 85 cb fe ff ff 01 	movb   $0x1,-0x135(%ebp)
4016bb:	8d 14 00             	lea    (%eax,%eax,1),%edx
4016be:	83 c2 fe             	add    $0xfffffffe,%edx
4016c1:	66 66 66 66 66 66 2e 	data16 data16 data16 data16 data16 nopw %cs:0x0(%eax,%eax,1)
4016c8:	0f 1f 84 00 00 00 00
4016cf:	00
4016d0:	0f b7 b4 15 90 fc ff 	movzwl -0x370(%ebp,%edx,1),%esi
4016d7:	ff
4016d8:	81 fe ff 00 00 00    	cmp    $0xff,%esi
4016de:	77 0a                	ja     0x4016ea
4016e0:	80 bc 35 9c fe ff ff 	cmpb   $0x0,-0x164(%ebp,%esi,1)
4016e7:	00
4016e8:	75 12                	jne    0x4016fc
4016ea:	85 d2                	test   %edx,%edx
4016ec:	74 05                	je     0x4016f3
4016ee:	83 c2 fe             	add    $0xfffffffe,%edx
4016f1:	eb dd                	jmp    0x4016d0
4016f3:	c7 45 f0 05 00 00 00 	movl   $0x5,-0x10(%ebp)
4016fa:	eb 0b                	jmp    0x401707
4016fc:	d1 fa                	sar    $1,%edx
4016fe:	c7 45 f0 05 00 00 00 	movl   $0x5,-0x10(%ebp)
401705:	89 d1                	mov    %edx,%ecx
401707:	39 c8                	cmp    %ecx,%eax
401709:	0f 42 c8             	cmovb  %eax,%ecx
40170c:	8b 45 08             	mov    0x8(%ebp),%eax
40170f:	83 c0 1c             	add    $0x1c,%eax
401712:	c7 45 f0 05 00 00 00 	movl   $0x5,-0x10(%ebp)
401719:	51                   	push   %ecx
40171a:	57                   	push   %edi
40171b:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
40171e:	51                   	push   %ecx
40171f:	50                   	push   %eax
401720:	e8 eb f9 ff ff       	call   0x401110
401725:	83 c4 10             	add    $0x10,%esp
401728:	80 7d b4 00          	cmpb   $0x0,-0x4c(%ebp)
40172c:	8b 7d e0             	mov    -0x20(%ebp),%edi
40172f:	74 3d                	je     0x40176e
401731:	8b 45 b0             	mov    -0x50(%ebp),%eax
401734:	83 f8 08             	cmp    $0x8,%eax
401737:	72 35                	jb     0x40176e
401739:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
40173c:	8d 34 00             	lea    (%eax,%eax,1),%esi
40173f:	83 c6 02             	add    $0x2,%esi
401742:	81 fe 00 10 00 00    	cmp    $0x1000,%esi
401748:	72 1a                	jb     0x401764
40174a:	8b 51 fc             	mov    -0x4(%ecx),%edx
40174d:	83 c1 fc             	add    $0xfffffffc,%ecx
401750:	29 d1                	sub    %edx,%ecx
401752:	83 f9 20             	cmp    $0x20,%ecx
401755:	0f 83 97 00 00 00    	jae    0x4017f2
40175b:	01 c0                	add    %eax,%eax
40175d:	83 c0 25             	add    $0x25,%eax
401760:	89 c6                	mov    %eax,%esi
401762:	89 d1                	mov    %edx,%ecx
401764:	56                   	push   %esi
401765:	51                   	push   %ecx
401766:	e8 80 1e 00 00       	call   0x4035eb
40176b:	83 c4 08             	add    $0x8,%esp
40176e:	80 7d d8 00          	cmpb   $0x0,-0x28(%ebp)
401772:	74 39                	je     0x4017ad
401774:	8b 45 d4             	mov    -0x2c(%ebp),%eax
401777:	83 f8 08             	cmp    $0x8,%eax
40177a:	72 31                	jb     0x4017ad
40177c:	8b 4d c0             	mov    -0x40(%ebp),%ecx
40177f:	8d 34 00             	lea    (%eax,%eax,1),%esi
401782:	83 c6 02             	add    $0x2,%esi
401785:	81 fe 00 10 00 00    	cmp    $0x1000,%esi
40178b:	72 16                	jb     0x4017a3
40178d:	8b 51 fc             	mov    -0x4(%ecx),%edx
401790:	83 c1 fc             	add    $0xfffffffc,%ecx
401793:	29 d1                	sub    %edx,%ecx
401795:	83 f9 20             	cmp    $0x20,%ecx
401798:	73 64                	jae    0x4017fe
40179a:	01 c0                	add    %eax,%eax
40179c:	83 c0 25             	add    $0x25,%eax
40179f:	89 c6                	mov    %eax,%esi
4017a1:	89 d1                	mov    %edx,%ecx
4017a3:	56                   	push   %esi
4017a4:	51                   	push   %ecx
4017a5:	e8 41 1e 00 00       	call   0x4035eb
4017aa:	83 c4 08             	add    $0x8,%esp
4017ad:	85 ff                	test   %edi,%edi
4017af:	8b 45 08             	mov    0x8(%ebp),%eax
4017b2:	74 0c                	je     0x4017c0
4017b4:	57                   	push   %edi
4017b5:	e8 ba 5a 00 00       	call   0x407274
4017ba:	8b 45 08             	mov    0x8(%ebp),%eax
4017bd:	83 c4 04             	add    $0x4,%esp
4017c0:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4017c3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4017ca:	81 c4 64 83 00 00    	add    $0x8364,%esp
4017d0:	5e                   	pop    %esi
4017d1:	5f                   	pop    %edi
4017d2:	5b                   	pop    %ebx
4017d3:	5d                   	pop    %ebp
4017d4:	c3                   	ret
4017d5:	e8 a6 18 00 00       	call   0x403080
4017da:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
4017e1:	e8 f3 5c 00 00       	call   0x4074d9
4017e6:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
4017ed:	e8 e7 5c 00 00       	call   0x4074d9
4017f2:	c7 45 f0 02 00 00 00 	movl   $0x2,-0x10(%ebp)
4017f9:	e8 db 5c 00 00       	call   0x4074d9
4017fe:	c7 45 f0 03 00 00 00 	movl   $0x3,-0x10(%ebp)
401805:	e8 cf 5c 00 00       	call   0x4074d9
40180a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
401810:	55                   	push   %ebp
401811:	83 ec 10             	sub    $0x10,%esp
401814:	83 c5 0c             	add    $0xc,%ebp
401817:	e8 4d 32 00 00       	call   0x404a69
40181c:	0f 1f 40 00          	nopl   0x0(%eax)
401820:	55                   	push   %ebp
401821:	83 ec 10             	sub    $0x10,%esp
401824:	83 c5 0c             	add    $0xc,%ebp
401827:	e8 3d 32 00 00       	call   0x404a69
40182c:	0f 1f 40 00          	nopl   0x0(%eax)
401830:	55                   	push   %ebp
401831:	83 ec 10             	sub    $0x10,%esp
401834:	83 c5 0c             	add    $0xc,%ebp
401837:	e8 2d 32 00 00       	call   0x404a69
40183c:	0f 1f 40 00          	nopl   0x0(%eax)
401840:	55                   	push   %ebp
401841:	83 ec 10             	sub    $0x10,%esp
401844:	83 c5 0c             	add    $0xc,%ebp
401847:	e8 1d 32 00 00       	call   0x404a69
40184c:	0f 1f 40 00          	nopl   0x0(%eax)
401850:	55                   	push   %ebp
401851:	83 ec 10             	sub    $0x10,%esp
401854:	83 c5 0c             	add    $0xc,%ebp
401857:	8b 4d 08             	mov    0x8(%ebp),%ecx
40185a:	e8 01 0d 00 00       	call   0x402560
40185f:	83 c4 10             	add    $0x10,%esp
401862:	5d                   	pop    %ebp
401863:	c3                   	ret
401864:	66 66 66 2e 0f 1f 84 	data16 data16 nopw %cs:0x0(%eax,%eax,1)
40186b:	00 00 00 00 00
401870:	55                   	push   %ebp
401871:	83 ec 10             	sub    $0x10,%esp
401874:	83 c5 0c             	add    $0xc,%ebp
401877:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
40187a:	e8 e1 0c 00 00       	call   0x402560
40187f:	8d 4d c0             	lea    -0x40(%ebp),%ecx
401882:	e8 d9 0c 00 00       	call   0x402560
401887:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
40188b:	74 0b                	je     0x401898
40188d:	ff 75 e0             	push   -0x20(%ebp)
401890:	e8 df 59 00 00       	call   0x407274
401895:	83 c4 04             	add    $0x4,%esp
401898:	83 c4 10             	add    $0x10,%esp
40189b:	5d                   	pop    %ebp
40189c:	c3                   	ret
40189d:	0f 1f 00             	nopl   (%eax)
4018a0:	55                   	push   %ebp
4018a1:	89 e5                	mov    %esp,%ebp
4018a3:	53                   	push   %ebx
4018a4:	57                   	push   %edi
4018a5:	56                   	push   %esi
4018a6:	81 ec c4 00 00 00    	sub    $0xc4,%esp
4018ac:	8b 55 0c             	mov    0xc(%ebp),%edx
4018af:	89 65 e4             	mov    %esp,-0x1c(%ebp)
4018b2:	c7 45 f0 ff ff ff ff 	movl   $0xffffffff,-0x10(%ebp)
4018b9:	8d 45 e8             	lea    -0x18(%ebp),%eax
4018bc:	c7 45 ec a0 22 40 00 	movl   $0x4022a0,-0x14(%ebp)
4018c3:	64 8b 0d 00 00 00 00 	mov    %fs:0x0,%ecx
4018ca:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4018cd:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4018d3:	0f 57 c0             	xorps  %xmm0,%xmm0
4018d6:	0f 11 85 60 ff ff ff 	movups %xmm0,-0xa0(%ebp)
4018dd:	0f 11 85 50 ff ff ff 	movups %xmm0,-0xb0(%ebp)
4018e4:	0f 11 85 40 ff ff ff 	movups %xmm0,-0xc0(%ebp)
4018eb:	0f 11 85 30 ff ff ff 	movups %xmm0,-0xd0(%ebp)
4018f2:	c7 85 70 ff ff ff 00 	movl   $0x0,-0x90(%ebp)
4018f9:	00 00 00
4018fc:	0f 11 45 b0          	movups %xmm0,-0x50(%ebp)
401900:	8b 7a 10             	mov    0x10(%edx),%edi
401903:	03 7a 2c             	add    0x2c(%edx),%edi
401906:	83 c7 02             	add    $0x2,%edi
401909:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
401910:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
401917:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
40191e:	0f 88 8d 02 00 00    	js     0x401bb1
401924:	8d 1c 3f             	lea    (%edi,%edi,1),%ebx
401927:	81 ff 00 08 00 00    	cmp    $0x800,%edi
40192d:	72 23                	jb     0x401952
40192f:	81 ff ef ff ff 7f    	cmp    $0x7fffffef,%edi
401935:	0f 83 7b 02 00 00    	jae    0x401bb6
40193b:	8d 43 23             	lea    0x23(%ebx),%eax
40193e:	50                   	push   %eax
40193f:	e8 b5 1c 00 00       	call   0x4035f9
401944:	83 c4 04             	add    $0x4,%esp
401947:	8d 70 23             	lea    0x23(%eax),%esi
40194a:	83 e6 e0             	and    $0xffffffe0,%esi
40194d:	89 46 fc             	mov    %eax,-0x4(%esi)
401950:	eb 0b                	jmp    0x40195d
401952:	53                   	push   %ebx
401953:	e8 a1 1c 00 00       	call   0x4035f9
401958:	83 c4 04             	add    $0x4,%esp
40195b:	89 c6                	mov    %eax,%esi
40195d:	89 75 c0             	mov    %esi,-0x40(%ebp)
401960:	8d 3c 7e             	lea    (%esi,%edi,2),%edi
401963:	89 7d c8             	mov    %edi,-0x38(%ebp)
401966:	53                   	push   %ebx
401967:	6a 00                	push   $0x0
401969:	56                   	push   %esi
40196a:	e8 01 31 00 00       	call   0x404a70
40196f:	83 c4 0c             	add    $0xc,%esp
401972:	89 7d c4             	mov    %edi,-0x3c(%ebp)
401975:	8b 5d 0c             	mov    0xc(%ebp),%ebx
401978:	8b 43 10             	mov    0x10(%ebx),%eax
40197b:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
40197f:	89 d9                	mov    %ebx,%ecx
401981:	72 02                	jb     0x401985
401983:	8b 0b                	mov    (%ebx),%ecx
401985:	89 7d dc             	mov    %edi,-0x24(%ebp)
401988:	8d 7b 1c             	lea    0x1c(%ebx),%edi
40198b:	01 c0                	add    %eax,%eax
40198d:	50                   	push   %eax
40198e:	51                   	push   %ecx
40198f:	56                   	push   %esi
401990:	e8 9b 29 00 00       	call   0x404330
401995:	83 c4 0c             	add    $0xc,%esp
401998:	8b 4b 10             	mov    0x10(%ebx),%ecx