40d622:	55                   	push   %ebp
40d623:	8b ec                	mov    %esp,%ebp
40d625:	8b 45 08             	mov    0x8(%ebp),%eax
40d628:	a3 fc ba 42 00       	mov    %eax,0x42bafc
40d62d:	33 c0                	xor    %eax,%eax
40d62f:	40                   	inc    %eax
40d630:	5d                   	pop    %ebp
40d631:	c2 04 00             	ret    $0x4
40d634:	8b ff                	mov    %edi,%edi
40d636:	55                   	push   %ebp
40d637:	8b ec                	mov    %esp,%ebp
40d639:	56                   	push   %esi
40d63a:	8b 35 2c bb 42 00    	mov    0x42bb2c,%esi
40d640:	85 f6                	test   %esi,%esi
40d642:	74 10                	je     0x40d654
40d644:	ff 75 08             	push   0x8(%ebp)
40d647:	6a 00                	push   $0x0
40d649:	51                   	push   %ecx
40d64a:	8b ce                	mov    %esi,%ecx
40d64c:	ff 15 d4 c4 42 00    	call   *0x42c4d4
40d652:	ff d6                	call   *%esi
40d654:	6a 07                	push   $0x7
40d656:	59                   	pop    %ecx
40d657:	cd 29                	int    $0x29
40d659:	5e                   	pop    %esi
40d65a:	5d                   	pop    %ebp
40d65b:	c2 04 00             	ret    $0x4
40d65e:	8b ff                	mov    %edi,%edi
40d660:	55                   	push   %ebp
40d661:	8b ec                	mov    %esp,%ebp
40d663:	81 ec 10 01 00 00    	sub    $0x110,%esp
40d669:	a1 74 b6 42 00       	mov    0x42b674,%eax
40d66e:	33 c5                	xor    %ebp,%eax
40d670:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d673:	8b 4d 10             	mov    0x10(%ebp),%ecx
40d676:	53                   	push   %ebx
40d677:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40d67a:	56                   	push   %esi
40d67b:	8b 75 08             	mov    0x8(%ebp),%esi
40d67e:	57                   	push   %edi
40d67f:	33 ff                	xor    %edi,%edi
40d681:	89 8d f0 fe ff ff    	mov    %ecx,-0x110(%ebp)
40d687:	89 bd f4 fe ff ff    	mov    %edi,-0x10c(%ebp)
40d68d:	85 f6                	test   %esi,%esi
40d68f:	74 28                	je     0x40d6b9
40d691:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
40d697:	50                   	push   %eax
40d698:	56                   	push   %esi
40d699:	6a 06                	push   $0x6
40d69b:	ff 15 a8 c1 42 00    	call   *0x42c1a8
40d6a1:	85 c0                	test   %eax,%eax
40d6a3:	75 08                	jne    0x40d6ad
40d6a5:	85 db                	test   %ebx,%ebx
40d6a7:	74 3b                	je     0x40d6e4
40d6a9:	89 3b                	mov    %edi,(%ebx)
40d6ab:	eb 37                	jmp    0x40d6e4
40d6ad:	8b bd f4 fe ff ff    	mov    -0x10c(%ebp),%edi
40d6b3:	8b 8d f0 fe ff ff    	mov    -0x110(%ebp),%ecx
40d6b9:	85 db                	test   %ebx,%ebx
40d6bb:	74 0c                	je     0x40d6c9
40d6bd:	8b c6                	mov    %esi,%eax
40d6bf:	2b c7                	sub    %edi,%eax
40d6c1:	f7 de                	neg    %esi
40d6c3:	1b f6                	sbb    %esi,%esi
40d6c5:	23 f0                	and    %eax,%esi
40d6c7:	89 33                	mov    %esi,(%ebx)
40d6c9:	85 c9                	test   %ecx,%ecx
40d6cb:	74 57                	je     0x40d724
40d6cd:	68 04 01 00 00       	push   $0x104
40d6d2:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
40d6d8:	50                   	push   %eax
40d6d9:	57                   	push   %edi
40d6da:	ff 15 ac c1 42 00    	call   *0x42c1ac
40d6e0:	85 c0                	test   %eax,%eax
40d6e2:	75 04                	jne    0x40d6e8
40d6e4:	32 c0                	xor    %al,%al
40d6e6:	eb 3e                	jmp    0x40d726
40d6e8:	8d 8d f8 fe ff ff    	lea    -0x108(%ebp),%ecx
40d6ee:	8d 51 01             	lea    0x1(%ecx),%edx
40d6f1:	8a 01                	mov    (%ecx),%al
40d6f3:	41                   	inc    %ecx
40d6f4:	84 c0                	test   %al,%al
40d6f6:	75 f9                	jne    0x40d6f1
40d6f8:	2b ca                	sub    %edx,%ecx
40d6fa:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
40d700:	03 c1                	add    %ecx,%eax
40d702:	eb 07                	jmp    0x40d70b
40d704:	80 78 ff 5c          	cmpb   $0x5c,-0x1(%eax)
40d708:	74 0b                	je     0x40d715
40d70a:	48                   	dec    %eax
40d70b:	8d 8d f8 fe ff ff    	lea    -0x108(%ebp),%ecx
40d711:	3b c1                	cmp    %ecx,%eax
40d713:	77 ef                	ja     0x40d704
40d715:	8b 55 14             	mov    0x14(%ebp),%edx
40d718:	8b 8d f0 fe ff ff    	mov    -0x110(%ebp),%ecx
40d71e:	50                   	push   %eax
40d71f:	e8 1a de ff ff       	call   0x40b53e
40d724:	b0 01                	mov    $0x1,%al
40d726:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40d729:	5f                   	pop    %edi
40d72a:	5e                   	pop    %esi
40d72b:	33 cd                	xor    %ebp,%ecx
40d72d:	5b                   	pop    %ebx
40d72e:	e8 ad a3 01 00       	call   0x427ae0
40d733:	c9                   	leave
40d734:	c2 10 00             	ret    $0x10
40d737:	cc                   	int3
40d738:	cc                   	int3
40d739:	cc                   	int3
40d73a:	cc                   	int3
40d73b:	cc                   	int3
40d73c:	cc                   	int3
40d73d:	cc                   	int3
40d73e:	cc                   	int3
40d73f:	cc                   	int3
40d740:	80 3d f8 ba 42 00 00 	cmpb   $0x0,0x42baf8
40d747:	56                   	push   %esi
40d748:	be b8 ba 42 00       	mov    $0x42bab8,%esi
40d74d:	75 16                	jne    0x40d765
40d74f:	6a 40                	push   $0x40
40d751:	56                   	push   %esi
40d752:	6a 00                	push   $0x0
40d754:	68 20 d6 40 00       	push   $0x40d620
40d759:	e8 00 ff ff ff       	call   0x40d65e
40d75e:	c6 05 f8 ba 42 00 01 	movb   $0x1,0x42baf8
40d765:	8b c6                	mov    %esi,%eax
40d767:	5e                   	pop    %esi
40d768:	c3                   	ret
40d769:	cc                   	int3
40d76a:	cc                   	int3
40d76b:	cc                   	int3
40d76c:	cc                   	int3
40d76d:	cc                   	int3
40d76e:	cc                   	int3
40d76f:	cc                   	int3
40d770:	ff 25 b0 c1 42 00    	jmp    *0x42c1b0
40d776:	cc                   	int3
40d777:	cc                   	int3
40d778:	cc                   	int3
40d779:	cc                   	int3
40d77a:	cc                   	int3
40d77b:	cc                   	int3
40d77c:	cc                   	int3
40d77d:	cc                   	int3
40d77e:	cc                   	int3
40d77f:	cc                   	int3
40d780:	8b ff                	mov    %edi,%edi
40d782:	55                   	push   %ebp
40d783:	8b ec                	mov    %esp,%ebp
40d785:	56                   	push   %esi
40d786:	68 08 24 40 00       	push   $0x402408
40d78b:	ff 15 40 c2 42 00    	call   *0x42c240
40d791:	68 28 24 40 00       	push   $0x402428
40d796:	50                   	push   %eax
40d797:	ff 15 84 c1 42 00    	call   *0x42c184
40d79d:	8b f0                	mov    %eax,%esi
40d79f:	85 f6                	test   %esi,%esi
40d7a1:	74 13                	je     0x40d7b6
40d7a3:	ff 75 10             	push   0x10(%ebp)
40d7a6:	8b ce                	mov    %esi,%ecx
40d7a8:	ff 75 0c             	push   0xc(%ebp)
40d7ab:	ff 75 08             	push   0x8(%ebp)
40d7ae:	ff 15 d4 c4 42 00    	call   *0x42c4d4
40d7b4:	ff d6                	call   *%esi
40d7b6:	5e                   	pop    %esi
40d7b7:	5d                   	pop    %ebp
40d7b8:	c2 0c 00             	ret    $0xc
40d7bb:	8b ff                	mov    %edi,%edi
40d7bd:	56                   	push   %esi
40d7be:	8b f1                	mov    %ecx,%esi
40d7c0:	85 f6                	test   %esi,%esi
40d7c2:	78 04                	js     0x40d7c8
40d7c4:	33 c0                	xor    %eax,%eax
40d7c6:	5e                   	pop    %esi
40d7c7:	c3                   	ret
40d7c8:	81 fe 17 00 00 c0    	cmp    $0xc0000017,%esi
40d7ce:	75 07                	jne    0x40d7d7
40d7d0:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
40d7d5:	5e                   	pop    %esi
40d7d6:	c3                   	ret
40d7d7:	57                   	push   %edi
40d7d8:	8b 3d 3c bb 42 00    	mov    0x42bb3c,%edi
40d7de:	85 ff                	test   %edi,%edi
40d7e0:	74 24                	je     0x40d806
40d7e2:	56                   	push   %esi
40d7e3:	8b cf                	mov    %edi,%ecx
40d7e5:	ff 15 d4 c4 42 00    	call   *0x42c4d4
40d7eb:	ff d7                	call   *%edi
40d7ed:	85 c0                	test   %eax,%eax
40d7ef:	74 15                	je     0x40d806
40d7f1:	3d 3d 01 00 00       	cmp    $0x13d,%eax
40d7f6:	74 0e                	je     0x40d806
40d7f8:	85 c0                	test   %eax,%eax
40d7fa:	7e 12                	jle    0x40d80e
40d7fc:	0f b7 c0             	movzwl %ax,%eax
40d7ff:	0d 00 00 07 80       	or     $0x80070000,%eax
40d804:	eb 08                	jmp    0x40d80e
40d806:	81 ce 00 00 00 10    	or     $0x10000000,%esi
40d80c:	8b c6                	mov    %esi,%eax
40d80e:	5f                   	pop    %edi
40d80f:	5e                   	pop    %esi
40d810:	c3                   	ret
40d811:	8b ff                	mov    %edi,%edi
40d813:	55                   	push   %ebp
40d814:	8b ec                	mov    %esp,%ebp
40d816:	56                   	push   %esi
40d817:	57                   	push   %edi
40d818:	8b f2                	mov    %edx,%esi
40d81a:	8b f9                	mov    %ecx,%edi
40d81c:	ff 15 18 c2 42 00    	call   *0x42c218
40d822:	85 c0                	test   %eax,%eax
40d824:	75 1d                	jne    0x40d843
40d826:	68 9c 02 07 80       	push   $0x8007029c
40d82b:	6a 02                	push   $0x2
40d82d:	ff 75 14             	push   0x14(%ebp)
40d830:	8b d6                	mov    %esi,%edx
40d832:	8b cf                	mov    %edi,%ecx
40d834:	50                   	push   %eax
40d835:	50                   	push   %eax
40d836:	ff 75 08             	push   0x8(%ebp)
40d839:	e8 e1 07 00 00       	call   0x40e01f
40d83e:	b8 9c 02 00 00       	mov    $0x29c,%eax
40d843:	5f                   	pop    %edi
40d844:	5e                   	pop    %esi
40d845:	5d                   	pop    %ebp
40d846:	c2 10 00             	ret    $0x10
40d849:	8b ff                	mov    %edi,%edi
40d84b:	55                   	push   %ebp
40d84c:	8b ec                	mov    %esp,%ebp
40d84e:	ff 75 04             	push   0x4(%ebp)
40d851:	33 d2                	xor    %edx,%edx
40d853:	51                   	push   %ecx
40d854:	51                   	push   %ecx
40d855:	6a 00                	push   $0x0
40d857:	33 c9                	xor    %ecx,%ecx
40d859:	e8 b3 ff ff ff       	call   0x40d811
40d85e:	85 c0                	test   %eax,%eax
40d860:	7e 08                	jle    0x40d86a
40d862:	0f b7 c0             	movzwl %ax,%eax
40d865:	0d 00 00 07 80       	or     $0x80070000,%eax
40d86a:	5d                   	pop    %ebp
40d86b:	c3                   	ret
40d86c:	8b ff                	mov    %edi,%edi
40d86e:	55                   	push   %ebp
40d86f:	8b ec                	mov    %esp,%ebp
40d871:	8b 45 0c             	mov    0xc(%ebp),%eax
40d874:	56                   	push   %esi
40d875:	33 f6                	xor    %esi,%esi
40d877:	85 c0                	test   %eax,%eax
40d879:	74 07                	je     0x40d882
40d87b:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
40d880:	76 05                	jbe    0x40d887
40d882:	be 57 00 07 80       	mov    $0x80070057,%esi
40d887:	85 f6                	test   %esi,%esi
40d889:	78 36                	js     0x40d8c1
40d88b:	53                   	push   %ebx
40d88c:	8b 5d 08             	mov    0x8(%ebp),%ebx
40d88f:	8d 4d 14             	lea    0x14(%ebp),%ecx
40d892:	57                   	push   %edi
40d893:	51                   	push   %ecx
40d894:	ff 75 10             	push   0x10(%ebp)
40d897:	8d 78 ff             	lea    -0x1(%eax),%edi
40d89a:	33 f6                	xor    %esi,%esi
40d89c:	57                   	push   %edi
40d89d:	50                   	push   %eax
40d89e:	53                   	push   %ebx
40d89f:	ff 15 5c c3 42 00    	call   *0x42c35c
40d8a5:	83 c4 14             	add    $0x14,%esp
40d8a8:	85 c0                	test   %eax,%eax
40d8aa:	78 08                	js     0x40d8b4
40d8ac:	3b c7                	cmp    %edi,%eax
40d8ae:	77 04                	ja     0x40d8b4
40d8b0:	75 0b                	jne    0x40d8bd
40d8b2:	eb 05                	jmp    0x40d8b9
40d8b4:	be 7a 00 07 80       	mov    $0x8007007a,%esi
40d8b9:	c6 04 1f 00          	movb   $0x0,(%edi,%ebx,1)
40d8bd:	5f                   	pop    %edi
40d8be:	5b                   	pop    %ebx
40d8bf:	eb 0a                	jmp    0x40d8cb
40d8c1:	85 c0                	test   %eax,%eax
40d8c3:	74 06                	je     0x40d8cb
40d8c5:	8b 4d 08             	mov    0x8(%ebp),%ecx
40d8c8:	c6 01 00             	movb   $0x0,(%ecx)
40d8cb:	8b c6                	mov    %esi,%eax
40d8cd:	5e                   	pop    %esi
40d8ce:	5d                   	pop    %ebp
40d8cf:	c3                   	ret
40d8d0:	85 c9                	test   %ecx,%ecx
40d8d2:	75 04                	jne    0x40d8d8
40d8d4:	33 c0                	xor    %eax,%eax
40d8d6:	40                   	inc    %eax
40d8d7:	c3                   	ret
40d8d8:	8d 51 01             	lea    0x1(%ecx),%edx
40d8db:	8a 01                	mov    (%ecx),%al
40d8dd:	41                   	inc    %ecx
40d8de:	84 c0                	test   %al,%al
40d8e0:	75 f9                	jne    0x40d8db
40d8e2:	2b ca                	sub    %edx,%ecx
40d8e4:	8d 41 01             	lea    0x1(%ecx),%eax
40d8e7:	c3                   	ret
40d8e8:	85 c9                	test   %ecx,%ecx
40d8ea:	75 04                	jne    0x40d8f0
40d8ec:	6a 02                	push   $0x2
40d8ee:	58                   	pop    %eax
40d8ef:	c3                   	ret
40d8f0:	8d 51 02             	lea    0x2(%ecx),%edx
40d8f3:	66 8b 01             	mov    (%ecx),%ax
40d8f6:	83 c1 02             	add    $0x2,%ecx
40d8f9:	66 85 c0             	test   %ax,%ax
40d8fc:	75 f5                	jne    0x40d8f3
40d8fe:	2b ca                	sub    %edx,%ecx
40d900:	d1 f9                	sar    $1,%ecx
40d902:	8d 04 4d 02 00 00 00 	lea    0x2(,%ecx,2),%eax
40d909:	c3                   	ret
40d90a:	80 3d 30 bb 42 00 00 	cmpb   $0x0,0x42bb30
40d911:	53                   	push   %ebx
40d912:	75 23                	jne    0x40d937
40d914:	56                   	push   %esi
40d915:	8b 35 34 bb 42 00    	mov    0x42bb34,%esi
40d91b:	33 db                	xor    %ebx,%ebx
40d91d:	85 f6                	test   %esi,%esi
40d91f:	74 0f                	je     0x40d930
40d921:	8b ce                	mov    %esi,%ecx
40d923:	ff 15 d4 c4 42 00    	call   *0x42c4d4
40d929:	ff d6                	call   *%esi
40d92b:	0f b6 c0             	movzbl %al,%eax
40d92e:	eb 02                	jmp    0x40d932
40d930:	8b c3                	mov    %ebx,%eax
40d932:	5e                   	pop    %esi
40d933:	85 c0                	test   %eax,%eax
40d935:	74 02                	je     0x40d939
40d937:	b3 01                	mov    $0x1,%bl
40d939:	8a c3                	mov    %bl,%al
40d93b:	5b                   	pop    %ebx
40d93c:	c3                   	ret
40d93d:	8b ff                	mov    %edi,%edi
40d93f:	55                   	push   %ebp
40d940:	8b ec                	mov    %esp,%ebp
40d942:	51                   	push   %ecx
40d943:	53                   	push   %ebx
40d944:	8b 5d 08             	mov    0x8(%ebp),%ebx
40d947:	8b c1                	mov    %ecx,%eax
40d949:	56                   	push   %esi
40d94a:	57                   	push   %edi
40d94b:	6a 14                	push   $0x14
40d94d:	59                   	pop    %ecx
40d94e:	8b f8                	mov    %eax,%edi
40d950:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d953:	8b f3                	mov    %ebx,%esi
40d955:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)