403a69:	8b 45 fc             	mov    -0x4(%ebp),%eax
403a6c:	83 d7 ff             	adc    $0xffffffff,%edi
403a6f:	40                   	inc    %eax
403a70:	83 c3 02             	add    $0x2,%ebx
403a73:	89 45 fc             	mov    %eax,-0x4(%ebp)
403a76:	6a 05                	push   $0x5
403a78:	5a                   	pop    %edx
403a79:	83 f8 10             	cmp    $0x10,%eax
403a7c:	7c 93                	jl     0x403a11
403a7e:	8b 45 f8             	mov    -0x8(%ebp),%eax
403a81:	89 30                	mov    %esi,(%eax)
403a83:	89 78 04             	mov    %edi,0x4(%eax)
403a86:	33 c0                	xor    %eax,%eax
403a88:	40                   	inc    %eax
403a89:	5f                   	pop    %edi
403a8a:	5e                   	pop    %esi
403a8b:	5b                   	pop    %ebx
403a8c:	c9                   	leave
403a8d:	c2 08 00             	ret    $0x8
403a90:	33 c0                	xor    %eax,%eax
403a92:	eb f5                	jmp    0x403a89
403a94:	8b ff                	mov    %edi,%edi
403a96:	55                   	push   %ebp
403a97:	8b ec                	mov    %esp,%ebp
403a99:	83 ec 0c             	sub    $0xc,%esp
403a9c:	53                   	push   %ebx
403a9d:	56                   	push   %esi
403a9e:	57                   	push   %edi
403a9f:	6a 78                	push   $0x78
403aa1:	8b f9                	mov    %ecx,%edi
403aa3:	89 55 fc             	mov    %edx,-0x4(%ebp)
403aa6:	5e                   	pop    %esi
403aa7:	6a 30                	push   $0x30
403aa9:	5b                   	pop    %ebx
403aaa:	0f b7 07             	movzwl (%edi),%eax
403aad:	8b c8                	mov    %eax,%ecx
403aaf:	66 3b c3             	cmp    %bx,%ax
403ab2:	75 19                	jne    0x403acd
403ab4:	0f b7 47 02          	movzwl 0x2(%edi),%eax
403ab8:	66 3b c6             	cmp    %si,%ax
403abb:	74 0a                	je     0x403ac7
403abd:	6a 58                	push   $0x58
403abf:	5e                   	pop    %esi
403ac0:	8b cb                	mov    %ebx,%ecx
403ac2:	66 3b c6             	cmp    %si,%ax
403ac5:	75 06                	jne    0x403acd
403ac7:	83 c7 04             	add    $0x4,%edi
403aca:	0f b7 0f             	movzwl (%edi),%ecx
403acd:	6a 2d                	push   $0x2d
403acf:	5e                   	pop    %esi
403ad0:	89 7d f8             	mov    %edi,-0x8(%ebp)
403ad3:	66 3b ce             	cmp    %si,%cx
403ad6:	74 17                	je     0x403aef
403ad8:	8d 4f 02             	lea    0x2(%edi),%ecx
403adb:	0f b7 01             	movzwl (%ecx),%eax
403ade:	8b d0                	mov    %eax,%edx
403ae0:	66 85 c0             	test   %ax,%ax
403ae3:	74 07                	je     0x403aec
403ae5:	8b f9                	mov    %ecx,%edi
403ae7:	66 3b d6             	cmp    %si,%dx
403aea:	75 ec                	jne    0x403ad8
403aec:	8b 55 fc             	mov    -0x4(%ebp),%edx
403aef:	0f b7 07             	movzwl (%edi),%eax
403af2:	8b d8                	mov    %eax,%ebx
403af4:	66 85 c0             	test   %ax,%ax
403af7:	74 51                	je     0x403b4a
403af9:	51                   	push   %ecx
403afa:	33 c0                	xor    %eax,%eax
403afc:	8b f7                	mov    %edi,%esi
403afe:	51                   	push   %ecx
403aff:	8b 4d f8             	mov    -0x8(%ebp),%ecx
403b02:	66 89 07             	mov    %ax,(%edi)
403b05:	83 c7 02             	add    $0x2,%edi
403b08:	e8 eb fe ff ff       	call   0x4039f8
403b0d:	66 89 1e             	mov    %bx,(%esi)
403b10:	85 c0                	test   %eax,%eax
403b12:	74 36                	je     0x403b4a
403b14:	6a 30                	push   $0x30
403b16:	58                   	pop    %eax
403b17:	66 39 07             	cmp    %ax,(%edi)
403b1a:	75 17                	jne    0x403b33
403b1c:	0f b7 47 02          	movzwl 0x2(%edi),%eax
403b20:	6a 78                	push   $0x78
403b22:	59                   	pop    %ecx
403b23:	66 3b c1             	cmp    %cx,%ax
403b26:	74 08                	je     0x403b30
403b28:	6a 58                	push   $0x58
403b2a:	59                   	pop    %ecx
403b2b:	66 3b c1             	cmp    %cx,%ax
403b2e:	75 03                	jne    0x403b33
403b30:	83 c7 04             	add    $0x4,%edi
403b33:	8b 55 fc             	mov    -0x4(%ebp),%edx
403b36:	51                   	push   %ecx
403b37:	51                   	push   %ecx
403b38:	83 c2 08             	add    $0x8,%edx
403b3b:	8b cf                	mov    %edi,%ecx
403b3d:	e8 b6 fe ff ff       	call   0x4039f8
403b42:	85 c0                	test   %eax,%eax
403b44:	74 04                	je     0x403b4a
403b46:	b0 01                	mov    $0x1,%al
403b48:	eb 02                	jmp    0x403b4c
403b4a:	32 c0                	xor    %al,%al
403b4c:	5f                   	pop    %edi
403b4d:	5e                   	pop    %esi
403b4e:	5b                   	pop    %ebx
403b4f:	c9                   	leave
403b50:	c3                   	ret
403b51:	8b ff                	mov    %edi,%edi
403b53:	55                   	push   %ebp
403b54:	8b ec                	mov    %esp,%ebp
403b56:	51                   	push   %ecx
403b57:	53                   	push   %ebx
403b58:	56                   	push   %esi
403b59:	57                   	push   %edi
403b5a:	8b f9                	mov    %ecx,%edi
403b5c:	33 d2                	xor    %edx,%edx
403b5e:	8b f7                	mov    %edi,%esi
403b60:	8d 4e 02             	lea    0x2(%esi),%ecx
403b63:	66 8b 06             	mov    (%esi),%ax
403b66:	83 c6 02             	add    $0x2,%esi
403b69:	66 3b c2             	cmp    %dx,%ax
403b6c:	75 f5                	jne    0x403b63
403b6e:	2b f1                	sub    %ecx,%esi
403b70:	8b da                	mov    %edx,%ebx
403b72:	d1 fe                	sar    $1,%esi
403b74:	74 47                	je     0x403bbd
403b76:	c7 45 fc 05 00 00 00 	movl   $0x5,-0x4(%ebp)
403b7d:	0f b7 0f             	movzwl (%edi),%ecx
403b80:	8d 41 d0             	lea    -0x30(%ecx),%eax
403b83:	66 83 f8 09          	cmp    $0x9,%ax
403b87:	77 08                	ja     0x403b91
403b89:	c1 e2 04             	shl    $0x4,%edx
403b8c:	83 c2 d0             	add    $0xffffffd0,%edx
403b8f:	eb 20                	jmp    0x403bb1
403b91:	8d 41 bf             	lea    -0x41(%ecx),%eax
403b94:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
403b98:	77 08                	ja     0x403ba2
403b9a:	c1 e2 04             	shl    $0x4,%edx
403b9d:	83 c2 c9             	add    $0xffffffc9,%edx
403ba0:	eb 0f                	jmp    0x403bb1
403ba2:	8d 41 9f             	lea    -0x61(%ecx),%eax
403ba5:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
403ba9:	77 19                	ja     0x403bc4
403bab:	c1 e2 04             	shl    $0x4,%edx
403bae:	83 c2 a9             	add    $0xffffffa9,%edx
403bb1:	8b c1                	mov    %ecx,%eax
403bb3:	83 c7 02             	add    $0x2,%edi
403bb6:	03 d0                	add    %eax,%edx
403bb8:	43                   	inc    %ebx
403bb9:	3b de                	cmp    %esi,%ebx
403bbb:	72 c0                	jb     0x403b7d
403bbd:	8b c2                	mov    %edx,%eax
403bbf:	5f                   	pop    %edi
403bc0:	5e                   	pop    %esi
403bc1:	5b                   	pop    %ebx
403bc2:	c9                   	leave
403bc3:	c3                   	ret
403bc4:	33 c0                	xor    %eax,%eax
403bc6:	eb f7                	jmp    0x403bbf
403bc8:	8b ff                	mov    %edi,%edi
403bca:	55                   	push   %ebp
403bcb:	8b ec                	mov    %esp,%ebp
403bcd:	83 ec 20             	sub    $0x20,%esp
403bd0:	a1 04 a0 40 00       	mov    0x40a004,%eax
403bd5:	33 c5                	xor    %ebp,%eax
403bd7:	89 45 fc             	mov    %eax,-0x4(%ebp)
403bda:	53                   	push   %ebx
403bdb:	8b c1                	mov    %ecx,%eax
403bdd:	89 55 e0             	mov    %edx,-0x20(%ebp)
403be0:	8b 55 08             	mov    0x8(%ebp),%edx
403be3:	56                   	push   %esi
403be4:	8b f0                	mov    %eax,%esi
403be6:	89 45 e8             	mov    %eax,-0x18(%ebp)
403be9:	57                   	push   %edi
403bea:	33 ff                	xor    %edi,%edi
403bec:	8d 4e 02             	lea    0x2(%esi),%ecx
403bef:	66 8b 06             	mov    (%esi),%ax
403bf2:	83 c6 02             	add    $0x2,%esi
403bf5:	66 3b c7             	cmp    %di,%ax
403bf8:	75 f5                	jne    0x403bef
403bfa:	2b f1                	sub    %ecx,%esi
403bfc:	d1 fe                	sar    $1,%esi
403bfe:	8b ce                	mov    %esi,%ecx
403c00:	d1 e9                	shr    $1,%ecx
403c02:	8d 04 09             	lea    (%ecx,%ecx,1),%eax
403c05:	3b c6                	cmp    %esi,%eax
403c07:	75 57                	jne    0x403c60
403c09:	51                   	push   %ecx
403c0a:	89 0a                	mov    %ecx,(%edx)
403c0c:	ff 15 a4 f0 40 00    	call   *0x40f0a4
403c12:	8b d8                	mov    %eax,%ebx
403c14:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
403c17:	85 db                	test   %ebx,%ebx
403c19:	74 41                	je     0x403c5c
403c1b:	85 f6                	test   %esi,%esi
403c1d:	74 36                	je     0x403c55
403c1f:	33 c0                	xor    %eax,%eax
403c21:	89 5d ec             	mov    %ebx,-0x14(%ebp)
403c24:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
403c28:	8b f8                	mov    %eax,%edi
403c2a:	8b 4d e8             	mov    -0x18(%ebp),%ecx
403c2d:	66 8b 04 79          	mov    (%ecx,%edi,2),%ax
403c31:	66 89 45 f4          	mov    %ax,-0xc(%ebp)
403c35:	66 8b 44 79 02       	mov    0x2(%ecx,%edi,2),%ax
403c3a:	8d 4d f4             	lea    -0xc(%ebp),%ecx
403c3d:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
403c41:	e8 0b ff ff ff       	call   0x403b51
403c46:	83 c7 02             	add    $0x2,%edi
403c49:	88 03                	mov    %al,(%ebx)
403c4b:	43                   	inc    %ebx
403c4c:	3b fe                	cmp    %esi,%edi
403c4e:	72 da                	jb     0x403c2a
403c50:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
403c53:	33 ff                	xor    %edi,%edi
403c55:	8b 45 e0             	mov    -0x20(%ebp),%eax
403c58:	89 18                	mov    %ebx,(%eax)
403c5a:	eb 07                	jmp    0x403c63
403c5c:	6a 08                	push   $0x8
403c5e:	eb 02                	jmp    0x403c62
403c60:	6a 57                	push   $0x57
403c62:	5f                   	pop    %edi
403c63:	8b 4d fc             	mov    -0x4(%ebp),%ecx
403c66:	8b c7                	mov    %edi,%eax
403c68:	5f                   	pop    %edi
403c69:	5e                   	pop    %esi
403c6a:	33 cd                	xor    %ebp,%ecx
403c6c:	5b                   	pop    %ebx
403c6d:	e8 5e 4e 00 00       	call   0x408ad0
403c72:	c9                   	leave
403c73:	c2 04 00             	ret    $0x4
403c76:	8b d1                	mov    %ecx,%edx
403c78:	56                   	push   %esi
403c79:	8d 72 02             	lea    0x2(%edx),%esi
403c7c:	66 8b 02             	mov    (%edx),%ax
403c7f:	83 c2 02             	add    $0x2,%edx
403c82:	66 85 c0             	test   %ax,%ax
403c85:	75 f5                	jne    0x403c7c
403c87:	2b d6                	sub    %esi,%edx
403c89:	d1 fa                	sar    $1,%edx
403c8b:	5e                   	pop    %esi
403c8c:	83 fa 02             	cmp    $0x2,%edx
403c8f:	76 1c                	jbe    0x403cad
403c91:	66 83 39 30          	cmpw   $0x30,(%ecx)
403c95:	75 16                	jne    0x403cad
403c97:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
403c9b:	83 f8 78             	cmp    $0x78,%eax
403c9e:	74 05                	je     0x403ca5
403ca0:	83 f8 58             	cmp    $0x58,%eax
403ca3:	75 08                	jne    0x403cad
403ca5:	83 c1 04             	add    $0x4,%ecx
403ca8:	e9 a4 fe ff ff       	jmp    0x403b51
403cad:	51                   	push   %ecx
403cae:	ff 15 dc f1 40 00    	call   *0x40f1dc
403cb4:	59                   	pop    %ecx
403cb5:	c3                   	ret
403cb6:	8b d1                	mov    %ecx,%edx
403cb8:	56                   	push   %esi
403cb9:	57                   	push   %edi
403cba:	33 ff                	xor    %edi,%edi
403cbc:	8d 72 02             	lea    0x2(%edx),%esi
403cbf:	66 8b 02             	mov    (%edx),%ax
403cc2:	83 c2 02             	add    $0x2,%edx
403cc5:	66 3b c7             	cmp    %di,%ax
403cc8:	75 f5                	jne    0x403cbf
403cca:	2b d6                	sub    %esi,%edx
403ccc:	d1 fa                	sar    $1,%edx
403cce:	83 fa 02             	cmp    $0x2,%edx
403cd1:	76 1b                	jbe    0x403cee
403cd3:	66 83 39 30          	cmpw   $0x30,(%ecx)
403cd7:	75 15                	jne    0x403cee
403cd9:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
403cdd:	83 f8 78             	cmp    $0x78,%eax
403ce0:	74 05                	je     0x403ce7
403ce2:	83 f8 58             	cmp    $0x58,%eax
403ce5:	75 07                	jne    0x403cee
403ce7:	6a 10                	push   $0x10
403ce9:	83 c1 04             	add    $0x4,%ecx
403cec:	eb 02                	jmp    0x403cf0
403cee:	6a 0a                	push   $0xa
403cf0:	58                   	pop    %eax
403cf1:	50                   	push   %eax
403cf2:	57                   	push   %edi
403cf3:	51                   	push   %ecx
403cf4:	ff 15 9c f1 40 00    	call   *0x40f19c
403cfa:	83 c4 0c             	add    $0xc,%esp
403cfd:	5f                   	pop    %edi
403cfe:	5e                   	pop    %esi
403cff:	c3                   	ret
403d00:	8b ff                	mov    %edi,%edi
403d02:	56                   	push   %esi
403d03:	8b f1                	mov    %ecx,%esi
403d05:	57                   	push   %edi
403d06:	8b fa                	mov    %edx,%edi
403d08:	8d 56 02             	lea    0x2(%esi),%edx
403d0b:	66 8b 06             	mov    (%esi),%ax
403d0e:	83 c6 02             	add    $0x2,%esi
403d11:	66 85 c0             	test   %ax,%ax
403d14:	75 f5                	jne    0x403d0b
403d16:	2b f2                	sub    %edx,%esi
403d18:	d1 fe                	sar    $1,%esi
403d1a:	83 fe 12             	cmp    $0x12,%esi
403d1d:	75 22                	jne    0x403d41
403d1f:	66 83 39 30          	cmpw   $0x30,(%ecx)
403d23:	75 1c                	jne    0x403d41
403d25:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
403d29:	83 f8 78             	cmp    $0x78,%eax
403d2c:	74 05                	je     0x403d33
403d2e:	83 f8 58             	cmp    $0x58,%eax
403d31:	74 0e                	je     0x403d41
403d33:	e8 7e ff ff ff       	call   0x403cb6
403d38:	89 07                	mov    %eax,(%edi)
403d3a:	b0 01                	mov    $0x1,%al
403d3c:	89 57 04             	mov    %edx,0x4(%edi)
403d3f:	eb 02                	jmp    0x403d43
403d41:	32 c0                	xor    %al,%al
403d43:	5f                   	pop    %edi
403d44:	5e                   	pop    %esi
403d45:	c3                   	ret
403d46:	8b ff                	mov    %edi,%edi
403d48:	55                   	push   %ebp
403d49:	8b ec                	mov    %esp,%ebp
403d4b:	51                   	push   %ecx
403d4c:	51                   	push   %ecx
403d4d:	53                   	push   %ebx
403d4e:	56                   	push   %esi
403d4f:	57                   	push   %edi
403d50:	6a 34                	push   $0x34
403d52:	8b d9                	mov    %ecx,%ebx
403d54:	8b f2                	mov    %edx,%esi
403d56:	6a 00                	push   $0x0
403d58:	53                   	push   %ebx
403d59:	89 75 f8             	mov    %esi,-0x8(%ebp)
403d5c:	e8 83 53 00 00       	call   0x4090e4
403d61:	8b 7d 0c             	mov    0xc(%ebp),%edi
403d64:	83 c4 0c             	add    $0xc,%esp
403d67:	8b 0c be             	mov    (%esi,%edi,4),%ecx
403d6a:	6a 2a                	push   $0x2a
403d6c:	58                   	pop    %eax
403d6d:	66 39 01             	cmp    %ax,(%ecx)
403d70:	74 08                	je     0x403d7a
403d72:	e8 ff fe ff ff       	call   0x403c76
403d77:	89 43 08             	mov    %eax,0x8(%ebx)
403d7a:	8b 44 be 04          	mov    0x4(%esi,%edi,4),%eax
403d7e:	6a 2a                	push   $0x2a
403d80:	5a                   	pop    %edx
403d81:	66 39 10             	cmp    %dx,(%eax)
403d84:	74 13                	je     0x403d99
403d86:	83 4b 04 01          	orl    $0x1,0x4(%ebx)
403d8a:	8b 4c be 04          	mov    0x4(%esi,%edi,4),%ecx
403d8e:	e8 e3 fe ff ff       	call   0x403c76