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
407d99:	3b f3                	cmp    %ebx,%esi
407d9b:	7c 07                	jl     0x407da4
407d9d:	80 7c 1f ff 20       	cmpb   $0x20,-0x1(%edi,%ebx,1)
407da2:	76 f4                	jbe    0x407d98
407da4:	3b f3                	cmp    %ebx,%esi
407da6:	7d 0a                	jge    0x407db2
407da8:	8b c5                	mov    %ebp,%eax
407daa:	e8 e9 c1 ff ff       	call   0x403f98
407daf:	eb 17                	jmp    0x407dc8
407db1:	4e                   	dec    %esi
407db2:	80 7c 37 ff 20       	cmpb   $0x20,-0x1(%edi,%esi,1)
407db7:	76 f8                	jbe    0x407db1
407db9:	55                   	push   %ebp
407dba:	8b ce                	mov    %esi,%ecx
407dbc:	2b cb                	sub    %ebx,%ecx
407dbe:	41                   	inc    %ecx
407dbf:	8b d3                	mov    %ebx,%edx
407dc1:	8b c7                	mov    %edi,%eax
407dc3:	e8 f0 c6 ff ff       	call   0x4044b8
407dc8:	5d                   	pop    %ebp
407dc9:	5f                   	pop    %edi
407dca:	5e                   	pop    %esi
407dcb:	5b                   	pop    %ebx
407dcc:	c3                   	ret
407dcd:	8d 40 00             	lea    0x0(%eax),%eax
407dd0:	53                   	push   %ebx
407dd1:	56                   	push   %esi
407dd2:	57                   	push   %edi
407dd3:	8b f0                	mov    %eax,%esi
407dd5:	33 db                	xor    %ebx,%ebx
407dd7:	8b c6                	mov    %esi,%eax
407dd9:	e8 7a c4 ff ff       	call   0x404258
407dde:	85 c0                	test   %eax,%eax
407de0:	74 4b                	je     0x407e2d
407de2:	8a 06                	mov    (%esi),%al
407de4:	04 bf                	add    $0xbf,%al
407de6:	2c 1a                	sub    $0x1a,%al
407de8:	72 0a                	jb     0x407df4
407dea:	2c 04                	sub    $0x4,%al
407dec:	74 06                	je     0x407df4
407dee:	04 fe                	add    $0xfe,%al
407df0:	2c 1a                	sub    $0x1a,%al
407df2:	73 39                	jae    0x407e2d
407df4:	8b c6                	mov    %esi,%eax
407df6:	e8 5d c4 ff ff       	call   0x404258
407dfb:	83 e8 02             	sub    $0x2,%eax
407dfe:	7c 2b                	jl     0x407e2b
407e00:	40                   	inc    %eax
407e01:	bf 02 00 00 00       	mov    $0x2,%edi
407e06:	8a 54 3e ff          	mov    -0x1(%esi,%edi,1),%dl
407e0a:	80 c2 d0             	add    $0xd0,%dl
407e0d:	80 ea 0a             	sub    $0xa,%dl
407e10:	72 15                	jb     0x407e27
407e12:	80 c2 f9             	add    $0xf9,%dl
407e15:	80 ea 1a             	sub    $0x1a,%dl
407e18:	72 0d                	jb     0x407e27
407e1a:	80 ea 04             	sub    $0x4,%dl
407e1d:	74 08                	je     0x407e27
407e1f:	80 c2 fe             	add    $0xfe,%dl
407e22:	80 ea 1a             	sub    $0x1a,%dl
407e25:	73 06                	jae    0x407e2d
407e27:	47                   	inc    %edi
407e28:	48                   	dec    %eax
407e29:	75 db                	jne    0x407e06
407e2b:	b3 01                	mov    $0x1,%bl
407e2d:	8b c3                	mov    %ebx,%eax
407e2f:	5f                   	pop    %edi
407e30:	5e                   	pop    %esi
407e31:	5b                   	pop    %ebx
407e32:	c3                   	ret
407e33:	90                   	nop
407e34:	08 c9                	or     %cl,%cl
407e36:	75 17                	jne    0x407e4f
407e38:	09 c0                	or     %eax,%eax
407e3a:	79 0e                	jns    0x407e4a
407e3c:	f7 d8                	neg    %eax
407e3e:	e8 07 00 00 00       	call   0x407e4a
407e43:	b0 2d                	mov    $0x2d,%al
407e45:	41                   	inc    %ecx
407e46:	4e                   	dec    %esi
407e47:	88 06                	mov    %al,(%esi)
407e49:	c3                   	ret
407e4a:	b9 0a 00 00 00       	mov    $0xa,%ecx
407e4f:	52                   	push   %edx
407e50:	56                   	push   %esi
407e51:	31 d2                	xor    %edx,%edx
407e53:	f7 f1                	div    %ecx
407e55:	4e                   	dec    %esi
407e56:	80 c2 30             	add    $0x30,%dl
407e59:	80 fa 3a             	cmp    $0x3a,%dl
407e5c:	72 03                	jb     0x407e61
407e5e:	80 c2 07             	add    $0x7,%dl
407e61:	88 16                	mov    %dl,(%esi)
407e63:	09 c0                	or     %eax,%eax
407e65:	75 ea                	jne    0x407e51
407e67:	59                   	pop    %ecx
407e68:	5a                   	pop    %edx
407e69:	29 f1                	sub    %esi,%ecx
407e6b:	29 ca                	sub    %ecx,%edx
407e6d:	76 10                	jbe    0x407e7f
407e6f:	01 d1                	add    %edx,%ecx
407e71:	b0 30                	mov    $0x30,%al
407e73:	29 d6                	sub    %edx,%esi
407e75:	eb 03                	jmp    0x407e7a
407e77:	88 04 32             	mov    %al,(%edx,%esi,1)
407e7a:	4a                   	dec    %edx
407e7b:	75 fa                	jne    0x407e77
407e7d:	88 06                	mov    %al,(%esi)
407e7f:	c3                   	ret
407e80:	56                   	push   %esi
407e81:	89 e6                	mov    %esp,%esi
407e83:	83 ec 10             	sub    $0x10,%esp
407e86:	31 c9                	xor    %ecx,%ecx
407e88:	52                   	push   %edx
407e89:	31 d2                	xor    %edx,%edx
407e8b:	e8 a4 ff ff ff       	call   0x407e34
407e90:	89 f2                	mov    %esi,%edx
407e92:	58                   	pop    %eax
407e93:	e8 f0 c1 ff ff       	call   0x404088
407e98:	83 c4 10             	add    $0x10,%esp
407e9b:	5e                   	pop    %esi
407e9c:	c3                   	ret
407e9d:	8d 40 00             	lea    0x0(%eax),%eax
407ea0:	08 c9                	or     %cl,%cl
407ea2:	75 30                	jne    0x407ed4
407ea4:	b9 0a 00 00 00       	mov    $0xa,%ecx
407ea9:	f7 40 04 00 00 00 80 	testl  $0x80000000,0x4(%eax)
407eb0:	74 22                	je     0x407ed4
407eb2:	ff 70 04             	push   0x4(%eax)
407eb5:	ff 30                	push   (%eax)
407eb7:	89 e0                	mov    %esp,%eax
407eb9:	f7 1c 24             	negl   (%esp)
407ebc:	83 54 24 04 00       	adcl   $0x0,0x4(%esp)
407ec1:	f7 5c 24 04          	negl   0x4(%esp)
407ec5:	e8 0a 00 00 00       	call   0x407ed4
407eca:	c6 46 ff 2d          	movb   $0x2d,-0x1(%esi)
407ece:	4e                   	dec    %esi
407ecf:	41                   	inc    %ecx
407ed0:	83 c4 08             	add    $0x8,%esp
407ed3:	c3                   	ret
407ed4:	56                   	push   %esi
407ed5:	83 ec 04             	sub    $0x4,%esp
407ed8:	d9 7c 24 02          	fnstcw 0x2(%esp)
407edc:	d9 3c 24             	fnstcw (%esp)
407edf:	66 81 0c 24 00 0f    	orw    $0xf00,(%esp)
407ee5:	d9 2c 24             	fldcw  (%esp)
407ee8:	66 89 0c 24          	mov    %cx,(%esp)
407eec:	d9 e8                	fld1
407eee:	f7 40 04 00 00 00 80 	testl  $0x80000000,0x4(%eax)
407ef5:	74 27                	je     0x407f1e
407ef7:	ff 70 04             	push   0x4(%eax)
407efa:	ff 30                	push   (%eax)
407efc:	81 64 24 04 ff ff ff 	andl   $0x7fffffff,0x4(%esp)
407f03:	7f
407f04:	68 ff ff ff 7f       	push   $0x7fffffff
407f09:	68 ff ff ff ff       	push   $0xffffffff
407f0e:	df 6c 24 08          	fildll 0x8(%esp)
407f12:	df 2c 24             	fildll (%esp)
407f15:	d8 c2                	fadd   %st(2),%st
407f17:	de c1                	faddp  %st,%st(1)
407f19:	83 c4 10             	add    $0x10,%esp
407f1c:	eb 02                	jmp    0x407f20
407f1e:	df 28                	fildll (%eax)
407f20:	df 04 24             	filds  (%esp)
407f23:	d9 c1                	fld    %st(1)
407f25:	4e                   	dec    %esi
407f26:	d9 f8                	fprem
407f28:	df 1c 24             	fistps (%esp)
407f2b:	dc f9                	fdivr  %st,%st(1)
407f2d:	8a 04 24             	mov    (%esp),%al
407f30:	04 30                	add    $0x30,%al
407f32:	3c 3a                	cmp    $0x3a,%al
407f34:	72 02                	jb     0x407f38
407f36:	04 07                	add    $0x7,%al
407f38:	88 06                	mov    %al,(%esi)