404cf8:	e8 f3 db ff ff       	call   0x4028f0
404cfd:	5d                   	pop    %ebp
404cfe:	5f                   	pop    %edi
404cff:	5e                   	pop    %esi
404d00:	5b                   	pop    %ebx
404d01:	c3                   	ret
404d02:	8b c0                	mov    %eax,%eax
404d04:	53                   	push   %ebx
404d05:	56                   	push   %esi
404d06:	57                   	push   %edi
404d07:	55                   	push   %ebp
404d08:	89 c3                	mov    %eax,%ebx
404d0a:	89 d6                	mov    %edx,%esi
404d0c:	89 cf                	mov    %ecx,%edi
404d0e:	8b 6c 24 14          	mov    0x14(%esp),%ebp
404d12:	8a 0f                	mov    (%edi),%cl
404d14:	80 f9 0a             	cmp    $0xa,%cl
404d17:	74 31                	je     0x404d4a
404d19:	80 f9 0b             	cmp    $0xb,%cl
404d1c:	74 43                	je     0x404d61
404d1e:	80 f9 0c             	cmp    $0xc,%cl
404d21:	74 52                	je     0x404d75
404d23:	80 f9 0d             	cmp    $0xd,%cl
404d26:	74 61                	je     0x404d89
404d28:	80 f9 0e             	cmp    $0xe,%cl
404d2b:	74 7d                	je     0x404daa
404d2d:	80 f9 0f             	cmp    $0xf,%cl
404d30:	0f 84 91 00 00 00    	je     0x404dc7
404d36:	80 f9 11             	cmp    $0x11,%cl
404d39:	0f 84 9c 00 00 00    	je     0x404ddb
404d3f:	b0 02                	mov    $0x2,%al
404d41:	5d                   	pop    %ebp
404d42:	5f                   	pop    %edi
404d43:	5e                   	pop    %esi
404d44:	5b                   	pop    %ebx
404d45:	e9 06 db ff ff       	jmp    0x402850
404d4a:	89 d8                	mov    %ebx,%eax
404d4c:	8b 16                	mov    (%esi),%edx
404d4e:	e8 51 f3 ff ff       	call   0x4040a4
404d53:	83 c3 04             	add    $0x4,%ebx
404d56:	83 c6 04             	add    $0x4,%esi
404d59:	4d                   	dec    %ebp
404d5a:	75 ee                	jne    0x404d4a
404d5c:	e9 8e 00 00 00       	jmp    0x404def
404d61:	89 d8                	mov    %ebx,%eax
404d63:	8b 16                	mov    (%esi),%edx
404d65:	e8 02 fa ff ff       	call   0x40476c
404d6a:	83 c3 04             	add    $0x4,%ebx
404d6d:	83 c6 04             	add    $0x4,%esi
404d70:	4d                   	dec    %ebp
404d71:	75 ee                	jne    0x404d61
404d73:	eb 7a                	jmp    0x404def
404d75:	89 d8                	mov    %ebx,%eax
404d77:	89 f2                	mov    %esi,%edx
404d79:	e8 52 fe ff ff       	call   0x404bd0
404d7e:	83 c3 10             	add    $0x10,%ebx
404d81:	83 c6 10             	add    $0x10,%esi
404d84:	4d                   	dec    %ebp
404d85:	75 ee                	jne    0x404d75
404d87:	eb 66                	jmp    0x404def
404d89:	31 c9                	xor    %ecx,%ecx
404d8b:	8a 4f 01             	mov    0x1(%edi),%cl
404d8e:	8d 7c 39 02          	lea    0x2(%ecx,%edi,1),%edi
404d92:	89 d8                	mov    %ebx,%eax
404d94:	89 f2                	mov    %esi,%edx
404d96:	8b 4f 08             	mov    0x8(%edi),%ecx
404d99:	ff 77 04             	push   0x4(%edi)
404d9c:	e8 63 ff ff ff       	call   0x404d04
404da1:	03 1f                	add    (%edi),%ebx
404da3:	03 37                	add    (%edi),%esi
404da5:	4d                   	dec    %ebp
404da6:	75 ea                	jne    0x404d92
404da8:	eb 45                	jmp    0x404def
404daa:	89 d8                	mov    %ebx,%eax
404dac:	89 f2                	mov    %esi,%edx
404dae:	89 f9                	mov    %edi,%ecx
404db0:	e8 33 fe ff ff       	call   0x404be8
404db5:	31 c0                	xor    %eax,%eax
404db7:	8a 47 01             	mov    0x1(%edi),%al
404dba:	03 5c 38 02          	add    0x2(%eax,%edi,1),%ebx
404dbe:	03 74 38 02          	add    0x2(%eax,%edi,1),%esi
404dc2:	4d                   	dec    %ebp
404dc3:	75 e5                	jne    0x404daa
404dc5:	eb 28                	jmp    0x404def
404dc7:	89 d8                	mov    %ebx,%eax
404dc9:	8b 16                	mov    (%esi),%edx
404dcb:	e8 68 0b 00 00       	call   0x405938
404dd0:	83 c3 04             	add    $0x4,%ebx
404dd3:	83 c6 04             	add    $0x4,%esi
404dd6:	4d                   	dec    %ebp
404dd7:	75 ee                	jne    0x404dc7
404dd9:	eb 14                	jmp    0x404def
404ddb:	89 d8                	mov    %ebx,%eax
404ddd:	8b 16                	mov    (%esi),%edx
404ddf:	89 f9                	mov    %edi,%ecx
404de1:	e8 96 04 00 00       	call   0x40527c
404de6:	83 c3 04             	add    $0x4,%ebx
404de9:	83 c6 04             	add    $0x4,%esi
404dec:	4d                   	dec    %ebp
404ded:	75 ec                	jne    0x404ddb
404def:	5d                   	pop    %ebp
404df0:	5f                   	pop    %edi
404df1:	5e                   	pop    %esi
404df2:	5b                   	pop    %ebx
404df3:	c2 04 00             	ret    $0x4
404df6:	c3                   	ret
404df7:	90                   	nop
404df8:	52                   	push   %edx
404df9:	e8 f6 d8 ff ff       	call   0x4026f4
404dfe:	5a                   	pop    %edx
404dff:	85 c0                	test   %eax,%eax
404e01:	74 07                	je     0x404e0a
404e03:	50                   	push   %eax
404e04:	e8 77 fc ff ff       	call   0x404a80
404e09:	58                   	pop    %eax
404e0a:	c3                   	ret
404e0b:	90                   	nop
404e0c:	50                   	push   %eax
404e0d:	e8 b2 fd ff ff       	call   0x404bc4
404e12:	58                   	pop    %eax
404e13:	e8 fc d8 ff ff       	call   0x402714
404e18:	c3                   	ret
404e19:	8d 40 00             	lea    0x0(%eax),%eax
404e1c:	b0 11                	mov    $0x11,%al
404e1e:	e9 2d da ff ff       	jmp    0x402850
404e23:	c3                   	ret
404e24:	52                   	push   %edx
404e25:	50                   	push   %eax
404e26:	8b 44 24 10          	mov    0x10(%esp),%eax
404e2a:	f7 24 24             	mull   (%esp)
404e2d:	89 c1                	mov    %eax,%ecx
404e2f:	8b 44 24 04          	mov    0x4(%esp),%eax
404e33:	f7 64 24 0c          	mull   0xc(%esp)
404e37:	01 c1                	add    %eax,%ecx
404e39:	8b 04 24             	mov    (%esp),%eax
404e3c:	f7 64 24 0c          	mull   0xc(%esp)
404e40:	01 ca                	add    %ecx,%edx
404e42:	59                   	pop    %ecx
404e43:	59                   	pop    %ecx
404e44:	c2 08 00             	ret    $0x8
404e47:	c3                   	ret
404e48:	53                   	push   %ebx
404e49:	56                   	push   %esi
404e4a:	57                   	push   %edi
404e4b:	55                   	push   %ebp
404e4c:	83 c4 ec             	add    $0xffffffec,%esp
404e4f:	89 14 24             	mov    %edx,(%esp)
404e52:	8b f0                	mov    %eax,%esi
404e54:	bd 01 00 00 00       	mov    $0x1,%ebp
404e59:	33 ff                	xor    %edi,%edi
404e5b:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
404e62:	00
404e63:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
404e6a:	00
404e6b:	85 f6                	test   %esi,%esi
404e6d:	75 0b                	jne    0x404e7a
404e6f:	8b 04 24             	mov    (%esp),%eax
404e72:	89 28                	mov    %ebp,(%eax)
404e74:	e9 ee 01 00 00       	jmp    0x405067
404e79:	45                   	inc    %ebp
404e7a:	80 7c 2e ff 20       	cmpb   $0x20,-0x1(%esi,%ebp,1)
404e7f:	74 f8                	je     0x404e79
404e81:	c6 44 24 10 00       	movb   $0x0,0x10(%esp)
404e86:	8a 44 2e ff          	mov    -0x1(%esi,%ebp,1),%al
404e8a:	3c 2d                	cmp    $0x2d,%al
404e8c:	75 08                	jne    0x404e96
404e8e:	c6 44 24 10 01       	movb   $0x1,0x10(%esp)
404e93:	45                   	inc    %ebp
404e94:	eb 05                	jmp    0x404e9b
404e96:	3c 2b                	cmp    $0x2b,%al
404e98:	75 01                	jne    0x404e9b
404e9a:	45                   	inc    %ebp
404e9b:	b3 01                	mov    $0x1,%bl
404e9d:	80 7c 2e ff 24       	cmpb   $0x24,-0x1(%esi,%ebp,1)
404ea2:	74 28                	je     0x404ecc
404ea4:	8a 44 2e ff          	mov    -0x1(%esi,%ebp,1),%al
404ea8:	e8 cf db ff ff       	call   0x402a7c
404ead:	3c 58                	cmp    $0x58,%al
404eaf:	74 1b                	je     0x404ecc
404eb1:	80 7c 2e ff 30       	cmpb   $0x30,-0x1(%esi,%ebp,1)
404eb6:	0f 85 da 00 00 00    	jne    0x404f96
404ebc:	8a 04 2e             	mov    (%esi,%ebp,1),%al
404ebf:	e8 b8 db ff ff       	call   0x402a7c
404ec4:	3c 58                	cmp    $0x58,%al
404ec6:	0f 85 ca 00 00 00    	jne    0x404f96
404ecc:	80 7c 2e ff 30       	cmpb   $0x30,-0x1(%esi,%ebp,1)
404ed1:	75 01                	jne    0x404ed4
404ed3:	45                   	inc    %ebp
404ed4:	45                   	inc    %ebp
404ed5:	8a 44 2e ff          	mov    -0x1(%esi,%ebp,1),%al
404ed9:	8b d0                	mov    %eax,%edx
404edb:	80 c2 d0             	add    $0xd0,%dl
404ede:	80 ea 0a             	sub    $0xa,%dl
404ee1:	72 12                	jb     0x404ef5
404ee3:	80 c2 f9             	add    $0xf9,%dl
404ee6:	80 ea 06             	sub    $0x6,%dl
404ee9:	72 17                	jb     0x404f02
404eeb:	80 c2 e6             	add    $0xe6,%dl
404eee:	80 ea 06             	sub    $0x6,%dl
404ef1:	72 1c                	jb     0x404f0f
404ef3:	eb 7a                	jmp    0x404f6f
404ef5:	8b f8                	mov    %eax,%edi
404ef7:	81 e7 ff 00 00 00    	and    $0xff,%edi
404efd:	83 ef 30             	sub    $0x30,%edi
404f00:	eb 18                	jmp    0x404f1a
404f02:	8b f8                	mov    %eax,%edi
404f04:	81 e7 ff 00 00 00    	and    $0xff,%edi
404f0a:	83 ef 37             	sub    $0x37,%edi
404f0d:	eb 0b                	jmp    0x404f1a
404f0f:	8b f8                	mov    %eax,%edi
404f11:	81 e7 ff 00 00 00    	and    $0xff,%edi
404f17:	83 ef 57             	sub    $0x57,%edi
404f1a:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
404f1f:	75 09                	jne    0x404f2a
404f21:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
404f26:	72 47                	jb     0x404f6f
404f28:	eb 02                	jmp    0x404f2c
404f2a:	7c 43                	jl     0x404f6f
404f2c:	81 7c 24 0c ff ff ff 	cmpl   $0xfffffff,0xc(%esp)
404f33:	0f
404f34:	75 09                	jne    0x404f3f
404f36:	83 7c 24 08 ff       	cmpl   $0xffffffff,0x8(%esp)
404f3b:	76 04                	jbe    0x404f41
404f3d:	eb 30                	jmp    0x404f6f
404f3f:	7f 2e                	jg     0x404f6f
404f41:	8b c7                	mov    %edi,%eax
404f43:	99                   	cltd
404f44:	52                   	push   %edx
404f45:	50                   	push   %eax
404f46:	8b 44 24 10          	mov    0x10(%esp),%eax
404f4a:	8b 54 24 14          	mov    0x14(%esp),%edx
404f4e:	0f a4 c2 04          	shld   $0x4,%eax,%edx
404f52:	c1 e0 04             	shl    $0x4,%eax
404f55:	03 04 24             	add    (%esp),%eax
404f58:	13 54 24 04          	adc    0x4(%esp),%edx
404f5c:	83 c4 08             	add    $0x8,%esp
404f5f:	89 44 24 08          	mov    %eax,0x8(%esp)
404f63:	89 54 24 0c          	mov    %edx,0xc(%esp)
404f67:	45                   	inc    %ebp
404f68:	33 db                	xor    %ebx,%ebx
404f6a:	e9 66 ff ff ff       	jmp    0x404ed5
404f6f:	80 7c 24 10 00       	cmpb   $0x0,0x10(%esp)
404f74:	0f 84 d3 00 00 00    	je     0x40504d
404f7a:	8b 44 24 08          	mov    0x8(%esp),%eax
404f7e:	8b 54 24 0c          	mov    0xc(%esp),%edx
404f82:	f7 d8                	neg    %eax
404f84:	83 d2 00             	adc    $0x0,%edx
404f87:	f7 da                	neg    %edx
404f89:	89 44 24 08          	mov    %eax,0x8(%esp)
404f8d:	89 54 24 0c          	mov    %edx,0xc(%esp)
404f91:	e9 b7 00 00 00       	jmp    0x40504d
404f96:	8a 44 2e ff          	mov    -0x1(%esi,%ebp,1),%al
404f9a:	8b d0                	mov    %eax,%edx
404f9c:	80 c2 d0             	add    $0xd0,%dl
404f9f:	80 ea 0a             	sub    $0xa,%dl
404fa2:	73 62                	jae    0x405006
404fa4:	8b f8                	mov    %eax,%edi
404fa6:	81 e7 ff 00 00 00    	and    $0xff,%edi
404fac:	83 ef 30             	sub    $0x30,%edi
404faf:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
404fb4:	75 09                	jne    0x404fbf
404fb6:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
404fbb:	72 49                	jb     0x405006
404fbd:	eb 02                	jmp    0x404fc1
404fbf:	7c 45                	jl     0x405006
404fc1:	81 7c 24 0c cc cc cc 	cmpl   $0xccccccc,0xc(%esp)
404fc8:	0c
404fc9:	75 0c                	jne    0x404fd7
404fcb:	81 7c 24 08 cc cc cc 	cmpl   $0xcccccccc,0x8(%esp)
404fd2:	cc
404fd3:	76 04                	jbe    0x404fd9
404fd5:	eb 2f                	jmp    0x405006
404fd7:	7f 2d                	jg     0x405006
404fd9:	6a 00                	push   $0x0
404fdb:	6a 0a                	push   $0xa
404fdd:	8b 44 24 10          	mov    0x10(%esp),%eax
404fe1:	8b 54 24 14          	mov    0x14(%esp),%edx
404fe5:	e8 3a fe ff ff       	call   0x404e24
404fea:	52                   	push   %edx
404feb:	50                   	push   %eax
404fec:	8b c7                	mov    %edi,%eax
404fee:	99                   	cltd
404fef:	03 04 24             	add    (%esp),%eax
404ff2:	13 54 24 04          	adc    0x4(%esp),%edx
404ff6:	83 c4 08             	add    $0x8,%esp
404ff9:	89 44 24 08          	mov    %eax,0x8(%esp)
404ffd:	89 54 24 0c          	mov    %edx,0xc(%esp)
405001:	45                   	inc    %ebp
405002:	33 db                	xor    %ebx,%ebx
405004:	eb 90                	jmp    0x404f96
405006:	80 7c 24 10 00       	cmpb   $0x0,0x10(%esp)
40500b:	74 17                	je     0x405024
40500d:	8b 44 24 08          	mov    0x8(%esp),%eax
405011:	8b 54 24 0c          	mov    0xc(%esp),%edx
405015:	f7 d8                	neg    %eax
405017:	83 d2 00             	adc    $0x0,%edx
40501a:	f7 da                	neg    %edx
40501c:	89 44 24 08          	mov    %eax,0x8(%esp)
405020:	89 54 24 0c          	mov    %edx,0xc(%esp)
405024:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
405029:	75 05                	jne    0x405030
40502b:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
405030:	74 1b                	je     0x40504d
405032:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
405037:	75 0a                	jne    0x405043
405039:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
40503e:	0f 92 c0             	setb   %al
405041:	eb 03                	jmp    0x405046
405043:	0f 9c c0             	setl   %al
405046:	3a 44 24 10          	cmp    0x10(%esp),%al
40504a:	74 01                	je     0x40504d
40504c:	4d                   	dec    %ebp
40504d:	80 7c 2e ff 00       	cmpb   $0x0,-0x1(%esi,%ebp,1)
405052:	0f 95 c0             	setne  %al
405055:	0a d8                	or     %al,%bl
405057:	74 07                	je     0x405060
405059:	8b 04 24             	mov    (%esp),%eax
40505c:	89 28                	mov    %ebp,(%eax)
40505e:	eb 07                	jmp    0x405067
405060:	8b 04 24             	mov    (%esp),%eax
405063:	33 d2                	xor    %edx,%edx
405065:	89 10                	mov    %edx,(%eax)
405067:	8b 44 24 08          	mov    0x8(%esp),%eax
40506b:	8b 54 24 0c          	mov    0xc(%esp),%edx
40506f:	83 c4 14             	add    $0x14,%esp
405072:	5d                   	pop    %ebp
405073:	5f                   	pop    %edi
405074:	5e                   	pop    %esi
405075:	5b                   	pop    %ebx
405076:	c3                   	ret
405077:	90                   	nop
405078:	85 c0                	test   %eax,%eax
40507a:	74 03                	je     0x40507f
40507c:	8b 40 fc             	mov    -0x4(%eax),%eax
40507f:	c3                   	ret
405080:	e8 f3 ff ff ff       	call   0x405078
405085:	48                   	dec    %eax
405086:	c3                   	ret
405087:	90                   	nop
405088:	55                   	push   %ebp
405089:	8b ec                	mov    %esp,%ebp
40508b:	ff 75 08             	push   0x8(%ebp)
40508e:	e8 71 fc ff ff       	call   0x404d04
405093:	5d                   	pop    %ebp
405094:	c2 04 00             	ret    $0x4
405097:	90                   	nop
405098:	e9 3b fa ff ff       	jmp    0x404ad8
40509d:	c3                   	ret
40509e:	8b c0                	mov    %eax,%eax
4050a0:	e8 9b 01 00 00       	call   0x405240