4165c9:	8b d4                	mov    %esp,%edx
4165cb:	e8 d0 10 00 00       	call   0x4176a0
4165d0:	5a                   	pop    %edx
4165d1:	c3                   	ret
4165d2:	8b c0                	mov    %eax,%eax
4165d4:	53                   	push   %ebx
4165d5:	8b d8                	mov    %eax,%ebx
4165d7:	8b c3                	mov    %ebx,%eax
4165d9:	e8 66 ff ff ff       	call   0x416544
4165de:	66 83 38 01          	cmpw   $0x1,(%eax)
4165e2:	0f 94 c0             	sete   %al
4165e5:	5b                   	pop    %ebx
4165e6:	c3                   	ret
4165e7:	90                   	nop
4165e8:	53                   	push   %ebx
4165e9:	56                   	push   %esi
4165ea:	8b f2                	mov    %edx,%esi
4165ec:	8b d8                	mov    %eax,%ebx
4165ee:	8b ce                	mov    %esi,%ecx
4165f0:	8b c3                	mov    %ebx,%eax
4165f2:	33 d2                	xor    %edx,%edx
4165f4:	e8 03 00 00 00       	call   0x4165fc
4165f9:	5e                   	pop    %esi
4165fa:	5b                   	pop    %ebx
4165fb:	c3                   	ret
4165fc:	53                   	push   %ebx
4165fd:	56                   	push   %esi
4165fe:	57                   	push   %edi
4165ff:	8b f1                	mov    %ecx,%esi
416601:	8b fa                	mov    %edx,%edi
416603:	8b d8                	mov    %eax,%ebx
416605:	8b c3                	mov    %ebx,%eax
416607:	e8 c8 ff ff ff       	call   0x4165d4
41660c:	84 c0                	test   %al,%al
41660e:	75 0b                	jne    0x41661b
416610:	8b c6                	mov    %esi,%eax
416612:	8b d3                	mov    %ebx,%edx
416614:	e8 9f f3 fe ff       	call   0x4059b8
416619:	eb 09                	jmp    0x416624
41661b:	8b c6                	mov    %esi,%eax
41661d:	8b d7                	mov    %edi,%edx
41661f:	e8 98 e2 fe ff       	call   0x4048bc
416624:	5f                   	pop    %edi
416625:	5e                   	pop    %esi
416626:	5b                   	pop    %ebx
416627:	c3                   	ret
416628:	53                   	push   %ebx
416629:	56                   	push   %esi
41662a:	57                   	push   %edi
41662b:	83 c4 e0             	add    $0xffffffe0,%esp
41662e:	8b f2                	mov    %edx,%esi
416630:	8b d8                	mov    %eax,%ebx
416632:	8b c3                	mov    %ebx,%eax
416634:	e8 0b ff ff ff       	call   0x416544
416639:	56                   	push   %esi
41663a:	8b f0                	mov    %eax,%esi
41663c:	8d 7c 24 04          	lea    0x4(%esp),%edi
416640:	a5                   	movsl  %ds:(%esi),%es:(%edi)
416641:	a5                   	movsl  %ds:(%esi),%es:(%edi)
416642:	a5                   	movsl  %ds:(%esi),%es:(%edi)
416643:	a5                   	movsl  %ds:(%esi),%es:(%edi)
416644:	5e                   	pop    %esi
416645:	8b c6                	mov    %esi,%eax
416647:	e8 f8 fe ff ff       	call   0x416544
41664c:	56                   	push   %esi
41664d:	8b f0                	mov    %eax,%esi
41664f:	8d 7c 24 14          	lea    0x14(%esp),%edi
416653:	a5                   	movsl  %ds:(%esi),%es:(%edi)
416654:	a5                   	movsl  %ds:(%esi),%es:(%edi)
416655:	a5                   	movsl  %ds:(%esi),%es:(%edi)
416656:	a5                   	movsl  %ds:(%esi),%es:(%edi)
416657:	5e                   	pop    %esi
416658:	66 8b 04 24          	mov    (%esp),%ax
41665c:	66 85 c0             	test   %ax,%ax
41665f:	75 0b                	jne    0x41666c
416661:	66 83 7c 24 10 00    	cmpw   $0x0,0x10(%esp)
416667:	0f 94 c0             	sete   %al
41666a:	eb 2c                	jmp    0x416698
41666c:	66 83 f8 01          	cmp    $0x1,%ax
416670:	75 0b                	jne    0x41667d
416672:	66 83 7c 24 10 01    	cmpw   $0x1,0x10(%esp)
416678:	0f 94 c0             	sete   %al
41667b:	eb 1b                	jmp    0x416698
41667d:	66 8b 44 24 10       	mov    0x10(%esp),%ax
416682:	66 83 e8 02          	sub    $0x2,%ax
416686:	73 04                	jae    0x41668c
416688:	33 c0                	xor    %eax,%eax
41668a:	eb 0c                	jmp    0x416698
41668c:	8b c3                	mov    %ebx,%eax
41668e:	8b d6                	mov    %esi,%edx
416690:	e8 af f3 fe ff       	call   0x405a44
416695:	0f 94 c0             	sete   %al
416698:	83 c4 20             	add    $0x20,%esp
41669b:	5f                   	pop    %edi
41669c:	5e                   	pop    %esi
41669d:	5b                   	pop    %ebx
41669e:	c3                   	ret
41669f:	90                   	nop
4166a0:	66 c7 00 0a 00       	movw   $0xa,(%eax)
4166a5:	c7 40 08 04 00 02 80 	movl   $0x80020004,0x8(%eax)
4166ac:	c3                   	ret
4166ad:	8d 40 00             	lea    0x0(%eax),%eax
4166b0:	55                   	push   %ebp
4166b1:	8b ec                	mov    %esp,%ebp
4166b3:	6a 00                	push   $0x0
4166b5:	53                   	push   %ebx
4166b6:	56                   	push   %esi
4166b7:	57                   	push   %edi
4166b8:	8b f9                	mov    %ecx,%edi
4166ba:	8b f2                	mov    %edx,%esi
4166bc:	8b d8                	mov    %eax,%ebx
4166be:	33 c0                	xor    %eax,%eax
4166c0:	55                   	push   %ebp
4166c1:	68 02 67 41 00       	push   $0x416702
4166c6:	64 ff 30             	push   %fs:(%eax)
4166c9:	64 89 20             	mov    %esp,%fs:(%eax)
4166cc:	8d 55 fc             	lea    -0x4(%ebp),%edx
4166cf:	8b c6                	mov    %esi,%eax
4166d1:	e8 12 ff ff ff       	call   0x4165e8
4166d6:	8b c3                	mov    %ebx,%eax
4166d8:	8b cf                	mov    %edi,%ecx
4166da:	8b 55 fc             	mov    -0x4(%ebp),%edx
4166dd:	e8 5a e8 fe ff       	call   0x404f3c
4166e2:	e8 a9 c9 fe ff       	call   0x403090
4166e7:	e8 28 c2 fe ff       	call   0x402914
4166ec:	33 c0                	xor    %eax,%eax
4166ee:	5a                   	pop    %edx
4166ef:	59                   	pop    %ecx
4166f0:	59                   	pop    %ecx
4166f1:	64 89 10             	mov    %edx,%fs:(%eax)
4166f4:	68 09 67 41 00       	push   $0x416709
4166f9:	8d 45 fc             	lea    -0x4(%ebp),%eax
4166fc:	e8 67 e1 fe ff       	call   0x404868
416701:	c3                   	ret
416702:	e9 05 db fe ff       	jmp    0x40420c
416707:	eb f0                	jmp    0x4166f9
416709:	8b c3                	mov    %ebx,%eax
41670b:	5f                   	pop    %edi
41670c:	5e                   	pop    %esi
41670d:	5b                   	pop    %ebx
41670e:	59                   	pop    %ecx
41670f:	5d                   	pop    %ebp
416710:	c3                   	ret
416711:	8d 40 00             	lea    0x0(%eax),%eax
416714:	33 c9                	xor    %ecx,%ecx
416716:	e8 95 ff ff ff       	call   0x4166b0
41671b:	c3                   	ret
41671c:	53                   	push   %ebx
41671d:	66 8b 18             	mov    (%eax),%bx
416720:	66 81 fb 0c 40       	cmp    $0x400c,%bx
416725:	75 0c                	jne    0x416733
416727:	8b 40 08             	mov    0x8(%eax),%eax
41672a:	e8 ed ff ff ff       	call   0x41671c
41672f:	8b d8                	mov    %eax,%ebx
416731:	eb 28                	jmp    0x41675b
416733:	66 89 1a             	mov    %bx,(%edx)
416736:	f6 42 01 20          	testb  $0x20,0x1(%edx)
41673a:	0f 95 c3             	setne  %bl
41673d:	84 db                	test   %bl,%bl
41673f:	74 16                	je     0x416757
416741:	f6 42 01 40          	testb  $0x40,0x1(%edx)
416745:	74 09                	je     0x416750
416747:	8b 40 08             	mov    0x8(%eax),%eax
41674a:	8b 00                	mov    (%eax),%eax
41674c:	89 01                	mov    %eax,(%ecx)
41674e:	eb 0b                	jmp    0x41675b
416750:	8b 40 08             	mov    0x8(%eax),%eax
416753:	89 01                	mov    %eax,(%ecx)
416755:	eb 04                	jmp    0x41675b
416757:	33 c0                	xor    %eax,%eax
416759:	89 01                	mov    %eax,(%ecx)
41675b:	8b c3                	mov    %ebx,%eax
41675d:	5b                   	pop    %ebx
41675e:	c3                   	ret
41675f:	90                   	nop
416760:	55                   	push   %ebp
416761:	8b ec                	mov    %esp,%ebp
416763:	81 c4 f8 fd ff ff    	add    $0xfffffdf8,%esp
416769:	53                   	push   %ebx
41676a:	56                   	push   %esi
41676b:	66 89 4d fe          	mov    %cx,-0x2(%ebp)
41676f:	8b da                	mov    %edx,%ebx
416771:	8b f0                	mov    %eax,%esi
416773:	f6 c3 01             	test   $0x1,%bl
416776:	74 12                	je     0x41678a
416778:	83 fb 7f             	cmp    $0x7f,%ebx
41677b:	7f 0d                	jg     0x41678a
41677d:	66 8b 45 fe          	mov    -0x2(%ebp),%ax
416781:	e8 a2 01 00 00       	call   0x416928
416786:	84 c0                	test   %al,%al
416788:	75 05                	jne    0x41678f
41678a:	e8 29 92 ff ff       	call   0x40f9b8
41678f:	43                   	inc    %ebx
416790:	d1 fb                	sar    $1,%ebx
416792:	79 03                	jns    0x416797
416794:	83 d3 00             	adc    $0x0,%ebx
416797:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41679a:	8b 5d f8             	mov    -0x8(%ebp),%ebx
41679d:	4b                   	dec    %ebx
41679e:	85 db                	test   %ebx,%ebx
4167a0:	7c 22                	jl     0x4167c4
4167a2:	43                   	inc    %ebx
4167a3:	8d 95 f8 fd ff ff    	lea    -0x208(%ebp),%edx
4167a9:	8b c6                	mov    %esi,%eax
4167ab:	8b ca                	mov    %edx,%ecx
4167ad:	8b 30                	mov    (%eax),%esi
4167af:	89 71 04             	mov    %esi,0x4(%ecx)
4167b2:	8b 70 04             	mov    0x4(%eax),%esi
4167b5:	2b 71 04             	sub    0x4(%ecx),%esi
4167b8:	46                   	inc    %esi
4167b9:	89 31                	mov    %esi,(%ecx)
4167bb:	83 c0 08             	add    $0x8,%eax
4167be:	83 c2 08             	add    $0x8,%edx
4167c1:	4b                   	dec    %ebx
4167c2:	75 e7                	jne    0x4167ab
4167c4:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
4167ca:	50                   	push   %eax
4167cb:	8b 45 f8             	mov    -0x8(%ebp),%eax
4167ce:	50                   	push   %eax
4167cf:	0f b7 45 fe          	movzwl -0x2(%ebp),%eax
4167d3:	50                   	push   %eax
4167d4:	e8 b7 89 ff ff       	call   0x40f190
4167d9:	8b d8                	mov    %eax,%ebx
4167db:	85 db                	test   %ebx,%ebx
4167dd:	75 05                	jne    0x4167e4
4167df:	e8 d4 91 ff ff       	call   0x40f9b8
4167e4:	8b 45 08             	mov    0x8(%ebp),%eax
4167e7:	e8 fc 97 ff ff       	call   0x40ffe8
4167ec:	66 8b 45 fe          	mov    -0x2(%ebp),%ax
4167f0:	66 0d 00 20          	or     $0x2000,%ax
4167f4:	8b 55 08             	mov    0x8(%ebp),%edx
4167f7:	66 89 02             	mov    %ax,(%edx)
4167fa:	8b 45 08             	mov    0x8(%ebp),%eax
4167fd:	89 58 08             	mov    %ebx,0x8(%eax)
416800:	5e                   	pop    %esi
416801:	5b                   	pop    %ebx
416802:	8b e5                	mov    %ebp,%esp
416804:	5d                   	pop    %ebp
416805:	c2 04 00             	ret    $0x4
416808:	53                   	push   %ebx
416809:	56                   	push   %esi
41680a:	83 c4 f0             	add    $0xfffffff0,%esp
41680d:	8b f2                	mov    %edx,%esi
41680f:	8b d8                	mov    %eax,%ebx
416811:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
416815:	8d 54 24 08          	lea    0x8(%esp),%edx
416819:	8b c3                	mov    %ebx,%eax
41681b:	e8 fc fe ff ff       	call   0x41671c
416820:	84 c0                	test   %al,%al
416822:	75 0a                	jne    0x41682e
416824:	b8 57 00 07 80       	mov    $0x80070057,%eax
416829:	e8 de 91 ff ff       	call   0x40fa0c
41682e:	8b 44 24 0c          	mov    0xc(%esp),%eax
416832:	0f b7 10             	movzwl (%eax),%edx
416835:	8b 54 d0 0c          	mov    0xc(%eax,%edx,8),%edx
416839:	89 54 24 04          	mov    %edx,0x4(%esp)
41683d:	2b f2                	sub    %edx,%esi
41683f:	46                   	inc    %esi
416840:	89 34 24             	mov    %esi,(%esp)
416843:	54                   	push   %esp
416844:	8b 44 24 10          	mov    0x10(%esp),%eax
416848:	50                   	push   %eax
416849:	e8 4a 89 ff ff       	call   0x40f198
41684e:	85 c0                	test   %eax,%eax
416850:	74 05                	je     0x416857
416852:	e8 61 91 ff ff       	call   0x40f9b8
416857:	83 c4 10             	add    $0x10,%esp
41685a:	5e                   	pop    %esi
41685b:	5b                   	pop    %ebx
41685c:	c3                   	ret
41685d:	8d 40 00             	lea    0x0(%eax),%eax
416860:	53                   	push   %ebx
416861:	83 c4 f8             	add    $0xfffffff8,%esp
416864:	8b d8                	mov    %eax,%ebx
416866:	8b cc                	mov    %esp,%ecx
416868:	8d 54 24 04          	lea    0x4(%esp),%edx
41686c:	8b c3                	mov    %ebx,%eax
41686e:	e8 a9 fe ff ff       	call   0x41671c
416873:	84 c0                	test   %al,%al
416875:	75 0a                	jne    0x416881
416877:	b8 57 00 07 80       	mov    $0x80070057,%eax
41687c:	e8 8b 91 ff ff       	call   0x40fa0c
416881:	8b 04 24             	mov    (%esp),%eax
416884:	59                   	pop    %ecx
416885:	5a                   	pop    %edx
416886:	5b                   	pop    %ebx
416887:	c3                   	ret
416888:	53                   	push   %ebx
416889:	83 c4 f8             	add    $0xfffffff8,%esp
41688c:	8b d8                	mov    %eax,%ebx
41688e:	8d 4c 24 04          	lea    0x4(%esp),%ecx
416892:	8b d4                	mov    %esp,%edx
416894:	8b c3                	mov    %ebx,%eax
416896:	e8 81 fe ff ff       	call   0x41671c
41689b:	84 c0                	test   %al,%al
41689d:	74 09                	je     0x4168a8
41689f:	8b 44 24 04          	mov    0x4(%esp),%eax
4168a3:	0f b7 00             	movzwl (%eax),%eax
4168a6:	eb 02                	jmp    0x4168aa
4168a8:	33 c0                	xor    %eax,%eax
4168aa:	59                   	pop    %ecx
4168ab:	5a                   	pop    %edx
4168ac:	5b                   	pop    %ebx
4168ad:	c3                   	ret
4168ae:	8b c0                	mov    %eax,%eax
4168b0:	53                   	push   %ebx
4168b1:	56                   	push   %esi
4168b2:	51                   	push   %ecx
4168b3:	8b f2                	mov    %edx,%esi
4168b5:	8b d8                	mov    %eax,%ebx
4168b7:	54                   	push   %esp
4168b8:	56                   	push   %esi
4168b9:	8b c3                	mov    %ebx,%eax
4168bb:	e8 a0 ff ff ff       	call   0x416860
4168c0:	50                   	push   %eax
4168c1:	e8 da 88 ff ff       	call   0x40f1a0
4168c6:	e8 41 91 ff ff       	call   0x40fa0c
4168cb:	8b 04 24             	mov    (%esp),%eax
4168ce:	5a                   	pop    %edx
4168cf:	5e                   	pop    %esi
4168d0:	5b                   	pop    %ebx
4168d1:	c3                   	ret
4168d2:	8b c0                	mov    %eax,%eax
4168d4:	53                   	push   %ebx
4168d5:	56                   	push   %esi
4168d6:	51                   	push   %ecx
4168d7:	8b f2                	mov    %edx,%esi
4168d9:	8b d8                	mov    %eax,%ebx
4168db:	54                   	push   %esp
4168dc:	56                   	push   %esi
4168dd:	8b c3                	mov    %ebx,%eax
4168df:	e8 7c ff ff ff       	call   0x416860
4168e4:	50                   	push   %eax
4168e5:	e8 be 88 ff ff       	call   0x40f1a8
4168ea:	e8 1d 91 ff ff       	call   0x40fa0c
4168ef:	8b 04 24             	mov    (%esp),%eax
4168f2:	5a                   	pop    %edx
4168f3:	5e                   	pop    %esi
4168f4:	5b                   	pop    %ebx
4168f5:	c3                   	ret
4168f6:	8b c0                	mov    %eax,%eax
4168f8:	b2 01                	mov    $0x1,%dl
4168fa:	e8 01 00 00 00       	call   0x416900
4168ff:	c3                   	ret
416900:	83 c4 f8             	add    $0xfffffff8,%esp
416903:	84 d2                	test   %dl,%dl
416905:	74 0e                	je     0x416915
416907:	8d 4c 24 04          	lea    0x4(%esp),%ecx
41690b:	8b d4                	mov    %esp,%edx
41690d:	e8 0a fe ff ff       	call   0x41671c