407aa4:	89 d3                	mov    %edx,%ebx
407aa6:	89 c2                	mov    %eax,%edx
407aa8:	c1 ea 10             	shr    $0x10,%edx
407aab:	66 f7 f3             	div    %bx
407aae:	8b 5d 08             	mov    0x8(%ebp),%ebx
407ab1:	66 89 01             	mov    %ax,(%ecx)
407ab4:	66 89 13             	mov    %dx,(%ebx)
407ab7:	5b                   	pop    %ebx
407ab8:	5d                   	pop    %ebp
407ab9:	c2 04 00             	ret    $0x4
407abc:	53                   	push   %ebx
407abd:	56                   	push   %esi
407abe:	57                   	push   %edi
407abf:	8b f9                	mov    %ecx,%edi
407ac1:	8b f2                	mov    %edx,%esi
407ac3:	8b d8                	mov    %eax,%ebx
407ac5:	56                   	push   %esi
407ac6:	57                   	push   %edi
407ac7:	8b cb                	mov    %ebx,%ecx
407ac9:	b2 01                	mov    $0x1,%dl
407acb:	a1 08 75 40 00       	mov    0x407508,%eax
407ad0:	e8 8b 3b 00 00       	call   0x40b660
407ad5:	e8 fa be ff ff       	call   0x4039d4
407ada:	5f                   	pop    %edi
407adb:	5e                   	pop    %esi
407adc:	5b                   	pop    %ebx
407add:	c3                   	ret
407ade:	8b c0                	mov    %eax,%eax
407ae0:	53                   	push   %ebx
407ae1:	56                   	push   %esi
407ae2:	8b d8                	mov    %eax,%ebx
407ae4:	8b c3                	mov    %ebx,%eax
407ae6:	e8 d1 ab ff ff       	call   0x4026bc
407aeb:	8b f0                	mov    %eax,%esi
407aed:	8b c6                	mov    %esi,%eax
407aef:	33 c9                	xor    %ecx,%ecx
407af1:	8b d3                	mov    %ebx,%edx
407af3:	e8 6c b1 ff ff       	call   0x402c64
407af8:	8b c6                	mov    %esi,%eax
407afa:	5e                   	pop    %esi
407afb:	5b                   	pop    %ebx
407afc:	c3                   	ret
407afd:	8d 40 00             	lea    0x0(%eax),%eax
407b00:	53                   	push   %ebx
407b01:	a1 34 31 46 00       	mov    0x463134,%eax
407b06:	8b 10                	mov    (%eax),%edx
407b08:	89 15 34 31 46 00    	mov    %edx,0x463134
407b0e:	8b 15 3c da 46 00    	mov    0x46da3c,%edx
407b14:	8b 48 04             	mov    0x4(%eax),%ecx
407b17:	89 0a                	mov    %ecx,(%edx)
407b19:	8b 58 08             	mov    0x8(%eax),%ebx
407b1c:	ba 0c 00 00 00       	mov    $0xc,%edx
407b21:	e8 b6 ab ff ff       	call   0x4026dc
407b26:	ff d3                	call   *%ebx
407b28:	5b                   	pop    %ebx
407b29:	c3                   	ret
407b2a:	8b c0                	mov    %eax,%eax
407b2c:	53                   	push   %ebx
407b2d:	8b d8                	mov    %eax,%ebx
407b2f:	b8 0c 00 00 00       	mov    $0xc,%eax
407b34:	e8 83 ab ff ff       	call   0x4026bc
407b39:	8b 15 34 31 46 00    	mov    0x463134,%edx
407b3f:	89 10                	mov    %edx,(%eax)
407b41:	8b 15 3c da 46 00    	mov    0x46da3c,%edx
407b47:	8b 12                	mov    (%edx),%edx
407b49:	89 50 04             	mov    %edx,0x4(%eax)
407b4c:	89 58 08             	mov    %ebx,0x8(%eax)
407b4f:	a3 34 31 46 00       	mov    %eax,0x463134
407b54:	a1 3c da 46 00       	mov    0x46da3c,%eax
407b59:	c7 00 00 7b 40 00    	movl   $0x407b00,(%eax)
407b5f:	5b                   	pop    %ebx
407b60:	c3                   	ret
407b61:	8d 40 00             	lea    0x0(%eax),%eax
407b64:	53                   	push   %ebx
407b65:	56                   	push   %esi
407b66:	57                   	push   %edi
407b67:	8b fa                	mov    %edx,%edi
407b69:	8b f0                	mov    %eax,%esi
407b6b:	8b c6                	mov    %esi,%eax
407b6d:	e8 e6 c6 ff ff       	call   0x404258
407b72:	8b d8                	mov    %eax,%ebx
407b74:	8b c7                	mov    %edi,%eax
407b76:	8b d3                	mov    %ebx,%edx
407b78:	e8 67 ca ff ff       	call   0x4045e4
407b7d:	8b d6                	mov    %esi,%edx
407b7f:	8b 37                	mov    (%edi),%esi
407b81:	85 db                	test   %ebx,%ebx
407b83:	74 15                	je     0x407b9a
407b85:	8a 02                	mov    (%edx),%al
407b87:	3c 61                	cmp    $0x61,%al
407b89:	72 06                	jb     0x407b91
407b8b:	3c 7a                	cmp    $0x7a,%al
407b8d:	77 02                	ja     0x407b91
407b8f:	2c 20                	sub    $0x20,%al
407b91:	88 06                	mov    %al,(%esi)
407b93:	42                   	inc    %edx
407b94:	46                   	inc    %esi
407b95:	4b                   	dec    %ebx
407b96:	85 db                	test   %ebx,%ebx
407b98:	75 eb                	jne    0x407b85
407b9a:	5f                   	pop    %edi
407b9b:	5e                   	pop    %esi
407b9c:	5b                   	pop    %ebx
407b9d:	c3                   	ret
407b9e:	8b c0                	mov    %eax,%eax
407ba0:	53                   	push   %ebx
407ba1:	56                   	push   %esi
407ba2:	57                   	push   %edi
407ba3:	8b fa                	mov    %edx,%edi
407ba5:	8b f0                	mov    %eax,%esi
407ba7:	8b c6                	mov    %esi,%eax
407ba9:	e8 aa c6 ff ff       	call   0x404258
407bae:	8b d8                	mov    %eax,%ebx
407bb0:	8b c7                	mov    %edi,%eax
407bb2:	8b d3                	mov    %ebx,%edx
407bb4:	e8 2b ca ff ff       	call   0x4045e4
407bb9:	8b d6                	mov    %esi,%edx
407bbb:	8b 37                	mov    (%edi),%esi
407bbd:	85 db                	test   %ebx,%ebx
407bbf:	74 15                	je     0x407bd6
407bc1:	8a 02                	mov    (%edx),%al
407bc3:	3c 41                	cmp    $0x41,%al
407bc5:	72 06                	jb     0x407bcd
407bc7:	3c 5a                	cmp    $0x5a,%al
407bc9:	77 02                	ja     0x407bcd
407bcb:	04 20                	add    $0x20,%al
407bcd:	88 06                	mov    %al,(%esi)
407bcf:	42                   	inc    %edx
407bd0:	46                   	inc    %esi
407bd1:	4b                   	dec    %ebx
407bd2:	85 db                	test   %ebx,%ebx
407bd4:	75 eb                	jne    0x407bc1
407bd6:	5f                   	pop    %edi
407bd7:	5e                   	pop    %esi
407bd8:	5b                   	pop    %ebx
407bd9:	c3                   	ret
407bda:	8b c0                	mov    %eax,%eax
407bdc:	56                   	push   %esi
407bdd:	57                   	push   %edi
407bde:	89 c6                	mov    %eax,%esi
407be0:	89 d7                	mov    %edx,%edi
407be2:	09 c0                	or     %eax,%eax
407be4:	74 03                	je     0x407be9
407be6:	8b 40 fc             	mov    -0x4(%eax),%eax
407be9:	09 d2                	or     %edx,%edx
407beb:	74 03                	je     0x407bf0
407bed:	8b 52 fc             	mov    -0x4(%edx),%edx
407bf0:	89 c1                	mov    %eax,%ecx
407bf2:	39 d1                	cmp    %edx,%ecx
407bf4:	76 02                	jbe    0x407bf8
407bf6:	89 d1                	mov    %edx,%ecx
407bf8:	39 c9                	cmp    %ecx,%ecx
407bfa:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
407bfc:	74 08                	je     0x407c06
407bfe:	0f b6 46 ff          	movzbl -0x1(%esi),%eax
407c02:	0f b6 57 ff          	movzbl -0x1(%edi),%edx
407c06:	29 d0                	sub    %edx,%eax
407c08:	5f                   	pop    %edi
407c09:	5e                   	pop    %esi
407c0a:	c3                   	ret
407c0b:	90                   	nop
407c0c:	56                   	push   %esi
407c0d:	57                   	push   %edi
407c0e:	89 c6                	mov    %eax,%esi
407c10:	89 d7                	mov    %edx,%edi
407c12:	89 ca                	mov    %ecx,%edx
407c14:	31 c0                	xor    %eax,%eax
407c16:	83 e2 03             	and    $0x3,%edx
407c19:	c1 f9 02             	sar    $0x2,%ecx
407c1c:	78 0a                	js     0x407c28
407c1e:	f3 a7                	repz cmpsl %es:(%edi),%ds:(%esi)
407c20:	75 07                	jne    0x407c29
407c22:	89 d1                	mov    %edx,%ecx
407c24:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
407c26:	75 01                	jne    0x407c29
407c28:	40                   	inc    %eax
407c29:	5f                   	pop    %edi
407c2a:	5e                   	pop    %esi
407c2b:	c3                   	ret
407c2c:	56                   	push   %esi
407c2d:	57                   	push   %edi
407c2e:	53                   	push   %ebx
407c2f:	89 c6                	mov    %eax,%esi
407c31:	89 d7                	mov    %edx,%edi
407c33:	09 c0                	or     %eax,%eax
407c35:	74 03                	je     0x407c3a
407c37:	8b 40 fc             	mov    -0x4(%eax),%eax
407c3a:	09 d2                	or     %edx,%edx
407c3c:	74 03                	je     0x407c41
407c3e:	8b 52 fc             	mov    -0x4(%edx),%edx
407c41:	89 c1                	mov    %eax,%ecx
407c43:	39 d1                	cmp    %edx,%ecx
407c45:	76 02                	jbe    0x407c49
407c47:	89 d1                	mov    %edx,%ecx
407c49:	39 c9                	cmp    %ecx,%ecx
407c4b:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
407c4d:	74 2a                	je     0x407c79
407c4f:	8a 5e ff             	mov    -0x1(%esi),%bl
407c52:	80 fb 61             	cmp    $0x61,%bl
407c55:	72 08                	jb     0x407c5f
407c57:	80 fb 7a             	cmp    $0x7a,%bl
407c5a:	77 03                	ja     0x407c5f
407c5c:	80 eb 20             	sub    $0x20,%bl
407c5f:	8a 7f ff             	mov    -0x1(%edi),%bh
407c62:	80 ff 61             	cmp    $0x61,%bh
407c65:	72 08                	jb     0x407c6f
407c67:	80 ff 7a             	cmp    $0x7a,%bh
407c6a:	77 03                	ja     0x407c6f
407c6c:	80 ef 20             	sub    $0x20,%bh
407c6f:	38 fb                	cmp    %bh,%bl
407c71:	74 d8                	je     0x407c4b
407c73:	0f b6 c3             	movzbl %bl,%eax
407c76:	0f b6 d7             	movzbl %bh,%edx
407c79:	29 d0                	sub    %edx,%eax
407c7b:	5b                   	pop    %ebx
407c7c:	5f                   	pop    %edi
407c7d:	5e                   	pop    %esi
407c7e:	c3                   	ret
407c7f:	90                   	nop
407c80:	39 d0                	cmp    %edx,%eax
407c82:	74 19                	je     0x407c9d
407c84:	09 c0                	or     %eax,%eax
407c86:	74 17                	je     0x407c9f
407c88:	09 d2                	or     %edx,%edx
407c8a:	74 14                	je     0x407ca0
407c8c:	8b 48 fc             	mov    -0x4(%eax),%ecx
407c8f:	3b 4a fc             	cmp    -0x4(%edx),%ecx
407c92:	75 0c                	jne    0x407ca0
407c94:	e8 93 ff ff ff       	call   0x407c2c
407c99:	85 c0                	test   %eax,%eax
407c9b:	75 03                	jne    0x407ca0
407c9d:	b0 01                	mov    $0x1,%al
407c9f:	c3                   	ret
407ca0:	31 c0                	xor    %eax,%eax
407ca2:	c3                   	ret
407ca3:	90                   	nop
407ca4:	53                   	push   %ebx
407ca5:	56                   	push   %esi
407ca6:	57                   	push   %edi
407ca7:	8b fa                	mov    %edx,%edi
407ca9:	8b f0                	mov    %eax,%esi
407cab:	8b c6                	mov    %esi,%eax
407cad:	e8 a6 c5 ff ff       	call   0x404258
407cb2:	8b d8                	mov    %eax,%ebx
407cb4:	8b c6                	mov    %esi,%eax
407cb6:	e8 9d c7 ff ff       	call   0x404458
407cbb:	8b d0                	mov    %eax,%edx
407cbd:	8b c7                	mov    %edi,%eax
407cbf:	8b cb                	mov    %ebx,%ecx
407cc1:	e8 c2 c3 ff ff       	call   0x404088
407cc6:	85 db                	test   %ebx,%ebx
407cc8:	7e 09                	jle    0x407cd3
407cca:	53                   	push   %ebx
407ccb:	8b 07                	mov    (%edi),%eax
407ccd:	50                   	push   %eax
407cce:	e8 69 e7 ff ff       	call   0x40643c
407cd3:	5f                   	pop    %edi
407cd4:	5e                   	pop    %esi
407cd5:	5b                   	pop    %ebx
407cd6:	c3                   	ret
407cd7:	90                   	nop
407cd8:	53                   	push   %ebx
407cd9:	56                   	push   %esi
407cda:	8b f2                	mov    %edx,%esi
407cdc:	8b d8                	mov    %eax,%ebx
407cde:	8b c6                	mov    %esi,%eax
407ce0:	e8 73 c5 ff ff       	call   0x404258
407ce5:	50                   	push   %eax
407ce6:	8b c6                	mov    %esi,%eax
407ce8:	e8 6b c7 ff ff       	call   0x404458
407ced:	50                   	push   %eax
407cee:	8b c3                	mov    %ebx,%eax
407cf0:	e8 63 c5 ff ff       	call   0x404258
407cf5:	50                   	push   %eax
407cf6:	8b c3                	mov    %ebx,%eax
407cf8:	e8 5b c7 ff ff       	call   0x404458
407cfd:	50                   	push   %eax
407cfe:	6a 00                	push   $0x0
407d00:	68 00 04 00 00       	push   $0x400
407d05:	e8 8a e2 ff ff       	call   0x405f94
407d0a:	83 e8 02             	sub    $0x2,%eax
407d0d:	5e                   	pop    %esi
407d0e:	5b                   	pop    %ebx
407d0f:	c3                   	ret
407d10:	53                   	push   %ebx
407d11:	56                   	push   %esi
407d12:	8b f2                	mov    %edx,%esi
407d14:	8b d8                	mov    %eax,%ebx
407d16:	8b c6                	mov    %esi,%eax
407d18:	e8 3b c5 ff ff       	call   0x404258
407d1d:	50                   	push   %eax
407d1e:	8b c6                	mov    %esi,%eax
407d20:	e8 33 c7 ff ff       	call   0x404458
407d25:	50                   	push   %eax
407d26:	8b c3                	mov    %ebx,%eax
407d28:	e8 2b c5 ff ff       	call   0x404258
407d2d:	50                   	push   %eax
407d2e:	8b c3                	mov    %ebx,%eax
407d30:	e8 23 c7 ff ff       	call   0x404458
407d35:	50                   	push   %eax
407d36:	6a 01                	push   $0x1
407d38:	68 00 04 00 00       	push   $0x400
407d3d:	e8 52 e2 ff ff       	call   0x405f94
407d42:	83 e8 02             	sub    $0x2,%eax
407d45:	5e                   	pop    %esi
407d46:	5b                   	pop    %ebx
407d47:	c3                   	ret
407d48:	53                   	push   %ebx
407d49:	56                   	push   %esi
407d4a:	8b f2                	mov    %edx,%esi
407d4c:	8b d8                	mov    %eax,%ebx
407d4e:	8b d6                	mov    %esi,%edx
407d50:	8b c3                	mov    %ebx,%eax
407d52:	e8 b9 ff ff ff       	call   0x407d10
407d57:	85 c0                	test   %eax,%eax
407d59:	0f 94 c0             	sete   %al
407d5c:	5e                   	pop    %esi
407d5d:	5b                   	pop    %ebx
407d5e:	c3                   	ret
407d5f:	90                   	nop
407d60:	53                   	push   %ebx
407d61:	56                   	push   %esi
407d62:	57                   	push   %edi
407d63:	8b d9                	mov    %ecx,%ebx
407d65:	8b fa                	mov    %edx,%edi
407d67:	8b f0                	mov    %eax,%esi
407d69:	53                   	push   %ebx
407d6a:	57                   	push   %edi
407d6b:	53                   	push   %ebx
407d6c:	56                   	push   %esi
407d6d:	6a 01                	push   $0x1
407d6f:	68 00 04 00 00       	push   $0x400
407d74:	e8 1b e2 ff ff       	call   0x405f94
407d79:	83 e8 02             	sub    $0x2,%eax
407d7c:	5f                   	pop    %edi
407d7d:	5e                   	pop    %esi
407d7e:	5b                   	pop    %ebx
407d7f:	c3                   	ret
407d80:	53                   	push   %ebx
407d81:	56                   	push   %esi
407d82:	57                   	push   %edi
407d83:	55                   	push   %ebp
407d84:	8b ea                	mov    %edx,%ebp
407d86:	8b f8                	mov    %eax,%edi
407d88:	8b c7                	mov    %edi,%eax
407d8a:	e8 c9 c4 ff ff       	call   0x404258
407d8f:	8b f0                	mov    %eax,%esi
407d91:	bb 01 00 00 00       	mov    $0x1,%ebx
407d96:	eb 01                	jmp    0x407d99
407d98:	43                   	inc    %ebx