416581:	5f                   	pop    %edi
416582:	8b c6                	mov    %esi,%eax
416584:	5e                   	pop    %esi
416585:	5b                   	pop    %ebx
416586:	c9                   	leave
416587:	c2 08 00             	ret    $0x8
41658a:	68 1c 24 40 00       	push   $0x40241c
41658f:	57                   	push   %edi
416590:	85 d2                	test   %edx,%edx
416592:	0f 85 ad ba 00 00    	jne    0x422045
416598:	be 00 00 00 80       	mov    $0x80000000,%esi
41659d:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
4165a4:	ff 15 40 a4 44 00    	call   *0x44a440
4165aa:	59                   	pop    %ecx
4165ab:	59                   	pop    %ecx
4165ac:	85 c0                	test   %eax,%eax
4165ae:	74 4f                	je     0x4165ff
4165b0:	8b cf                	mov    %edi,%ecx
4165b2:	e8 a9 9a ff ff       	call   0x410060
4165b7:	8b c8                	mov    %eax,%ecx
4165b9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4165bc:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4165bf:	83 f8 02             	cmp    $0x2,%eax
4165c2:	0f 84 9d ba 00 00    	je     0x422065
4165c8:	6a 00                	push   $0x0
4165ca:	68 80 00 00 08       	push   $0x8000080
4165cf:	50                   	push   %eax
4165d0:	8d 45 ec             	lea    -0x14(%ebp),%eax
4165d3:	50                   	push   %eax
4165d4:	53                   	push   %ebx
4165d5:	56                   	push   %esi
4165d6:	51                   	push   %ecx
4165d7:	ff 15 ac a0 44 00    	call   *0x44a0ac
4165dd:	8b f8                	mov    %eax,%edi
4165df:	83 ff ff             	cmp    $0xffffffff,%edi
4165e2:	0f 84 b5 ba 00 00    	je     0x42209d
4165e8:	6a 08                	push   $0x8
4165ea:	57                   	push   %edi
4165eb:	ff 15 88 a3 44 00    	call   *0x44a388
4165f1:	8b f0                	mov    %eax,%esi
4165f3:	59                   	pop    %ecx
4165f4:	59                   	pop    %ecx
4165f5:	83 fe ff             	cmp    $0xffffffff,%esi
4165f8:	75 87                	jne    0x416581
4165fa:	e9 92 ba 00 00       	jmp    0x422091
4165ff:	33 db                	xor    %ebx,%ebx
416601:	43                   	inc    %ebx
416602:	eb ac                	jmp    0x4165b0
416604:	8b ff                	mov    %edi,%edi
416606:	55                   	push   %ebp
416607:	8b ec                	mov    %esp,%ebp
416609:	83 ec 0c             	sub    $0xc,%esp
41660c:	53                   	push   %ebx
41660d:	56                   	push   %esi
41660e:	8b 75 08             	mov    0x8(%ebp),%esi
416611:	8b d9                	mov    %ecx,%ebx
416613:	57                   	push   %edi
416614:	89 55 f8             	mov    %edx,-0x8(%ebp)
416617:	33 ff                	xor    %edi,%edi
416619:	8d 4e 02             	lea    0x2(%esi),%ecx
41661c:	66 8b 06             	mov    (%esi),%ax
41661f:	83 c6 02             	add    $0x2,%esi
416622:	66 3b c7             	cmp    %di,%ax
416625:	75 f5                	jne    0x41661c
416627:	2b f1                	sub    %ecx,%esi
416629:	d1 fe                	sar    $1,%esi
41662b:	8d 0c 75 28 00 00 00 	lea    0x28(,%esi,2),%ecx
416632:	89 4d f4             	mov    %ecx,-0xc(%ebp)
416635:	e8 96 76 ff ff       	call   0x40dcd0
41663a:	8b f0                	mov    %eax,%esi
41663c:	89 75 fc             	mov    %esi,-0x4(%ebp)
41663f:	85 f6                	test   %esi,%esi
416641:	74 52                	je     0x416695
416643:	ff 75 08             	push   0x8(%ebp)
416646:	8b 45 f4             	mov    -0xc(%ebp),%eax
416649:	ff 75 f8             	push   -0x8(%ebp)
41664c:	d1 e8                	shr    $1,%eax
41664e:	50                   	push   %eax
41664f:	56                   	push   %esi
416650:	e8 6a 34 ff ff       	call   0x409abf
416655:	83 c4 10             	add    $0x10,%esp
416658:	8d 4e 02             	lea    0x2(%esi),%ecx
41665b:	66 8b 06             	mov    (%esi),%ax
41665e:	83 c6 02             	add    $0x2,%esi
416661:	66 3b c7             	cmp    %di,%ax
416664:	75 f5                	jne    0x41665b
416666:	8b 43 08             	mov    0x8(%ebx),%eax
416669:	2b f1                	sub    %ecx,%esi
41666b:	8b 53 0c             	mov    0xc(%ebx),%edx
41666e:	d1 fe                	sar    $1,%esi
416670:	03 c6                	add    %esi,%eax
416672:	3b c2                	cmp    %edx,%eax
416674:	73 24                	jae    0x41669a
416676:	ff 75 fc             	push   -0x4(%ebp)
416679:	8b 4b 10             	mov    0x10(%ebx),%ecx
41667c:	e8 bf 95 ff ff       	call   0x40fc40
416681:	01 73 08             	add    %esi,0x8(%ebx)
416684:	8b 4d fc             	mov    -0x4(%ebp),%ecx
416687:	e8 d4 75 ff ff       	call   0x40dc60
41668c:	8b c7                	mov    %edi,%eax
41668e:	5f                   	pop    %edi
41668f:	5e                   	pop    %esi
416690:	5b                   	pop    %ebx
416691:	c9                   	leave
416692:	c2 04 00             	ret    $0x4
416695:	33 c0                	xor    %eax,%eax
416697:	40                   	inc    %eax
416698:	eb f4                	jmp    0x41668e
41669a:	33 ff                	xor    %edi,%edi
41669c:	47                   	inc    %edi
41669d:	eb e5                	jmp    0x416684
41669f:	8b ff                	mov    %edi,%edi
4166a1:	55                   	push   %ebp
4166a2:	8b ec                	mov    %esp,%ebp
4166a4:	51                   	push   %ecx
4166a5:	51                   	push   %ecx
4166a6:	53                   	push   %ebx
4166a7:	56                   	push   %esi
4166a8:	8b f1                	mov    %ecx,%esi
4166aa:	8b da                	mov    %edx,%ebx
4166ac:	57                   	push   %edi
4166ad:	0f b7 06             	movzwl (%esi),%eax
4166b0:	8b c8                	mov    %eax,%ecx
4166b2:	83 f8 3a             	cmp    $0x3a,%eax
4166b5:	0f 84 05 ba 00 00    	je     0x4220c0
4166bb:	8b 7b 0c             	mov    0xc(%ebx),%edi
4166be:	33 c0                	xor    %eax,%eax
4166c0:	66 85 c9             	test   %cx,%cx
4166c3:	74 59                	je     0x41671e
4166c5:	8d 43 10             	lea    0x10(%ebx),%eax
4166c8:	8d 04 f8             	lea    (%eax,%edi,8),%eax
4166cb:	89 45 f8             	mov    %eax,-0x8(%ebp)
4166ce:	8d 43 14             	lea    0x14(%ebx),%eax
4166d1:	8d 04 f8             	lea    (%eax,%edi,8),%eax
4166d4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4166d7:	33 c0                	xor    %eax,%eax
4166d9:	83 ff 06             	cmp    $0x6,%edi
4166dc:	73 40                	jae    0x41671e
4166de:	0f b7 06             	movzwl (%esi),%eax
4166e1:	50                   	push   %eax
4166e2:	ff 15 18 a4 44 00    	call   *0x44a418
4166e8:	59                   	pop    %ecx
4166e9:	6a 2d                	push   $0x2d
4166eb:	0f b7 c0             	movzwl %ax,%eax
4166ee:	59                   	pop    %ecx
4166ef:	2b c1                	sub    %ecx,%eax
4166f1:	0f 84 21 ba 00 00    	je     0x422118
4166f7:	83 e8 17             	sub    $0x17,%eax
4166fa:	0f 85 cb b9 00 00    	jne    0x4220cb
416700:	8b 45 fc             	mov    -0x4(%ebp),%eax
416703:	c7 00 20 a3 42 00    	movl   $0x42a320,(%eax)
416709:	83 45 f8 08          	addl   $0x8,-0x8(%ebp)
41670d:	83 c0 08             	add    $0x8,%eax
416710:	83 c6 02             	add    $0x2,%esi
416713:	89 45 fc             	mov    %eax,-0x4(%ebp)
416716:	33 c0                	xor    %eax,%eax
416718:	47                   	inc    %edi
416719:	66 39 06             	cmp    %ax,(%esi)
41671c:	75 bb                	jne    0x4166d9
41671e:	85 ff                	test   %edi,%edi
416720:	0f 84 2c ba 00 00    	je     0x422152
416726:	89 7b 0c             	mov    %edi,0xc(%ebx)
416729:	89 44 fb 14          	mov    %eax,0x14(%ebx,%edi,8)
41672d:	33 c0                	xor    %eax,%eax
41672f:	5f                   	pop    %edi
416730:	5e                   	pop    %esi
416731:	5b                   	pop    %ebx
416732:	c9                   	leave
416733:	c3                   	ret
416734:	cc                   	int3
416735:	cc                   	int3
416736:	cc                   	int3
416737:	cc                   	int3
416738:	cc                   	int3
416739:	cc                   	int3
41673a:	cc                   	int3
41673b:	cc                   	int3
41673c:	cc                   	int3
41673d:	cc                   	int3
41673e:	cc                   	int3
41673f:	cc                   	int3
416740:	8b ff                	mov    %edi,%edi
416742:	55                   	push   %ebp
416743:	8b ec                	mov    %esp,%ebp
416745:	56                   	push   %esi
416746:	8b 75 08             	mov    0x8(%ebp),%esi
416749:	33 c9                	xor    %ecx,%ecx
41674b:	8b 56 38             	mov    0x38(%esi),%edx
41674e:	e8 1d 7d ff ff       	call   0x40e470
416753:	85 c0                	test   %eax,%eax
416755:	75 08                	jne    0x41675f
416757:	38 05 44 67 43 00    	cmp    %al,0x436744
41675d:	74 05                	je     0x416764
41675f:	5e                   	pop    %esi
416760:	5d                   	pop    %ebp
416761:	c2 04 00             	ret    $0x4
416764:	8b 56 3c             	mov    0x3c(%esi),%edx
416767:	33 c9                	xor    %ecx,%ecx
416769:	ff 05 78 e5 42 00    	incl   0x42e578
41676f:	e8 fc 7c ff ff       	call   0x40e470
416774:	ff 0d 78 e5 42 00    	decl   0x42e578
41677a:	eb e3                	jmp    0x41675f
41677c:	8b ff                	mov    %edi,%edi
41677e:	55                   	push   %ebp
41677f:	8b ec                	mov    %esp,%ebp
416781:	ff 35 88 41 40 00    	push   0x404188
416787:	ff 75 0c             	push   0xc(%ebp)
41678a:	ff 35 6c a0 44 00    	push   0x44a06c
416790:	68 f0 7e 42 00       	push   $0x427ef0
416795:	ff 75 08             	push   0x8(%ebp)
416798:	68 00 00 40 00       	push   $0x400000
41679d:	ff 15 74 a0 44 00    	call   *0x44a074
4167a3:	5d                   	pop    %ebp
4167a4:	c2 08 00             	ret    $0x8
4167a7:	cc                   	int3
4167a8:	cc                   	int3
4167a9:	cc                   	int3
4167aa:	cc                   	int3
4167ab:	cc                   	int3
4167ac:	cc                   	int3
4167ad:	cc                   	int3
4167ae:	cc                   	int3
4167af:	cc                   	int3
4167b0:	8b ff                	mov    %edi,%edi
4167b2:	55                   	push   %ebp
4167b3:	8b ec                	mov    %esp,%ebp
4167b5:	8b 45 08             	mov    0x8(%ebp),%eax
4167b8:	a3 60 e5 42 00       	mov    %eax,0x42e560
4167bd:	33 c0                	xor    %eax,%eax
4167bf:	40                   	inc    %eax
4167c0:	5d                   	pop    %ebp
4167c1:	c2 04 00             	ret    $0x4
4167c4:	cc                   	int3
4167c5:	cc                   	int3
4167c6:	cc                   	int3
4167c7:	cc                   	int3
4167c8:	cc                   	int3
4167c9:	cc                   	int3
4167ca:	cc                   	int3
4167cb:	cc                   	int3
4167cc:	cc                   	int3
4167cd:	cc                   	int3
4167ce:	cc                   	int3
4167cf:	cc                   	int3
4167d0:	33 c0                	xor    %eax,%eax
4167d2:	c2 04 00             	ret    $0x4
4167d5:	cc                   	int3
4167d6:	cc                   	int3
4167d7:	cc                   	int3
4167d8:	cc                   	int3
4167d9:	cc                   	int3
4167da:	cc                   	int3
4167db:	cc                   	int3
4167dc:	cc                   	int3
4167dd:	cc                   	int3
4167de:	cc                   	int3
4167df:	cc                   	int3
4167e0:	8b ff                	mov    %edi,%edi
4167e2:	55                   	push   %ebp
4167e3:	8b ec                	mov    %esp,%ebp
4167e5:	8b 45 08             	mov    0x8(%ebp),%eax
4167e8:	8b 00                	mov    (%eax),%eax
4167ea:	8b 48 04             	mov    0x4(%eax),%ecx
4167ed:	8b 45 0c             	mov    0xc(%ebp),%eax
4167f0:	83 e1 10             	and    $0x10,%ecx
4167f3:	8b 00                	mov    (%eax),%eax
4167f5:	8b 40 04             	mov    0x4(%eax),%eax
4167f8:	83 e0 10             	and    $0x10,%eax
4167fb:	2b c1                	sub    %ecx,%eax
4167fd:	5d                   	pop    %ebp
4167fe:	c3                   	ret
4167ff:	cc                   	int3
416800:	8b ff                	mov    %edi,%edi
416802:	55                   	push   %ebp
416803:	8b ec                	mov    %esp,%ebp
416805:	51                   	push   %ecx
416806:	53                   	push   %ebx
416807:	c7 45 fc 08 8e 44 00 	movl   $0x448e08,-0x4(%ebp)
41680e:	bb 30 8e 44 00       	mov    $0x448e30,%ebx
416813:	56                   	push   %esi
416814:	8b 75 fc             	mov    -0x4(%ebp),%esi
416817:	3b f3                	cmp    %ebx,%esi
416819:	74 26                	je     0x416841
41681b:	57                   	push   %edi
41681c:	8b 3e                	mov    (%esi),%edi
41681e:	eb 13                	jmp    0x416833
416820:	57                   	push   %edi
416821:	8b 7f 04             	mov    0x4(%edi),%edi
416824:	6a 00                	push   $0x0
416826:	ff 15 34 a1 44 00    	call   *0x44a134
41682c:	50                   	push   %eax
41682d:	ff 15 3c a1 44 00    	call   *0x44a13c
416833:	85 ff                	test   %edi,%edi
416835:	75 e9                	jne    0x416820
416837:	89 3e                	mov    %edi,(%esi)
416839:	83 c6 04             	add    $0x4,%esi
41683c:	3b f3                	cmp    %ebx,%esi
41683e:	75 dc                	jne    0x41681c
416840:	5f                   	pop    %edi
416841:	5e                   	pop    %esi
416842:	5b                   	pop    %ebx
416843:	c9                   	leave
416844:	c3                   	ret
416845:	8b 0d 10 e0 42 00    	mov    0x42e010,%ecx
41684b:	85 c9                	test   %ecx,%ecx
41684d:	0f 85 4b c9 00 00    	jne    0x42319e
416853:	c3                   	ret
416854:	cc                   	int3
416855:	cc                   	int3
416856:	cc                   	int3
416857:	cc                   	int3
416858:	cc                   	int3
416859:	cc                   	int3
41685a:	cc                   	int3
41685b:	cc                   	int3
41685c:	cc                   	int3
41685d:	cc                   	int3
41685e:	cc                   	int3
41685f:	cc                   	int3
416860:	e8 48 02 00 00       	call   0x416aad
416865:	6a 01                	push   $0x1
416867:	a3 b0 e1 42 00       	mov    %eax,0x42e1b0
41686c:	e8 d7 06 00 00       	call   0x416f48
416871:	50                   	push   %eax
416872:	ff 15 40 a3 44 00    	call   *0x44a340
416878:	83 0d 2c e5 42 00 ff 	orl    $0xffffffff,0x42e52c
41687f:	83 0d 30 e5 42 00 ff 	orl    $0xffffffff,0x42e530
416886:	59                   	pop    %ecx
416887:	59                   	pop    %ecx
416888:	ff 15 34 a3 44 00    	call   *0x44a334
41688e:	8b 0d e0 e4 42 00    	mov    0x42e4e0,%ecx
416894:	89 08                	mov    %ecx,(%eax)
416896:	ff 15 4c a3 44 00    	call   *0x44a34c
41689c:	8b 0d d4 e4 42 00    	mov    0x42e4d4,%ecx
4168a2:	89 08                	mov    %ecx,(%eax)
4168a4:	e8 e7 06 00 00       	call   0x416f90
4168a9:	83 3d b0 e0 42 00 00 	cmpl   $0x0,0x42e0b0
4168b0:	75 0c                	jne    0x4168be
4168b2:	68 90 6f 41 00       	push   $0x416f90
4168b7:	ff 15 30 a3 44 00    	call   *0x44a330
4168bd:	59                   	pop    %ecx
4168be:	e8 ca 08 00 00       	call   0x41718d
4168c3:	33 c0                	xor    %eax,%eax
4168c5:	c3                   	ret
4168c6:	cc                   	int3
4168c7:	cc                   	int3
4168c8:	cc                   	int3
4168c9:	cc                   	int3
4168ca:	cc                   	int3
4168cb:	cc                   	int3