408992:	e8 88 7f 00 00       	call   0x41091f
408997:	33 c0                	xor    %eax,%eax
408999:	83 7e 04 ff          	cmpl   $0xffffffff,0x4(%esi)
40899d:	5f                   	pop    %edi
40899e:	5e                   	pop    %esi
40899f:	0f 95 c0             	setne  %al
4089a2:	5b                   	pop    %ebx
4089a3:	c9                   	leave
4089a4:	c2 08 00             	ret    $0x8
4089a7:	ff 74 24 08          	push   0x8(%esp)
4089ab:	ff 74 24 08          	push   0x8(%esp)
4089af:	e8 2e ff ff ff       	call   0x4088e2
4089b4:	84 c0                	test   %al,%al
4089b6:	74 04                	je     0x4089bc
4089b8:	b0 01                	mov    $0x1,%al
4089ba:	eb 10                	jmp    0x4089cc
4089bc:	ff 74 24 04          	push   0x4(%esp)
4089c0:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
4089c5:	e8 8e dc ff ff       	call   0x406658
4089ca:	32 c0                	xor    %al,%al
4089cc:	c2 08 00             	ret    $0x8
4089cf:	53                   	push   %ebx
4089d0:	56                   	push   %esi
4089d1:	8b f1                	mov    %ecx,%esi
4089d3:	8b 46 04             	mov    0x4(%esi),%eax
4089d6:	b3 01                	mov    $0x1,%bl
4089d8:	83 f8 ff             	cmp    $0xffffffff,%eax
4089db:	74 20                	je     0x4089fd
4089dd:	80 7e 10 00          	cmpb   $0x0,0x10(%esi)
4089e1:	75 16                	jne    0x4089f9
4089e3:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
4089e7:	75 10                	jne    0x4089f9
4089e9:	50                   	push   %eax
4089ea:	ff 15 1c a2 42 00    	call   *0x42a21c
4089f0:	8b d8                	mov    %eax,%ebx
4089f2:	4b                   	dec    %ebx
4089f3:	f7 db                	neg    %ebx
4089f5:	1a db                	sbb    %bl,%bl
4089f7:	fe c3                	inc    %bl
4089f9:	83 4e 04 ff          	orl    $0xffffffff,0x4(%esi)
4089fd:	83 66 0c 00          	andl   $0x0,0xc(%esi)
408a01:	84 db                	test   %bl,%bl
408a03:	75 13                	jne    0x408a18
408a05:	38 5e 14             	cmp    %bl,0x14(%esi)
408a08:	74 0e                	je     0x408a18
408a0a:	83 c6 1e             	add    $0x1e,%esi
408a0d:	56                   	push   %esi
408a0e:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
408a13:	e8 03 db ff ff       	call   0x40651b
408a18:	5e                   	pop    %esi
408a19:	8a c3                	mov    %bl,%al
408a1b:	5b                   	pop    %ebx
408a1c:	c3                   	ret
408a1d:	56                   	push   %esi
408a1e:	8b f1                	mov    %ecx,%esi
408a20:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
408a24:	74 04                	je     0x408a2a
408a26:	32 c0                	xor    %al,%al
408a28:	5e                   	pop    %esi
408a29:	c3                   	ret
408a2a:	83 7e 04 ff          	cmpl   $0xffffffff,0x4(%esi)
408a2e:	74 05                	je     0x408a35
408a30:	e8 9a ff ff ff       	call   0x4089cf
408a35:	80 7e 13 00          	cmpb   $0x0,0x13(%esi)
408a39:	74 eb                	je     0x408a26
408a3b:	83 c6 1e             	add    $0x1e,%esi
408a3e:	56                   	push   %esi
408a3f:	e8 32 06 00 00       	call   0x409076
408a44:	5e                   	pop    %esi
408a45:	c3                   	ret
408a46:	55                   	push   %ebp
408a47:	8b ec                	mov    %esp,%ebp
408a49:	51                   	push   %ecx
408a4a:	53                   	push   %ebx
408a4b:	33 db                	xor    %ebx,%ebx
408a4d:	56                   	push   %esi
408a4e:	8b f1                	mov    %ecx,%esi
408a50:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
408a53:	0f 84 dc 00 00 00    	je     0x408b35
408a59:	83 7e 0c 01          	cmpl   $0x1,0xc(%esi)
408a5d:	75 0b                	jne    0x408a6a
408a5f:	6a f5                	push   $0xfffffff5
408a61:	ff 15 ec a1 42 00    	call   *0x42a1ec
408a67:	89 46 04             	mov    %eax,0x4(%esi)
408a6a:	57                   	push   %edi
408a6b:	89 5d fc             	mov    %ebx,-0x4(%ebp)
408a6e:	39 5e 0c             	cmp    %ebx,0xc(%esi)
408a71:	74 42                	je     0x408ab5
408a73:	33 ff                	xor    %edi,%edi
408a75:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
408a78:	76 5a                	jbe    0x408ad4
408a7a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
408a7d:	2b cf                	sub    %edi,%ecx
408a7f:	b8 00 40 00 00       	mov    $0x4000,%eax
408a84:	3b c8                	cmp    %eax,%ecx
408a86:	73 02                	jae    0x408a8a
408a88:	8b c1                	mov    %ecx,%eax
408a8a:	53                   	push   %ebx
408a8b:	8d 4d fc             	lea    -0x4(%ebp),%ecx
408a8e:	51                   	push   %ecx
408a8f:	50                   	push   %eax
408a90:	8b 45 08             	mov    0x8(%ebp),%eax
408a93:	03 c7                	add    %edi,%eax
408a95:	50                   	push   %eax
408a96:	ff 76 04             	push   0x4(%esi)
408a99:	ff 15 e8 a1 42 00    	call   *0x42a1e8
408a9f:	48                   	dec    %eax
408aa0:	f7 d8                	neg    %eax
408aa2:	1a c0                	sbb    %al,%al
408aa4:	fe c0                	inc    %al
408aa6:	74 2c                	je     0x408ad4
408aa8:	81 c7 00 40 00 00    	add    $0x4000,%edi
408aae:	3b 7d 0c             	cmp    0xc(%ebp),%edi
408ab1:	72 c7                	jb     0x408a7a
408ab3:	eb 1b                	jmp    0x408ad0
408ab5:	53                   	push   %ebx
408ab6:	8d 45 fc             	lea    -0x4(%ebp),%eax
408ab9:	50                   	push   %eax
408aba:	ff 75 0c             	push   0xc(%ebp)
408abd:	ff 75 08             	push   0x8(%ebp)
408ac0:	ff 76 04             	push   0x4(%esi)
408ac3:	ff 15 e8 a1 42 00    	call   *0x42a1e8
408ac9:	48                   	dec    %eax
408aca:	f7 d8                	neg    %eax
408acc:	1a c0                	sbb    %al,%al
408ace:	fe c0                	inc    %al
408ad0:	3a c3                	cmp    %bl,%al
408ad2:	75 5c                	jne    0x408b30
408ad4:	38 5e 14             	cmp    %bl,0x14(%esi)
408ad7:	74 57                	je     0x408b30
408ad9:	39 5e 0c             	cmp    %ebx,0xc(%esi)
408adc:	75 52                	jne    0x408b30
408ade:	53                   	push   %ebx
408adf:	8d 46 1e             	lea    0x1e(%esi),%eax
408ae2:	bf 74 2a 43 00       	mov    $0x432a74,%edi
408ae7:	50                   	push   %eax
408ae8:	8b cf                	mov    %edi,%ecx
408aea:	e8 97 d9 ff ff       	call   0x406486
408aef:	84 c0                	test   %al,%al
408af1:	74 31                	je     0x408b24
408af3:	8b 45 fc             	mov    -0x4(%ebp),%eax
408af6:	3b 45 0c             	cmp    0xc(%ebp),%eax
408af9:	0f 83 6c ff ff ff    	jae    0x408a6b
408aff:	3b c3                	cmp    %ebx,%eax
408b01:	0f 86 64 ff ff ff    	jbe    0x408a6b
408b07:	8b 3e                	mov    (%esi),%edi
408b09:	53                   	push   %ebx
408b0a:	8b ce                	mov    %esi,%ecx
408b0c:	ff 57 10             	call   *0x10(%edi)
408b0f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408b12:	33 db                	xor    %ebx,%ebx
408b14:	2b c1                	sub    %ecx,%eax
408b16:	1b d3                	sbb    %ebx,%edx
408b18:	52                   	push   %edx
408b19:	50                   	push   %eax
408b1a:	8b ce                	mov    %esi,%ecx
408b1c:	ff 57 0c             	call   *0xc(%edi)
408b1f:	e9 47 ff ff ff       	jmp    0x408a6b
408b24:	8d 46 1e             	lea    0x1e(%esi),%eax
408b27:	50                   	push   %eax
408b28:	53                   	push   %ebx
408b29:	8b cf                	mov    %edi,%ecx
408b2b:	e8 fd da ff ff       	call   0x40662d
408b30:	c6 46 08 01          	movb   $0x1,0x8(%esi)
408b34:	5f                   	pop    %edi
408b35:	5e                   	pop    %esi
408b36:	5b                   	pop    %ebx
408b37:	c9                   	leave
408b38:	c2 08 00             	ret    $0x8
408b3b:	55                   	push   %ebp
408b3c:	8b ec                	mov    %esp,%ebp
408b3e:	51                   	push   %ecx
408b3f:	53                   	push   %ebx
408b40:	56                   	push   %esi
408b41:	8b f1                	mov    %ecx,%esi
408b43:	83 ca ff             	or     $0xffffffff,%edx
408b46:	33 db                	xor    %ebx,%ebx
408b48:	39 56 04             	cmp    %edx,0x4(%esi)
408b4b:	75 13                	jne    0x408b60
408b4d:	38 5e 14             	cmp    %bl,0x14(%esi)
408b50:	74 5f                	je     0x408bb1
408b52:	8d 46 1e             	lea    0x1e(%esi),%eax
408b55:	50                   	push   %eax
408b56:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
408b5b:	e8 dc d9 ff ff       	call   0x40653c
408b60:	57                   	push   %edi
408b61:	6a 01                	push   $0x1
408b63:	8d 45 fc             	lea    -0x4(%ebp),%eax
408b66:	50                   	push   %eax
408b67:	53                   	push   %ebx
408b68:	ff 76 04             	push   0x4(%esi)
408b6b:	89 5d fc             	mov    %ebx,-0x4(%ebp)
408b6e:	ff 15 e4 a1 42 00    	call   *0x42a1e4
408b74:	8b f8                	mov    %eax,%edi
408b76:	83 ff ff             	cmp    $0xffffffff,%edi
408b79:	75 1d                	jne    0x408b98
408b7b:	ff 15 24 a2 42 00    	call   *0x42a224
408b81:	85 c0                	test   %eax,%eax
408b83:	74 13                	je     0x408b98
408b85:	38 5e 14             	cmp    %bl,0x14(%esi)
408b88:	74 2b                	je     0x408bb5
408b8a:	83 c6 1e             	add    $0x1e,%esi
408b8d:	56                   	push   %esi
408b8e:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
408b93:	e8 a4 d9 ff ff       	call   0x40653c
408b98:	8b 45 fc             	mov    -0x4(%ebp),%eax
408b9b:	6a 01                	push   $0x1
408b9d:	99                   	cltd
408b9e:	53                   	push   %ebx
408b9f:	52                   	push   %edx
408ba0:	50                   	push   %eax
408ba1:	e8 0a 1a 01 00       	call   0x41a5b0
408ba6:	33 c9                	xor    %ecx,%ecx
408ba8:	03 c7                	add    %edi,%eax
408baa:	13 d1                	adc    %ecx,%edx
408bac:	5f                   	pop    %edi
408bad:	5e                   	pop    %esi
408bae:	5b                   	pop    %ebx
408baf:	c9                   	leave
408bb0:	c3                   	ret
408bb1:	8b c2                	mov    %edx,%eax
408bb3:	eb f8                	jmp    0x408bad
408bb5:	83 ca ff             	or     $0xffffffff,%edx
408bb8:	8b c2                	mov    %edx,%eax
408bba:	eb f0                	jmp    0x408bac
408bbc:	55                   	push   %ebp
408bbd:	8b ec                	mov    %esp,%ebp
408bbf:	51                   	push   %ecx
408bc0:	8b 01                	mov    (%ecx),%eax
408bc2:	6a 01                	push   $0x1
408bc4:	8d 55 ff             	lea    -0x1(%ebp),%edx
408bc7:	52                   	push   %edx
408bc8:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
408bcc:	ff 50 08             	call   *0x8(%eax)
408bcf:	8a 45 ff             	mov    -0x1(%ebp),%al
408bd2:	c9                   	leave
408bd3:	c3                   	ret
408bd4:	ff 71 04             	push   0x4(%ecx)
408bd7:	ff 15 e0 a1 42 00    	call   *0x42a1e0
408bdd:	48                   	dec    %eax
408bde:	f7 d8                	neg    %eax
408be0:	1b c0                	sbb    %eax,%eax
408be2:	40                   	inc    %eax
408be3:	c3                   	ret
408be4:	c2 08 00             	ret    $0x8
408be7:	8b 41 04             	mov    0x4(%ecx),%eax
408bea:	83 f8 ff             	cmp    $0xffffffff,%eax
408bed:	75 03                	jne    0x408bf2
408bef:	32 c0                	xor    %al,%al
408bf1:	c3                   	ret
408bf2:	50                   	push   %eax
408bf3:	ff 15 28 a1 42 00    	call   *0x42a128
408bf9:	83 f8 02             	cmp    $0x2,%eax
408bfc:	74 08                	je     0x408c06
408bfe:	83 f8 03             	cmp    $0x3,%eax
408c01:	74 03                	je     0x408c06
408c03:	33 c0                	xor    %eax,%eax
408c05:	c3                   	ret
408c06:	33 c0                	xor    %eax,%eax
408c08:	40                   	inc    %eax
408c09:	c3                   	ret
408c0a:	83 79 04 ff          	cmpl   $0xffffffff,0x4(%ecx)
408c0e:	c7 01 14 a6 42 00    	movl   $0x42a614,(%ecx)
408c14:	74 16                	je     0x408c2c
408c16:	80 79 10 00          	cmpb   $0x0,0x10(%ecx)
408c1a:	75 10                	jne    0x408c2c
408c1c:	80 79 12 00          	cmpb   $0x0,0x12(%ecx)
408c20:	74 05                	je     0x408c27
408c22:	e9 f6 fd ff ff       	jmp    0x408a1d
408c27:	e9 a3 fd ff ff       	jmp    0x4089cf
408c2c:	c3                   	ret
408c2d:	55                   	push   %ebp
408c2e:	8b ec                	mov    %esp,%ebp
408c30:	51                   	push   %ecx
408c31:	53                   	push   %ebx
408c32:	56                   	push   %esi
408c33:	8b f1                	mov    %ecx,%esi
408c35:	83 7e 0c 01          	cmpl   $0x1,0xc(%esi)
408c39:	57                   	push   %edi
408c3a:	bf 20 4e 00 00       	mov    $0x4e20,%edi
408c3f:	75 13                	jne    0x408c54
408c41:	39 7d 0c             	cmp    %edi,0xc(%ebp)
408c44:	76 03                	jbe    0x408c49
408c46:	89 7d 0c             	mov    %edi,0xc(%ebp)
408c49:	6a f6                	push   $0xfffffff6
408c4b:	ff 15 ec a1 42 00    	call   *0x42a1ec
408c51:	89 46 04             	mov    %eax,0x4(%esi)
408c54:	6a 00                	push   $0x0
408c56:	8d 45 fc             	lea    -0x4(%ebp),%eax
408c59:	50                   	push   %eax
408c5a:	ff 75 0c             	push   0xc(%ebp)
408c5d:	ff 75 08             	push   0x8(%ebp)
408c60:	ff 76 04             	push   0x4(%esi)
408c63:	ff 15 54 a0 42 00    	call   *0x42a054
408c69:	85 c0                	test   %eax,%eax
408c6b:	75 50                	jne    0x408cbd
408c6d:	8b ce                	mov    %esi,%ecx
408c6f:	e8 73 ff ff ff       	call   0x408be7
408c74:	84 c0                	test   %al,%al
408c76:	74 12                	je     0x408c8a
408c78:	39 7d 0c             	cmp    %edi,0xc(%ebp)
408c7b:	76 0d                	jbe    0x408c8a
408c7d:	57                   	push   %edi
408c7e:	ff 75 08             	push   0x8(%ebp)
408c81:	8b ce                	mov    %esi,%ecx
408c83:	e8 a5 ff ff ff       	call   0x408c2d
408c88:	eb 36                	jmp    0x408cc0
408c8a:	83 7e 0c 01          	cmpl   $0x1,0xc(%esi)
408c8e:	8b 1d 24 a2 42 00    	mov    0x42a224,%ebx
408c94:	75 0b                	jne    0x408ca1
408c96:	ff d3                	call   *%ebx
408c98:	83 f8 6d             	cmp    $0x6d,%eax
408c9b:	75 04                	jne    0x408ca1
408c9d:	33 c0                	xor    %eax,%eax
408c9f:	eb 1f                	jmp    0x408cc0
408ca1:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
408ca5:	75 11                	jne    0x408cb8
408ca7:	bf 00 80 00 00       	mov    $0x8000,%edi
408cac:	39 7d 0c             	cmp    %edi,0xc(%ebp)
408caf:	76 07                	jbe    0x408cb8
408cb1:	ff d3                	call   *%ebx
408cb3:	83 f8 21             	cmp    $0x21,%eax
408cb6:	74 c5                	je     0x408c7d
408cb8:	83 c8 ff             	or     $0xffffffff,%eax
408cbb:	eb 03                	jmp    0x408cc0
408cbd:	8b 45 fc             	mov    -0x4(%ebp),%eax
408cc0:	5f                   	pop    %edi
408cc1:	5e                   	pop    %esi
408cc2:	5b                   	pop    %ebx
408cc3:	c9                   	leave
408cc4:	c2 08 00             	ret    $0x8
408cc7:	55                   	push   %ebp
408cc8:	8b ec                	mov    %esp,%ebp
408cca:	83 ec 1c             	sub    $0x1c,%esp
408ccd:	8b 41 18             	mov    0x18(%ecx),%eax
408cd0:	89 4d fc             	mov    %ecx,-0x4(%ebp)
408cd3:	3d 00 01 00 00       	cmp    $0x100,%eax
408cd8:	74 0d                	je     0x408ce7
408cda:	a8 02                	test   $0x2,%al
408cdc:	75 09                	jne    0x408ce7
408cde:	ff 71 04             	push   0x4(%ecx)
408ce1:	ff 15 58 a0 42 00    	call   *0x42a058
408ce7:	8b 4d 08             	mov    0x8(%ebp),%ecx
408cea:	85 c9                	test   %ecx,%ecx
408cec:	74 0b                	je     0x408cf9
408cee:	8b 01                	mov    (%ecx),%eax
408cf0:	0b 41 04             	or     0x4(%ecx),%eax
408cf3:	c6 45 0b 01          	movb   $0x1,0xb(%ebp)
408cf7:	75 04                	jne    0x408cfd
408cf9:	c6 45 0b 00          	movb   $0x0,0xb(%ebp)