403a18:	c9                   	leave
403a19:	c3                   	ret
403a1a:	55                   	push   %ebp
403a1b:	8b ec                	mov    %esp,%ebp
403a1d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403a20:	8b 45 14             	mov    0x14(%ebp),%eax
403a23:	2b 4d 08             	sub    0x8(%ebp),%ecx
403a26:	2b 45 10             	sub    0x10(%ebp),%eax
403a29:	3b c8                	cmp    %eax,%ecx
403a2b:	74 04                	je     0x403a31
403a2d:	32 c0                	xor    %al,%al
403a2f:	5d                   	pop    %ebp
403a30:	c3                   	ret
403a31:	ff 75 18             	push   0x18(%ebp)
403a34:	ff 75 10             	push   0x10(%ebp)
403a37:	ff 75 0c             	push   0xc(%ebp)
403a3a:	ff 75 08             	push   0x8(%ebp)
403a3d:	e8 05 00 00 00       	call   0x403a47
403a42:	83 c4 10             	add    $0x10,%esp
403a45:	5d                   	pop    %ebp
403a46:	c3                   	ret
403a47:	55                   	push   %ebp
403a48:	8b ec                	mov    %esp,%ebp
403a4a:	51                   	push   %ecx
403a4b:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
403a4f:	ff 75 fc             	push   -0x4(%ebp)
403a52:	ff 75 14             	push   0x14(%ebp)
403a55:	ff 75 10             	push   0x10(%ebp)
403a58:	ff 75 0c             	push   0xc(%ebp)
403a5b:	ff 75 08             	push   0x8(%ebp)
403a5e:	e8 d9 fe ff ff       	call   0x40393c
403a63:	83 c4 14             	add    $0x14,%esp
403a66:	c9                   	leave
403a67:	c3                   	ret
403a68:	55                   	push   %ebp
403a69:	8b ec                	mov    %esp,%ebp
403a6b:	51                   	push   %ecx
403a6c:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
403a70:	ff 75 fc             	push   -0x4(%ebp)
403a73:	ff 75 14             	push   0x14(%ebp)
403a76:	ff 75 10             	push   0x10(%ebp)
403a79:	ff 75 0c             	push   0xc(%ebp)
403a7c:	ff 75 08             	push   0x8(%ebp)
403a7f:	e8 ef fe ff ff       	call   0x403973
403a84:	83 c4 14             	add    $0x14,%esp
403a87:	c9                   	leave
403a88:	c3                   	ret
403a89:	55                   	push   %ebp
403a8a:	8b ec                	mov    %esp,%ebp
403a8c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403a8f:	8b 45 14             	mov    0x14(%ebp),%eax
403a92:	2b 4d 08             	sub    0x8(%ebp),%ecx
403a95:	2b 45 10             	sub    0x10(%ebp),%eax
403a98:	33 c8                	xor    %eax,%ecx
403a9a:	f7 c1 fe ff ff ff    	test   $0xfffffffe,%ecx
403aa0:	74 04                	je     0x403aa6
403aa2:	32 c0                	xor    %al,%al
403aa4:	5d                   	pop    %ebp
403aa5:	c3                   	ret
403aa6:	ff 75 18             	push   0x18(%ebp)
403aa9:	ff 75 10             	push   0x10(%ebp)
403aac:	ff 75 0c             	push   0xc(%ebp)
403aaf:	ff 75 08             	push   0x8(%ebp)
403ab2:	e8 05 00 00 00       	call   0x403abc
403ab7:	83 c4 10             	add    $0x10,%esp
403aba:	5d                   	pop    %ebp
403abb:	c3                   	ret
403abc:	55                   	push   %ebp
403abd:	8b ec                	mov    %esp,%ebp
403abf:	51                   	push   %ecx
403ac0:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
403ac4:	ff 75 fc             	push   -0x4(%ebp)
403ac7:	ff 75 14             	push   0x14(%ebp)
403aca:	ff 75 10             	push   0x10(%ebp)
403acd:	ff 75 0c             	push   0xc(%ebp)
403ad0:	ff 75 08             	push   0x8(%ebp)
403ad3:	e8 bb fe ff ff       	call   0x403993
403ad8:	83 c4 14             	add    $0x14,%esp
403adb:	c9                   	leave
403adc:	c3                   	ret
403add:	55                   	push   %ebp
403ade:	8b ec                	mov    %esp,%ebp
403ae0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403ae3:	8b 55 08             	mov    0x8(%ebp),%edx
403ae6:	56                   	push   %esi
403ae7:	8b 75 18             	mov    0x18(%ebp),%esi
403aea:	3b 55 10             	cmp    0x10(%ebp),%edx
403aed:	75 05                	jne    0x403af4
403aef:	3b 4d 14             	cmp    0x14(%ebp),%ecx
403af2:	74 2f                	je     0x403b23
403af4:	80 3e 00             	cmpb   $0x0,(%esi)
403af7:	8b 02                	mov    (%edx),%eax
403af9:	74 05                	je     0x403b00
403afb:	0f ab c8             	bts    %ecx,%eax
403afe:	eb 03                	jmp    0x403b03
403b00:	0f b3 c8             	btr    %ecx,%eax
403b03:	89 02                	mov    %eax,(%edx)
403b05:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403b08:	8b 55 08             	mov    0x8(%ebp),%edx
403b0b:	83 f9 1f             	cmp    $0x1f,%ecx
403b0e:	73 06                	jae    0x403b16
403b10:	41                   	inc    %ecx
403b11:	89 4d 0c             	mov    %ecx,0xc(%ebp)
403b14:	eb d4                	jmp    0x403aea
403b16:	33 c9                	xor    %ecx,%ecx
403b18:	83 c2 04             	add    $0x4,%edx
403b1b:	89 4d 0c             	mov    %ecx,0xc(%ebp)
403b1e:	89 55 08             	mov    %edx,0x8(%ebp)
403b21:	eb c7                	jmp    0x403aea
403b23:	5e                   	pop    %esi
403b24:	5d                   	pop    %ebp
403b25:	c3                   	ret
403b26:	55                   	push   %ebp
403b27:	8b ec                	mov    %esp,%ebp
403b29:	51                   	push   %ecx
403b2a:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
403b2e:	ff 75 fc             	push   -0x4(%ebp)
403b31:	ff 75 18             	push   0x18(%ebp)
403b34:	ff 75 14             	push   0x14(%ebp)
403b37:	ff 75 10             	push   0x10(%ebp)
403b3a:	ff 75 0c             	push   0xc(%ebp)
403b3d:	ff 75 08             	push   0x8(%ebp)
403b40:	e8 98 ff ff ff       	call   0x403add
403b45:	83 c4 18             	add    $0x18,%esp
403b48:	c9                   	leave
403b49:	c3                   	ret
403b4a:	55                   	push   %ebp
403b4b:	8b ec                	mov    %esp,%ebp
403b4d:	8b 4d 08             	mov    0x8(%ebp),%ecx
403b50:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
403b53:	74 12                	je     0x403b67
403b55:	8b 45 10             	mov    0x10(%ebp),%eax
403b58:	8b 10                	mov    (%eax),%edx
403b5a:	0f be 01             	movsbl (%ecx),%eax
403b5d:	3b c2                	cmp    %edx,%eax
403b5f:	74 06                	je     0x403b67
403b61:	41                   	inc    %ecx
403b62:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
403b65:	75 f3                	jne    0x403b5a
403b67:	8b c1                	mov    %ecx,%eax
403b69:	5d                   	pop    %ebp
403b6a:	c3                   	ret
403b6b:	55                   	push   %ebp
403b6c:	8b ec                	mov    %esp,%ebp
403b6e:	8b 4d 08             	mov    0x8(%ebp),%ecx
403b71:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
403b74:	74 13                	je     0x403b89
403b76:	8b 45 10             	mov    0x10(%ebp),%eax
403b79:	0f b7 00             	movzwl (%eax),%eax
403b7c:	66 39 01             	cmp    %ax,(%ecx)
403b7f:	74 08                	je     0x403b89
403b81:	83 c1 02             	add    $0x2,%ecx
403b84:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
403b87:	75 f3                	jne    0x403b7c
403b89:	8b c1                	mov    %ecx,%eax
403b8b:	5d                   	pop    %ebp
403b8c:	c3                   	ret
403b8d:	55                   	push   %ebp
403b8e:	8b ec                	mov    %esp,%ebp
403b90:	8b 4d 08             	mov    0x8(%ebp),%ecx
403b93:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
403b96:	74 14                	je     0x403bac
403b98:	8b 45 10             	mov    0x10(%ebp),%eax
403b9b:	8b 10                	mov    (%eax),%edx
403b9d:	0f b7 01             	movzwl (%ecx),%eax
403ba0:	3b c2                	cmp    %edx,%eax
403ba2:	74 08                	je     0x403bac
403ba4:	83 c1 02             	add    $0x2,%ecx
403ba7:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
403baa:	75 f1                	jne    0x403b9d
403bac:	8b c1                	mov    %ecx,%eax
403bae:	5d                   	pop    %ebp
403baf:	c3                   	ret
403bb0:	55                   	push   %ebp
403bb1:	8b ec                	mov    %esp,%ebp
403bb3:	f7 45 18 00 04 00 00 	testl  $0x400,0x18(%ebp)
403bba:	ff 75 18             	push   0x18(%ebp)
403bbd:	ff 75 14             	push   0x14(%ebp)
403bc0:	ff 75 10             	push   0x10(%ebp)
403bc3:	ff 75 0c             	push   0xc(%ebp)
403bc6:	51                   	push   %ecx
403bc7:	74 0b                	je     0x403bd4
403bc9:	8d 45 18             	lea    0x18(%ebp),%eax
403bcc:	50                   	push   %eax
403bcd:	e8 b9 01 00 00       	call   0x403d8b
403bd2:	eb 09                	jmp    0x403bdd
403bd4:	8d 45 14             	lea    0x14(%ebp),%eax
403bd7:	50                   	push   %eax
403bd8:	e8 0e 00 00 00       	call   0x403beb
403bdd:	8b 08                	mov    (%eax),%ecx
403bdf:	83 c4 18             	add    $0x18,%esp
403be2:	8b 45 08             	mov    0x8(%ebp),%eax
403be5:	89 08                	mov    %ecx,(%eax)
403be7:	5d                   	pop    %ebp
403be8:	c2 14 00             	ret    $0x14
403beb:	55                   	push   %ebp
403bec:	8b ec                	mov    %esp,%ebp
403bee:	8b 4d 10             	mov    0x10(%ebp),%ecx
403bf1:	83 ec 48             	sub    $0x48,%esp
403bf4:	53                   	push   %ebx
403bf5:	8b 5d 14             	mov    0x14(%ebp),%ebx
403bf8:	3b 5d 18             	cmp    0x18(%ebp),%ebx
403bfb:	74 74                	je     0x403c71
403bfd:	56                   	push   %esi
403bfe:	57                   	push   %edi
403bff:	6a 24                	push   $0x24
403c01:	5e                   	pop    %esi
403c02:	c7 45 f8 0c 00 00 00 	movl   $0xc,-0x8(%ebp)
403c09:	c7 45 fc 09 00 00 00 	movl   $0x9,-0x4(%ebp)
403c10:	0f b7 03             	movzwl (%ebx),%eax
403c13:	83 c3 02             	add    $0x2,%ebx
403c16:	8b d0                	mov    %eax,%edx
403c18:	66 3b c6             	cmp    %si,%ax
403c1b:	74 03                	je     0x403c20
403c1d:	52                   	push   %edx
403c1e:	eb 06                	jmp    0x403c26
403c20:	3b 5d 18             	cmp    0x18(%ebp),%ebx
403c23:	75 08                	jne    0x403c2d
403c25:	56                   	push   %esi
403c26:	e8 a3 ea 01 00       	call   0x4226ce
403c2b:	eb 13                	jmp    0x403c40
403c2d:	0f b7 13             	movzwl (%ebx),%edx
403c30:	8d 7b 02             	lea    0x2(%ebx),%edi
403c33:	66 3b d6             	cmp    %si,%dx
403c36:	75 0d                	jne    0x403c45
403c38:	56                   	push   %esi
403c39:	e8 90 ea 01 00       	call   0x4226ce
403c3e:	8b df                	mov    %edi,%ebx
403c40:	8b 4d 10             	mov    0x10(%ebp),%ecx
403c43:	eb 25                	jmp    0x403c6a
403c45:	83 fa 60             	cmp    $0x60,%edx
403c48:	75 2f                	jne    0x403c79
403c4a:	8b 75 0c             	mov    0xc(%ebp),%esi
403c4d:	8d 45 f4             	lea    -0xc(%ebp),%eax
403c50:	51                   	push   %ecx
403c51:	ff 76 18             	push   0x18(%esi)
403c54:	ff 76 14             	push   0x14(%esi)
403c57:	50                   	push   %eax
403c58:	e8 fe 2f 00 00       	call   0x406c5b
403c5d:	83 c4 10             	add    $0x10,%esp
403c60:	8b df                	mov    %edi,%ebx
403c62:	8b 08                	mov    (%eax),%ecx
403c64:	89 4d 10             	mov    %ecx,0x10(%ebp)
403c67:	6a 24                	push   $0x24
403c69:	5e                   	pop    %esi
403c6a:	3b 5d 18             	cmp    0x18(%ebp),%ebx
403c6d:	75 a1                	jne    0x403c10
403c6f:	5f                   	pop    %edi
403c70:	5e                   	pop    %esi
403c71:	8b 45 08             	mov    0x8(%ebp),%eax
403c74:	5b                   	pop    %ebx
403c75:	89 08                	mov    %ecx,(%eax)
403c77:	c9                   	leave
403c78:	c3                   	ret
403c79:	83 fa 27             	cmp    $0x27,%edx
403c7c:	75 0f                	jne    0x403c8d
403c7e:	8b 75 0c             	mov    0xc(%ebp),%esi
403c81:	8d 45 f0             	lea    -0x10(%ebp),%eax
403c84:	51                   	push   %ecx
403c85:	ff 76 24             	push   0x24(%esi)
403c88:	ff 76 20             	push   0x20(%esi)
403c8b:	eb ca                	jmp    0x403c57
403c8d:	83 fa 26             	cmp    $0x26,%edx
403c90:	75 43                	jne    0x403cd5
403c92:	8b df                	mov    %edi,%ebx
403c94:	8b 7d 0c             	mov    0xc(%ebp),%edi
403c97:	6a 0c                	push   $0xc
403c99:	8b 77 08             	mov    0x8(%edi),%esi
403c9c:	8b 47 0c             	mov    0xc(%edi),%eax
403c9f:	2b c6                	sub    %esi,%eax
403ca1:	89 75 14             	mov    %esi,0x14(%ebp)
403ca4:	99                   	cltd
403ca5:	5f                   	pop    %edi
403ca6:	f7 ff                	idiv   %edi
403ca8:	85 c0                	test   %eax,%eax
403caa:	74 bb                	je     0x403c67
403cac:	8d 7d dc             	lea    -0x24(%ebp),%edi
403caf:	a5                   	movsl  %ds:(%esi),%es:(%edi)
403cb0:	8d 45 ec             	lea    -0x14(%ebp),%eax
403cb3:	51                   	push   %ecx
403cb4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
403cb5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
403cb6:	8b 75 14             	mov    0x14(%ebp),%esi
403cb9:	8d 7d d0             	lea    -0x30(%ebp),%edi
403cbc:	ff 75 e0             	push   -0x20(%ebp)
403cbf:	a5                   	movsl  %ds:(%esi),%es:(%edi)
403cc0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
403cc1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
403cc2:	ff 75 d0             	push   -0x30(%ebp)
403cc5:	50                   	push   %eax
403cc6:	e8 90 2f 00 00       	call   0x406c5b
403ccb:	83 c4 10             	add    $0x10,%esp
403cce:	8b 08                	mov    (%eax),%ecx
403cd0:	89 4d 10             	mov    %ecx,0x10(%ebp)
403cd3:	eb 92                	jmp    0x403c67
403cd5:	8d 42 d0             	lea    -0x30(%edx),%eax
403cd8:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
403cdc:	0f 87 95 00 00 00    	ja     0x403d77
403ce2:	8b df                	mov    %edi,%ebx
403ce4:	8d 72 d0             	lea    -0x30(%edx),%esi
403ce7:	3b 5d 18             	cmp    0x18(%ebp),%ebx
403cea:	74 21                	je     0x403d0d
403cec:	0f b7 3b             	movzwl (%ebx),%edi
403cef:	6a 09                	push   $0x9
403cf1:	5a                   	pop    %edx
403cf2:	8d 47 d0             	lea    -0x30(%edi),%eax
403cf5:	66 3b c2             	cmp    %dx,%ax
403cf8:	77 13                	ja     0x403d0d
403cfa:	6b d6 0a             	imul   $0xa,%esi,%edx
403cfd:	83 c3 02             	add    $0x2,%ebx
403d00:	8b f7                	mov    %edi,%esi
403d02:	c6 45 17 01          	movb   $0x1,0x17(%ebp)
403d06:	83 c6 d0             	add    $0xffffffd0,%esi
403d09:	03 f2                	add    %edx,%esi
403d0b:	eb 04                	jmp    0x403d11
403d0d:	c6 45 17 00          	movb   $0x0,0x17(%ebp)
403d11:	85 f6                	test   %esi,%esi
403d13:	75 27                	jne    0x403d3c
403d15:	6a 24                	push   $0x24
403d17:	5e                   	pop    %esi
403d18:	56                   	push   %esi
403d19:	e8 b0 e9 01 00       	call   0x4226ce
403d1e:	8b 4d 10             	mov    0x10(%ebp),%ecx
403d21:	6a 30                	push   $0x30
403d23:	e8 a6 e9 01 00       	call   0x4226ce
403d28:	80 7d 17 00          	cmpb   $0x0,0x17(%ebp)
403d2c:	8b 4d 10             	mov    0x10(%ebp),%ecx
403d2f:	0f 84 35 ff ff ff    	je     0x403c6a
403d35:	6a 30                	push   $0x30
403d37:	e9 ea fe ff ff       	jmp    0x403c26
403d3c:	8b 45 0c             	mov    0xc(%ebp),%eax
403d3f:	8b 78 08             	mov    0x8(%eax),%edi
403d42:	8b 40 0c             	mov    0xc(%eax),%eax
403d45:	2b c7                	sub    %edi,%eax
403d47:	99                   	cltd
403d48:	f7 7d f8             	idivl  -0x8(%ebp)
403d4b:	3b f0                	cmp    %eax,%esi
403d4d:	0f 83 14 ff ff ff    	jae    0x403c67
403d53:	6b c6 0c             	imul   $0xc,%esi,%eax
403d56:	51                   	push   %ecx
403d57:	03 c7                	add    %edi,%eax
403d59:	8d 7d c4             	lea    -0x3c(%ebp),%edi
403d5c:	8b f0                	mov    %eax,%esi
403d5e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
403d5f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
403d60:	a5                   	movsl  %ds:(%esi),%es:(%edi)
403d61:	ff 75 c8             	push   -0x38(%ebp)
403d64:	8b f0                	mov    %eax,%esi
403d66:	8d 7d b8             	lea    -0x48(%ebp),%edi
403d69:	8d 45 e8             	lea    -0x18(%ebp),%eax