4087b8:	cc                   	int3
4087b9:	cc                   	int3
4087ba:	cc                   	int3
4087bb:	cc                   	int3
4087bc:	cc                   	int3
4087bd:	cc                   	int3
4087be:	cc                   	int3
4087bf:	cc                   	int3
4087c0:	55                   	push   %ebp
4087c1:	8b ec                	mov    %esp,%ebp
4087c3:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4087c7:	74 77                	je     0x408840
4087c9:	53                   	push   %ebx
4087ca:	56                   	push   %esi
4087cb:	57                   	push   %edi
4087cc:	8b 7d 08             	mov    0x8(%ebp),%edi
4087cf:	8d 45 0c             	lea    0xc(%ebp),%eax
4087d2:	50                   	push   %eax
4087d3:	57                   	push   %edi
4087d4:	e8 c7 00 00 00       	call   0x4088a0
4087d9:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4087dc:	8b 77 04             	mov    0x4(%edi),%esi
4087df:	8b 4b 04             	mov    0x4(%ebx),%ecx
4087e2:	85 f6                	test   %esi,%esi
4087e4:	0f 84 9f 00 00 00    	je     0x408889
4087ea:	85 c9                	test   %ecx,%ecx
4087ec:	0f 84 9b 00 00 00    	je     0x40888d
4087f2:	8b 13                	mov    (%ebx),%edx
4087f4:	3b f1                	cmp    %ecx,%esi
4087f6:	72 76                	jb     0x40886e
4087f8:	8b 07                	mov    (%edi),%eax
4087fa:	85 f6                	test   %esi,%esi
4087fc:	0f 84 83 00 00 00    	je     0x408885
408802:	66 8b 08             	mov    (%eax),%cx
408805:	66 3b 0a             	cmp    (%edx),%cx
408808:	75 11                	jne    0x40881b
40880a:	83 c0 02             	add    $0x2,%eax
40880d:	83 c2 02             	add    $0x2,%edx
408810:	4e                   	dec    %esi
408811:	75 ef                	jne    0x408802
408813:	eb 70                	jmp    0x408885
408815:	0f b7 06             	movzwl (%esi),%eax
408818:	66 3b 02             	cmp    (%edx),%ax
40881b:	1b c0                	sbb    %eax,%eax
40881d:	83 e0 fe             	and    $0xfffffffe,%eax
408820:	40                   	inc    %eax
408821:	85 c0                	test   %eax,%eax
408823:	78 30                	js     0x408855
408825:	7e 6f                	jle    0x408896
408827:	8b 43 1c             	mov    0x1c(%ebx),%eax
40882a:	89 47 1c             	mov    %eax,0x1c(%edi)
40882d:	8b c7                	mov    %edi,%eax
40882f:	89 5f 18             	mov    %ebx,0x18(%edi)
408832:	c7 43 1c 00 00 00 00 	movl   $0x0,0x1c(%ebx)
408839:	5f                   	pop    %edi
40883a:	5e                   	pop    %esi
40883b:	5b                   	pop    %ebx
40883c:	5d                   	pop    %ebp
40883d:	c2 08 00             	ret    $0x8
408840:	8b 45 08             	mov    0x8(%ebp),%eax
408843:	c7 40 1c 00 00 00 00 	movl   $0x0,0x1c(%eax)
40884a:	c7 40 18 00 00 00 00 	movl   $0x0,0x18(%eax)
408851:	5d                   	pop    %ebp
408852:	c2 08 00             	ret    $0x8
408855:	8b 4b 18             	mov    0x18(%ebx),%ecx
408858:	8b c7                	mov    %edi,%eax
40885a:	89 5f 1c             	mov    %ebx,0x1c(%edi)
40885d:	89 4f 18             	mov    %ecx,0x18(%edi)
408860:	5f                   	pop    %edi
408861:	5e                   	pop    %esi
408862:	c7 43 18 00 00 00 00 	movl   $0x0,0x18(%ebx)
408869:	5b                   	pop    %ebx
40886a:	5d                   	pop    %ebp
40886b:	c2 08 00             	ret    $0x8
40886e:	8b 37                	mov    (%edi),%esi
408870:	85 c9                	test   %ecx,%ecx
408872:	74 11                	je     0x408885
408874:	66 8b 06             	mov    (%esi),%ax
408877:	66 3b 02             	cmp    (%edx),%ax
40887a:	75 99                	jne    0x408815
40887c:	83 c6 02             	add    $0x2,%esi
40887f:	83 c2 02             	add    $0x2,%edx
408882:	49                   	dec    %ecx
408883:	75 ef                	jne    0x408874
408885:	33 c0                	xor    %eax,%eax
408887:	eb 98                	jmp    0x408821
408889:	85 c9                	test   %ecx,%ecx
40888b:	75 c8                	jne    0x408855
40888d:	85 f6                	test   %esi,%esi
40888f:	75 96                	jne    0x408827
408891:	e9 5c ff ff ff       	jmp    0x4087f2
408896:	8b c3                	mov    %ebx,%eax
408898:	eb 9f                	jmp    0x408839
40889a:	cc                   	int3
40889b:	cc                   	int3
40889c:	cc                   	int3
40889d:	cc                   	int3
40889e:	cc                   	int3
40889f:	cc                   	int3
4088a0:	55                   	push   %ebp
4088a1:	8b ec                	mov    %esp,%ebp
4088a3:	83 ec 10             	sub    $0x10,%esp
4088a6:	56                   	push   %esi
4088a7:	8b 75 0c             	mov    0xc(%ebp),%esi
4088aa:	83 3e 00             	cmpl   $0x0,(%esi)
4088ad:	0f 84 ce 01 00 00    	je     0x408a81
4088b3:	a1 40 74 4c 00       	mov    0x4c7440,%eax
4088b8:	c6 45 0f 00          	movb   $0x0,0xf(%ebp)
4088bc:	a8 01                	test   $0x1,%al
4088be:	0f 84 0d 02 00 00    	je     0x408ad1
4088c4:	53                   	push   %ebx
4088c5:	c7 05 60 74 4c 00 00 	movl   $0x0,0x4c7460
4088cc:	00 00 00
4088cf:	c7 05 5c 74 4c 00 00 	movl   $0x0,0x4c745c
4088d6:	00 00 00
4088d9:	c7 45 f4 44 74 4c 00 	movl   $0x4c7444,-0xc(%ebp)
4088e0:	c7 45 f8 44 74 4c 00 	movl   $0x4c7444,-0x8(%ebp)
4088e7:	57                   	push   %edi
4088e8:	8b 45 08             	mov    0x8(%ebp),%eax
4088eb:	8b 16                	mov    (%esi),%edx
4088ed:	8b 58 04             	mov    0x4(%eax),%ebx
4088f0:	8b 4a 04             	mov    0x4(%edx),%ecx
4088f3:	85 db                	test   %ebx,%ebx
4088f5:	0f 84 24 6a 03 00    	je     0x43f31f
4088fb:	85 c9                	test   %ecx,%ecx
4088fd:	0f 84 24 6a 03 00    	je     0x43f327
408903:	3b d9                	cmp    %ecx,%ebx
408905:	0f 82 30 01 00 00    	jb     0x408a3b
40890b:	8b 0a                	mov    (%edx),%ecx
40890d:	8b fb                	mov    %ebx,%edi
40890f:	8b 10                	mov    (%eax),%edx
408911:	85 ff                	test   %edi,%edi
408913:	74 11                	je     0x408926
408915:	66 8b 02             	mov    (%edx),%ax
408918:	66 3b 01             	cmp    (%ecx),%ax
40891b:	75 0d                	jne    0x40892a
40891d:	83 c2 02             	add    $0x2,%edx
408920:	83 c1 02             	add    $0x2,%ecx
408923:	4f                   	dec    %edi
408924:	75 ef                	jne    0x408915
408926:	33 c0                	xor    %eax,%eax
408928:	eb 06                	jmp    0x408930
40892a:	1b c0                	sbb    %eax,%eax
40892c:	83 e0 fe             	and    $0xfffffffe,%eax
40892f:	40                   	inc    %eax
408930:	8b 16                	mov    (%esi),%edx
408932:	85 c0                	test   %eax,%eax
408934:	78 4e                	js     0x408984
408936:	7e 48                	jle    0x408980
408938:	8b 45 08             	mov    0x8(%ebp),%eax
40893b:	8b 52 1c             	mov    0x1c(%edx),%edx
40893e:	85 d2                	test   %edx,%edx
408940:	0f 85 a8 00 00 00    	jne    0x4089ee
408946:	8a 5d 0f             	mov    0xf(%ebp),%bl
408949:	8b 06                	mov    (%esi),%eax
40894b:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40894e:	8b 55 f4             	mov    -0xc(%ebp),%edx
408951:	5f                   	pop    %edi
408952:	8b 40 18             	mov    0x18(%eax),%eax
408955:	89 41 1c             	mov    %eax,0x1c(%ecx)
408958:	8a c3                	mov    %bl,%al
40895a:	8b 0e                	mov    (%esi),%ecx
40895c:	5b                   	pop    %ebx
40895d:	8b 49 1c             	mov    0x1c(%ecx),%ecx
408960:	89 4a 18             	mov    %ecx,0x18(%edx)
408963:	8b 16                	mov    (%esi),%edx
408965:	8b 0d 60 74 4c 00    	mov    0x4c7460,%ecx
40896b:	89 4a 18             	mov    %ecx,0x18(%edx)
40896e:	8b 16                	mov    (%esi),%edx
408970:	8b 0d 5c 74 4c 00    	mov    0x4c745c,%ecx
408976:	5e                   	pop    %esi
408977:	89 4a 1c             	mov    %ecx,0x1c(%edx)
40897a:	8b e5                	mov    %ebp,%esp
40897c:	5d                   	pop    %ebp
40897d:	c2 08 00             	ret    $0x8
408980:	b3 01                	mov    $0x1,%bl
408982:	eb c5                	jmp    0x408949
408984:	8b 52 18             	mov    0x18(%edx),%edx
408987:	85 d2                	test   %edx,%edx
408989:	74 bb                	je     0x408946
40898b:	8b 42 04             	mov    0x4(%edx),%eax
40898e:	3b d8                	cmp    %eax,%ebx
408990:	0f 87 2d 01 00 00    	ja     0x408ac3
408996:	8b 7d 08             	mov    0x8(%ebp),%edi
408999:	8b 0a                	mov    (%edx),%ecx
40899b:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40899e:	8b 3f                	mov    (%edi),%edi
4089a0:	85 db                	test   %ebx,%ebx
4089a2:	0f 84 cc 00 00 00    	je     0x408a74
4089a8:	eb 06                	jmp    0x4089b0
4089aa:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
4089b0:	66 8b 07             	mov    (%edi),%ax
4089b3:	66 3b 01             	cmp    (%ecx),%ax
4089b6:	0f 84 a6 00 00 00    	je     0x408a62
4089bc:	73 19                	jae    0x4089d7
4089be:	8b 0e                	mov    (%esi),%ecx
4089c0:	8b 42 1c             	mov    0x1c(%edx),%eax
4089c3:	89 41 18             	mov    %eax,0x18(%ecx)
4089c6:	8b 06                	mov    (%esi),%eax
4089c8:	89 42 1c             	mov    %eax,0x1c(%edx)
4089cb:	89 16                	mov    %edx,(%esi)
4089cd:	83 7a 18 00          	cmpl   $0x0,0x18(%edx)
4089d1:	0f 84 6f ff ff ff    	je     0x408946
4089d7:	8b 55 f4             	mov    -0xc(%ebp),%edx
4089da:	8b 06                	mov    (%esi),%eax
4089dc:	89 42 18             	mov    %eax,0x18(%edx)
4089df:	8b 06                	mov    (%esi),%eax
4089e1:	89 45 f4             	mov    %eax,-0xc(%ebp)
4089e4:	8b 40 18             	mov    0x18(%eax),%eax
4089e7:	89 06                	mov    %eax,(%esi)
4089e9:	e9 fa fe ff ff       	jmp    0x4088e8
4089ee:	8b 4a 04             	mov    0x4(%edx),%ecx
4089f1:	3b cb                	cmp    %ebx,%ecx
4089f3:	0f 87 d1 00 00 00    	ja     0x408aca
4089f9:	8b 38                	mov    (%eax),%edi
4089fb:	8b 02                	mov    (%edx),%eax
4089fd:	89 4d f0             	mov    %ecx,-0x10(%ebp)
408a00:	89 45 fc             	mov    %eax,-0x4(%ebp)
408a03:	85 c9                	test   %ecx,%ecx
408a05:	74 19                	je     0x408a20
408a07:	66 8b 00             	mov    (%eax),%ax
408a0a:	66 3b 07             	cmp    (%edi),%ax
408a0d:	8b 45 fc             	mov    -0x4(%ebp),%eax
408a10:	75 78                	jne    0x408a8a
408a12:	83 c0 02             	add    $0x2,%eax
408a15:	83 c7 02             	add    $0x2,%edi
408a18:	ff 4d f0             	decl   -0x10(%ebp)
408a1b:	89 45 fc             	mov    %eax,-0x4(%ebp)
408a1e:	75 e7                	jne    0x408a07
408a20:	3b cb                	cmp    %ebx,%ecx
408a22:	72 6e                	jb     0x408a92
408a24:	8b 4d f8             	mov    -0x8(%ebp),%ecx
408a27:	8b 06                	mov    (%esi),%eax
408a29:	89 41 1c             	mov    %eax,0x1c(%ecx)
408a2c:	8b 06                	mov    (%esi),%eax
408a2e:	89 45 f8             	mov    %eax,-0x8(%ebp)
408a31:	8b 40 1c             	mov    0x1c(%eax),%eax
408a34:	89 06                	mov    %eax,(%esi)
408a36:	e9 ad fe ff ff       	jmp    0x4088e8
408a3b:	8b 00                	mov    (%eax),%eax
408a3d:	8b 3a                	mov    (%edx),%edi
408a3f:	89 45 fc             	mov    %eax,-0x4(%ebp)
408a42:	85 c9                	test   %ecx,%ecx
408a44:	74 76                	je     0x408abc
408a46:	66 8b 00             	mov    (%eax),%ax
408a49:	66 3b 07             	cmp    (%edi),%ax
408a4c:	8b 45 fc             	mov    -0x4(%ebp),%eax
408a4f:	74 5f                	je     0x408ab0
408a51:	66 8b 00             	mov    (%eax),%ax
408a54:	66 3b 07             	cmp    (%edi),%ax
408a57:	1b c0                	sbb    %eax,%eax
408a59:	83 e0 fe             	and    $0xfffffffe,%eax
408a5c:	40                   	inc    %eax
408a5d:	e9 d0 fe ff ff       	jmp    0x408932
408a62:	83 c7 02             	add    $0x2,%edi
408a65:	83 c1 02             	add    $0x2,%ecx
408a68:	ff 4d fc             	decl   -0x4(%ebp)
408a6b:	0f 85 3f ff ff ff    	jne    0x4089b0
408a71:	8b 42 04             	mov    0x4(%edx),%eax
408a74:	3b d8                	cmp    %eax,%ebx
408a76:	0f 83 5b ff ff ff    	jae    0x4089d7
408a7c:	e9 3d ff ff ff       	jmp    0x4089be
408a81:	32 c0                	xor    %al,%al
408a83:	5e                   	pop    %esi
408a84:	8b e5                	mov    %ebp,%esp
408a86:	5d                   	pop    %ebp
408a87:	c2 08 00             	ret    $0x8
408a8a:	66 8b 00             	mov    (%eax),%ax
408a8d:	66 3b 07             	cmp    (%edi),%ax
408a90:	73 92                	jae    0x408a24
408a92:	8b 0e                	mov    (%esi),%ecx
408a94:	8b 42 18             	mov    0x18(%edx),%eax
408a97:	89 41 1c             	mov    %eax,0x1c(%ecx)
408a9a:	8b 06                	mov    (%esi),%eax
408a9c:	89 42 18             	mov    %eax,0x18(%edx)
408a9f:	89 16                	mov    %edx,(%esi)
408aa1:	83 7a 1c 00          	cmpl   $0x0,0x1c(%edx)
408aa5:	0f 84 9b fe ff ff    	je     0x408946
408aab:	e9 74 ff ff ff       	jmp    0x408a24
408ab0:	83 c0 02             	add    $0x2,%eax
408ab3:	83 c7 02             	add    $0x2,%edi
408ab6:	89 45 fc             	mov    %eax,-0x4(%ebp)
408ab9:	49                   	dec    %ecx
408aba:	75 8a                	jne    0x408a46
408abc:	33 c0                	xor    %eax,%eax
408abe:	e9 6f fe ff ff       	jmp    0x408932
408ac3:	8b d8                	mov    %eax,%ebx
408ac5:	e9 cc fe ff ff       	jmp    0x408996
408aca:	8b cb                	mov    %ebx,%ecx
408acc:	e9 28 ff ff ff       	jmp    0x4089f9
408ad1:	83 c8 01             	or     $0x1,%eax
408ad4:	b9 44 74 4c 00       	mov    $0x4c7444,%ecx
408ad9:	a3 40 74 4c 00       	mov    %eax,0x4c7440
408ade:	e8 e4 ec ff ff       	call   0x4077c7
408ae3:	68 0a b8 43 00       	push   $0x43b80a
408ae8:	e8 93 a4 01 00       	call   0x422f80
408aed:	83 c4 04             	add    $0x4,%esp
408af0:	e9 cf fd ff ff       	jmp    0x4088c4
408af5:	55                   	push   %ebp
408af6:	8b ec                	mov    %esp,%ebp
408af8:	56                   	push   %esi
408af9:	8b f1                	mov    %ecx,%esi
408afb:	56                   	push   %esi
408afc:	ff 75 08             	push   0x8(%ebp)
408aff:	e8 9c fd ff ff       	call   0x4088a0
408b04:	84 c0                	test   %al,%al
408b06:	75 07                	jne    0x408b0f
408b08:	33 c0                	xor    %eax,%eax
408b0a:	5e                   	pop    %esi
408b0b:	5d                   	pop    %ebp
408b0c:	c2 04 00             	ret    $0x4
408b0f:	8b 06                	mov    (%esi),%eax
408b11:	eb f7                	jmp    0x408b0a
408b13:	55                   	push   %ebp
408b14:	8b ec                	mov    %esp,%ebp
408b16:	53                   	push   %ebx
408b17:	56                   	push   %esi
408b18:	8b d9                	mov    %ecx,%ebx
408b1a:	53                   	push   %ebx
408b1b:	ff 75 08             	push   0x8(%ebp)
408b1e:	e8 7d fd ff ff       	call   0x4088a0
408b23:	84 c0                	test   %al,%al
408b25:	75 72                	jne    0x408b99
408b27:	33 f6                	xor    %esi,%esi
408b29:	85 f6                	test   %esi,%esi
408b2b:	75 70                	jne    0x408b9d
408b2d:	57                   	push   %edi
408b2e:	8b 7d 10             	mov    0x10(%ebp),%edi
408b31:	6a 20                	push   $0x20
408b33:	81 e7 00 ff 00 00    	and    $0xff00,%edi
408b39:	e8 b8 84 01 00       	call   0x420ff6
408b3e:	8b f0                	mov    %eax,%esi
408b40:	59                   	pop    %ecx
408b41:	85 f6                	test   %esi,%esi
408b43:	74 65                	je     0x408baa
408b45:	8b ce                	mov    %esi,%ecx
408b47:	e8 7b ec ff ff       	call   0x4077c7
408b4c:	3b 75 08             	cmp    0x8(%ebp),%esi
408b4f:	74 0a                	je     0x408b5b
408b51:	ff 75 08             	push   0x8(%ebp)
408b54:	8b ce                	mov    %esi,%ecx
408b56:	e8 7c f5 ff ff       	call   0x4080d7
408b5b:	6a 10                	push   $0x10
408b5d:	89 7e 10             	mov    %edi,0x10(%esi)
408b60:	e8 91 84 01 00       	call   0x420ff6
408b65:	8b f8                	mov    %eax,%edi
408b67:	59                   	pop    %ecx
408b68:	85 ff                	test   %edi,%edi
408b6a:	74 42                	je     0x408bae
408b6c:	ff 75 0c             	push   0xc(%ebp)