4087b6:	ad                   	lods   %ds:(%esi),%eax
4087b7:	50                   	push   %eax
4087b8:	e8 bf d1 ff ff       	call   0x40597c
4087bd:	91                   	xchg   %eax,%ecx
4087be:	58                   	pop    %eax
4087bf:	96                   	xchg   %eax,%esi
4087c0:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4087c2:	96                   	xchg   %eax,%esi
4087c3:	66 b8 0d 0a          	mov    $0xa0d,%ax
4087c7:	66 ab                	stos   %ax,%es:(%edi)
4087c9:	59                   	pop    %ecx
4087ca:	e2 e9                	loop   0x4087b5
4087cc:	91                   	xchg   %eax,%ecx
4087cd:	aa                   	stos   %al,%es:(%edi)
4087ce:	5f                   	pop    %edi
4087cf:	5e                   	pop    %esi
4087d0:	c3                   	ret
4087d1:	8d 40 00             	lea    0x0(%eax),%eax
4087d4:	57                   	push   %edi
4087d5:	56                   	push   %esi
4087d6:	53                   	push   %ebx
4087d7:	83 cf ff             	or     $0xffffffff,%edi
4087da:	8b 48 1c             	mov    0x1c(%eax),%ecx
4087dd:	e3 24                	jecxz  0x408803
4087df:	8b 70 18             	mov    0x18(%eax),%esi
4087e2:	8b 76 18             	mov    0x18(%esi),%esi
4087e5:	e8 4e c8 ff ff       	call   0x405038
4087ea:	0f b6 1a             	movzbl (%edx),%ebx
4087ed:	ad                   	lods   %ds:(%esi),%eax
4087ee:	47                   	inc    %edi
4087ef:	3a 18                	cmp    (%eax),%bl
4087f1:	75 0b                	jne    0x4087fe
4087f3:	52                   	push   %edx
4087f4:	51                   	push   %ecx
4087f5:	e8 3a d1 ff ff       	call   0x405934
4087fa:	59                   	pop    %ecx
4087fb:	5a                   	pop    %edx
4087fc:	74 05                	je     0x408803
4087fe:	e2 ed                	loop   0x4087ed
408800:	83 cf ff             	or     $0xffffffff,%edi
408803:	97                   	xchg   %eax,%edi
408804:	5b                   	pop    %ebx
408805:	5e                   	pop    %esi
408806:	5f                   	pop    %edi
408807:	c3                   	ret
408808:	ff 25 a0 b4 42 00    	jmp    *0x42b4a0
40880e:	8b c0                	mov    %eax,%eax
408810:	ff 25 9c b4 42 00    	jmp    *0x42b49c
408816:	8b c0                	mov    %eax,%eax
408818:	ff 25 98 b4 42 00    	jmp    *0x42b498
40881e:	8b c0                	mov    %eax,%eax
408820:	55                   	push   %ebp
408821:	8b ec                	mov    %esp,%ebp
408823:	51                   	push   %ecx
408824:	53                   	push   %ebx
408825:	56                   	push   %esi
408826:	57                   	push   %edi
408827:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40882a:	8b fa                	mov    %edx,%edi
40882c:	8b d8                	mov    %eax,%ebx
40882e:	8b 73 1c             	mov    0x1c(%ebx),%esi
408831:	85 f6                	test   %esi,%esi
408833:	74 1b                	je     0x408850
408835:	8b c3                	mov    %ebx,%eax
408837:	e8 1c 00 00 00       	call   0x408858
40883c:	50                   	push   %eax
40883d:	8b 45 08             	mov    0x8(%ebp),%eax
408840:	50                   	push   %eax
408841:	8b 45 0c             	mov    0xc(%ebp),%eax
408844:	50                   	push   %eax
408845:	8b 45 fc             	mov    -0x4(%ebp),%eax
408848:	50                   	push   %eax
408849:	57                   	push   %edi
40884a:	56                   	push   %esi
40884b:	e8 c8 ff ff ff       	call   0x408818
408850:	5f                   	pop    %edi
408851:	5e                   	pop    %esi
408852:	5b                   	pop    %ebx
408853:	59                   	pop    %ecx
408854:	5d                   	pop    %ebp
408855:	c2 08 00             	ret    $0x8
408858:	33 d2                	xor    %edx,%edx
40885a:	f6 40 36 01          	testb  $0x1,0x36(%eax)
40885e:	74 03                	je     0x408863
408860:	83 ca 02             	or     $0x2,%edx
408863:	f6 40 36 02          	testb  $0x2,0x36(%eax)
408867:	74 03                	je     0x40886c
408869:	83 ca 04             	or     $0x4,%edx
40886c:	f6 40 36 08          	testb  $0x8,0x36(%eax)
408870:	74 05                	je     0x408877
408872:	83 ca 01             	or     $0x1,%edx
408875:	eb 09                	jmp    0x408880
408877:	f6 40 36 04          	testb  $0x4,0x36(%eax)
40887b:	74 03                	je     0x408880
40887d:	83 ca 10             	or     $0x10,%edx
408880:	66 8b 40 18          	mov    0x18(%eax),%ax
408884:	c1 e0 08             	shl    $0x8,%eax
408887:	0f b7 c0             	movzwl %ax,%eax
40888a:	0b d0                	or     %eax,%edx
40888c:	8b c2                	mov    %edx,%eax
40888e:	c3                   	ret
40888f:	90                   	nop
408890:	53                   	push   %ebx
408891:	56                   	push   %esi
408892:	57                   	push   %edi
408893:	55                   	push   %ebp
408894:	8b d8                	mov    %eax,%ebx
408896:	b0 01                	mov    $0x1,%al
408898:	83 7b 1c 00          	cmpl   $0x0,0x1c(%ebx)
40889c:	75 50                	jne    0x4088ee
40889e:	33 c0                	xor    %eax,%eax
4088a0:	8b 7b 2e             	mov    0x2e(%ebx),%edi
4088a3:	85 ff                	test   %edi,%edi
4088a5:	74 47                	je     0x4088ee
4088a7:	8b 6b 32             	mov    0x32(%ebx),%ebp
4088aa:	85 ed                	test   %ebp,%ebp
4088ac:	74 40                	je     0x4088ee
4088ae:	33 c0                	xor    %eax,%eax
4088b0:	8a 43 2c             	mov    0x2c(%ebx),%al
4088b3:	0f b6 b0 dc 63 42 00 	movzbl 0x4263dc(%eax),%esi
4088ba:	80 7b 2d 00          	cmpb   $0x0,0x2d(%ebx)
4088be:	74 03                	je     0x4088c3
4088c0:	83 ce 01             	or     $0x1,%esi
4088c3:	8b 43 3f             	mov    0x3f(%ebx),%eax
4088c6:	50                   	push   %eax
4088c7:	6a 00                	push   $0x0
4088c9:	56                   	push   %esi
4088ca:	55                   	push   %ebp
4088cb:	57                   	push   %edi
4088cc:	e8 37 ff ff ff       	call   0x408808
4088d1:	89 43 1c             	mov    %eax,0x1c(%ebx)
4088d4:	8b 43 3b             	mov    0x3b(%ebx),%eax
4088d7:	3d ff ff ff 1f       	cmp    $0x1fffffff,%eax
4088dc:	74 09                	je     0x4088e7
4088de:	8b d0                	mov    %eax,%edx
4088e0:	8b c3                	mov    %ebx,%eax
4088e2:	e8 0d 00 00 00       	call   0x4088f4
4088e7:	83 7b 1c 00          	cmpl   $0x0,0x1c(%ebx)
4088eb:	0f 95 c0             	setne  %al
4088ee:	5d                   	pop    %ebp
4088ef:	5f                   	pop    %edi
4088f0:	5e                   	pop    %esi
4088f1:	5b                   	pop    %ebx
4088f2:	c3                   	ret
4088f3:	90                   	nop
4088f4:	53                   	push   %ebx
4088f5:	56                   	push   %esi
4088f6:	57                   	push   %edi
4088f7:	8b f2                	mov    %edx,%esi
4088f9:	8b d8                	mov    %eax,%ebx
4088fb:	89 73 3b             	mov    %esi,0x3b(%ebx)
4088fe:	8b 7b 1c             	mov    0x1c(%ebx),%edi
408901:	85 ff                	test   %edi,%edi
408903:	74 0e                	je     0x408913
408905:	8b c6                	mov    %esi,%eax
408907:	e8 58 1b 00 00       	call   0x40a464
40890c:	50                   	push   %eax
40890d:	57                   	push   %edi
40890e:	e8 fd fe ff ff       	call   0x408810
408913:	5f                   	pop    %edi
408914:	5e                   	pop    %esi
408915:	5b                   	pop    %ebx
408916:	c3                   	ret
408917:	90                   	nop
408918:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
40891c:	75 03                	jne    0x408921
40891e:	89 50 32             	mov    %edx,0x32(%eax)
408921:	c3                   	ret
408922:	8b c0                	mov    %eax,%eax
408924:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
408928:	75 03                	jne    0x40892d
40892a:	89 50 2e             	mov    %edx,0x2e(%eax)
40892d:	c3                   	ret
40892e:	8b c0                	mov    %eax,%eax
408930:	53                   	push   %ebx
408931:	56                   	push   %esi
408932:	57                   	push   %edi
408933:	51                   	push   %ecx
408934:	8b da                	mov    %edx,%ebx
408936:	8b f0                	mov    %eax,%esi
408938:	8b fc                	mov    %esp,%edi
40893a:	83 fb 10             	cmp    $0x10,%ebx
40893d:	7e 0a                	jle    0x408949
40893f:	8b 86 06 01 00 00    	mov    0x106(%esi),%eax
408945:	89 07                	mov    %eax,(%edi)
408947:	eb 08                	jmp    0x408951
408949:	8b 86 02 01 00 00    	mov    0x102(%esi),%eax
40894f:	89 07                	mov    %eax,(%edi)
408951:	83 3f 00             	cmpl   $0x0,(%edi)
408954:	74 22                	je     0x408978
408956:	8b 07                	mov    (%edi),%eax
408958:	83 78 2e 00          	cmpl   $0x0,0x2e(%eax)
40895c:	75 09                	jne    0x408967
40895e:	8b 07                	mov    (%edi),%eax
408960:	8b d3                	mov    %ebx,%edx
408962:	e8 bd ff ff ff       	call   0x408924
408967:	8b 07                	mov    (%edi),%eax
408969:	83 78 32 00          	cmpl   $0x0,0x32(%eax)
40896d:	75 09                	jne    0x408978
40896f:	8b 07                	mov    (%edi),%eax
408971:	8b d3                	mov    %ebx,%edx
408973:	e8 a0 ff ff ff       	call   0x408918
408978:	83 3f 00             	cmpl   $0x0,(%edi)
40897b:	75 27                	jne    0x4089a4
40897d:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
408983:	89 07                	mov    %eax,(%edi)
408985:	83 3f 00             	cmpl   $0x0,(%edi)
408988:	74 1a                	je     0x4089a4
40898a:	8b 07                	mov    (%edi),%eax
40898c:	3b 58 2e             	cmp    0x2e(%eax),%ebx
40898f:	75 07                	jne    0x408998
408991:	8b 07                	mov    (%edi),%eax
408993:	3b 58 32             	cmp    0x32(%eax),%ebx
408996:	74 0c                	je     0x4089a4
408998:	8b 07                	mov    (%edi),%eax
40899a:	8b 40 28             	mov    0x28(%eax),%eax
40899d:	89 07                	mov    %eax,(%edi)
40899f:	83 3f 00             	cmpl   $0x0,(%edi)
4089a2:	75 e6                	jne    0x40898a
4089a4:	8b 07                	mov    (%edi),%eax
4089a6:	5a                   	pop    %edx
4089a7:	5f                   	pop    %edi
4089a8:	5e                   	pop    %esi
4089a9:	5b                   	pop    %ebx
4089aa:	c3                   	ret
4089ab:	90                   	nop
4089ac:	53                   	push   %ebx
4089ad:	56                   	push   %esi
4089ae:	51                   	push   %ecx
4089af:	8b f2                	mov    %edx,%esi
4089b1:	8b d8                	mov    %eax,%ebx
4089b3:	85 f6                	test   %esi,%esi
4089b5:	74 0e                	je     0x4089c5
4089b7:	8b c3                	mov    %ebx,%eax
4089b9:	8b d6                	mov    %esi,%edx
4089bb:	e8 70 ff ff ff       	call   0x408930
4089c0:	89 04 24             	mov    %eax,(%esp)
4089c3:	eb 4f                	jmp    0x408a14
4089c5:	8b 83 0a 01 00 00    	mov    0x10a(%ebx),%eax
4089cb:	89 04 24             	mov    %eax,(%esp)
4089ce:	83 3c 24 00          	cmpl   $0x0,(%esp)
4089d2:	75 40                	jne    0x408a14
4089d4:	8b 83 90 00 00 00    	mov    0x90(%ebx),%eax
4089da:	89 04 24             	mov    %eax,(%esp)
4089dd:	83 3c 24 00          	cmpl   $0x0,(%esp)
4089e1:	74 31                	je     0x408a14
4089e3:	8b c3                	mov    %ebx,%eax
4089e5:	ba 10 00 00 00       	mov    $0x10,%edx
4089ea:	e8 bd ff ff ff       	call   0x4089ac
4089ef:	3b 04 24             	cmp    (%esp),%eax
4089f2:	74 11                	je     0x408a05
4089f4:	8b c3                	mov    %ebx,%eax
4089f6:	ba 20 00 00 00       	mov    $0x20,%edx
4089fb:	e8 ac ff ff ff       	call   0x4089ac
408a00:	3b 04 24             	cmp    (%esp),%eax
408a03:	75 0f                	jne    0x408a14
408a05:	8b 04 24             	mov    (%esp),%eax
408a08:	8b 40 28             	mov    0x28(%eax),%eax
408a0b:	89 04 24             	mov    %eax,(%esp)
408a0e:	83 3c 24 00          	cmpl   $0x0,(%esp)
408a12:	75 cf                	jne    0x4089e3
408a14:	8b 04 24             	mov    (%esp),%eax
408a17:	5a                   	pop    %edx
408a18:	5e                   	pop    %esi
408a19:	5b                   	pop    %ebx
408a1a:	c3                   	ret
408a1b:	90                   	nop
408a1c:	53                   	push   %ebx
408a1d:	56                   	push   %esi
408a1e:	57                   	push   %edi
408a1f:	8b f1                	mov    %ecx,%esi
408a21:	8b fa                	mov    %edx,%edi
408a23:	8b d8                	mov    %eax,%ebx
408a25:	85 f6                	test   %esi,%esi
408a27:	74 22                	je     0x408a4b
408a29:	85 ff                	test   %edi,%edi
408a2b:	74 1e                	je     0x408a4b
408a2d:	83 7e 2e 00          	cmpl   $0x0,0x2e(%esi)
408a31:	74 06                	je     0x408a39
408a33:	83 7e 32 00          	cmpl   $0x0,0x32(%esi)
408a37:	75 12                	jne    0x408a4b
408a39:	8b d7                	mov    %edi,%edx
408a3b:	8b c6                	mov    %esi,%eax
408a3d:	e8 e2 fe ff ff       	call   0x408924
408a42:	8b d7                	mov    %edi,%edx
408a44:	8b c6                	mov    %esi,%eax
408a46:	e8 cd fe ff ff       	call   0x408918
408a4b:	83 ef 10             	sub    $0x10,%edi
408a4e:	74 0d                	je     0x408a5d
408a50:	83 ef 10             	sub    $0x10,%edi
408a53:	75 10                	jne    0x408a65
408a55:	89 b3 06 01 00 00    	mov    %esi,0x106(%ebx)
408a5b:	eb 0e                	jmp    0x408a6b
408a5d:	89 b3 02 01 00 00    	mov    %esi,0x102(%ebx)
408a63:	eb 06                	jmp    0x408a6b
408a65:	89 b3 0a 01 00 00    	mov    %esi,0x10a(%ebx)
408a6b:	8b c3                	mov    %ebx,%eax
408a6d:	e8 62 26 00 00       	call   0x40b0d4
408a72:	5f                   	pop    %edi
408a73:	5e                   	pop    %esi
408a74:	5b                   	pop    %ebx
408a75:	c3                   	ret
408a76:	8b c0                	mov    %eax,%eax
408a78:	55                   	push   %ebp
408a79:	8b ec                	mov    %esp,%ebp
408a7b:	51                   	push   %ecx
408a7c:	8b 4d 08             	mov    0x8(%ebp),%ecx
408a7f:	51                   	push   %ecx
408a80:	8b 88 0e 01 00 00    	mov    0x10e(%eax),%ecx
408a86:	87 ca                	xchg   %ecx,%edx
408a88:	e8 07 00 00 00       	call   0x408a94
408a8d:	5d                   	pop    %ebp
408a8e:	c2 04 00             	ret    $0x4
408a91:	8d 40 00             	lea    0x0(%eax),%eax
408a94:	55                   	push   %ebp
408a95:	8b ec                	mov    %esp,%ebp
408a97:	83 c4 dc             	add    $0xffffffdc,%esp
408a9a:	53                   	push   %ebx
408a9b:	56                   	push   %esi
408a9c:	57                   	push   %edi
408a9d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
408aa0:	8b fa                	mov    %edx,%edi
408aa2:	8b f0                	mov    %eax,%esi
408aa4:	8b 5d 08             	mov    0x8(%ebp),%ebx
408aa7:	c7 45 dc 05 00 00 00 	movl   $0x5,-0x24(%ebp)
408aae:	8b c6                	mov    %esi,%eax
408ab0:	ba 10 00 00 00       	mov    $0x10,%edx
408ab5:	e8 f2 fe ff ff       	call   0x4089ac
408aba:	85 c0                	test   %eax,%eax
408abc:	74 06                	je     0x408ac4
408abe:	8b 45 dc             	mov    -0x24(%ebp),%eax
408ac1:	89 45 dc             	mov    %eax,-0x24(%ebp)
408ac4:	c7 45 f4 ff ff ff ff 	movl   $0xffffffff,-0xc(%ebp)
408acb:	33 c0                	xor    %eax,%eax
408acd:	8a 45 0c             	mov    0xc(%ebp),%al
408ad0:	89 45 e0             	mov    %eax,-0x20(%ebp)
408ad3:	85 db                	test   %ebx,%ebx
408ad5:	7d 09                	jge    0x408ae0
408ad7:	f7 db                	neg    %ebx
408ad9:	81 4d e0 00 10 00 00 	orl    $0x1000,-0x20(%ebp)
408ae0:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
408ae3:	85 db                	test   %ebx,%ebx
408ae5:	7e 04                	jle    0x408aeb
408ae7:	83 4d dc 02          	orl    $0x2,-0x24(%ebp)
408aeb:	8b 45 fc             	mov    -0x4(%ebp),%eax
408aee:	e8 01 b0 ff ff       	call   0x403af4
408af3:	89 45 e8             	mov    %eax,-0x18(%ebp)
408af6:	8d 45 dc             	lea    -0x24(%ebp),%eax
408af9:	50                   	push   %eax
408afa:	57                   	push   %edi