415be6:	8b c3                	mov    %ebx,%eax
415be8:	6a 20                	push   $0x20
415bea:	89 5d e0             	mov    %ebx,-0x20(%ebp)
415bed:	8b 5d dc             	mov    -0x24(%ebp),%ebx
415bf0:	59                   	pop    %ecx
415bf1:	2b cb                	sub    %ebx,%ecx
415bf3:	f7 d7                	not    %edi
415bf5:	89 45 cc             	mov    %eax,-0x34(%ebp)
415bf8:	89 4d dc             	mov    %ecx,-0x24(%ebp)
415bfb:	8b 54 85 f0          	mov    -0x10(%ebp,%eax,4),%edx
415bff:	8b c2                	mov    %edx,%eax
415c01:	8b cb                	mov    %ebx,%ecx
415c03:	d3 ea                	shr    %cl,%edx
415c05:	8b 4d cc             	mov    -0x34(%ebp),%ecx
415c08:	23 c7                	and    %edi,%eax
415c0a:	0b 55 e0             	or     -0x20(%ebp),%edx
415c0d:	89 54 8d f0          	mov    %edx,-0x10(%ebp,%ecx,4)
415c11:	8b 4d dc             	mov    -0x24(%ebp),%ecx
415c14:	d3 e0                	shl    %cl,%eax
415c16:	89 45 e0             	mov    %eax,-0x20(%ebp)
415c19:	8b 45 cc             	mov    -0x34(%ebp),%eax
415c1c:	40                   	inc    %eax
415c1d:	89 45 cc             	mov    %eax,-0x34(%ebp)
415c20:	3b c6                	cmp    %esi,%eax
415c22:	7c d7                	jl     0x415bfb
415c24:	8b 75 d8             	mov    -0x28(%ebp),%esi
415c27:	8b c6                	mov    %esi,%eax
415c29:	c1 e0 02             	shl    $0x2,%eax
415c2c:	8d 55 f8             	lea    -0x8(%ebp),%edx
415c2f:	6a 02                	push   $0x2
415c31:	2b d0                	sub    %eax,%edx
415c33:	59                   	pop    %ecx
415c34:	33 db                	xor    %ebx,%ebx
415c36:	3b ce                	cmp    %esi,%ecx
415c38:	7c 08                	jl     0x415c42
415c3a:	8b 02                	mov    (%edx),%eax
415c3c:	89 44 8d f0          	mov    %eax,-0x10(%ebp,%ecx,4)
415c40:	eb 04                	jmp    0x415c46
415c42:	89 5c 8d f0          	mov    %ebx,-0x10(%ebp,%ecx,4)
415c46:	83 ea 04             	sub    $0x4,%edx
415c49:	49                   	dec    %ecx
415c4a:	79 ea                	jns    0x415c36
415c4c:	e9 d8 fd ff ff       	jmp    0x415a29
415c51:	3b 0d 24 14 42 00    	cmp    0x421424,%ecx
415c57:	0f 8c a2 00 00 00    	jl     0x415cff
415c5d:	8b 0d 30 14 42 00    	mov    0x421430,%ecx
415c63:	33 c0                	xor    %eax,%eax
415c65:	8d 7d f0             	lea    -0x10(%ebp),%edi
415c68:	ab                   	stos   %eax,%es:(%edi)
415c69:	ab                   	stos   %eax,%es:(%edi)
415c6a:	ab                   	stos   %eax,%es:(%edi)
415c6b:	81 4d f0 00 00 00 80 	orl    $0x80000000,-0x10(%ebp)
415c72:	8b c1                	mov    %ecx,%eax
415c74:	99                   	cltd
415c75:	83 e2 1f             	and    $0x1f,%edx
415c78:	03 c2                	add    %edx,%eax
415c7a:	c1 f8 05             	sar    $0x5,%eax
415c7d:	89 45 cc             	mov    %eax,-0x34(%ebp)
415c80:	81 e1 1f 00 00 80    	and    $0x8000001f,%ecx
415c86:	79 05                	jns    0x415c8d
415c88:	49                   	dec    %ecx
415c89:	83 c9 e0             	or     $0xffffffe0,%ecx
415c8c:	41                   	inc    %ecx
415c8d:	83 cf ff             	or     $0xffffffff,%edi
415c90:	d3 e7                	shl    %cl,%edi
415c92:	6a 20                	push   $0x20
415c94:	58                   	pop    %eax
415c95:	2b c1                	sub    %ecx,%eax
415c97:	89 4d c8             	mov    %ecx,-0x38(%ebp)
415c9a:	f7 d7                	not    %edi
415c9c:	89 5d e0             	mov    %ebx,-0x20(%ebp)
415c9f:	89 45 d8             	mov    %eax,-0x28(%ebp)
415ca2:	8b 54 9d f0          	mov    -0x10(%ebp,%ebx,4),%edx
415ca6:	8b c2                	mov    %edx,%eax
415ca8:	d3 ea                	shr    %cl,%edx
415caa:	8b 4d d8             	mov    -0x28(%ebp),%ecx
415cad:	23 c7                	and    %edi,%eax
415caf:	d3 e0                	shl    %cl,%eax
415cb1:	0b 55 e0             	or     -0x20(%ebp),%edx
415cb4:	8b 4d c8             	mov    -0x38(%ebp),%ecx
415cb7:	89 54 9d f0          	mov    %edx,-0x10(%ebp,%ebx,4)
415cbb:	43                   	inc    %ebx
415cbc:	89 45 e0             	mov    %eax,-0x20(%ebp)
415cbf:	3b de                	cmp    %esi,%ebx
415cc1:	7c df                	jl     0x415ca2
415cc3:	8b 75 cc             	mov    -0x34(%ebp),%esi
415cc6:	8b c6                	mov    %esi,%eax
415cc8:	c1 e0 02             	shl    $0x2,%eax
415ccb:	8d 55 f8             	lea    -0x8(%ebp),%edx
415cce:	6a 02                	push   $0x2
415cd0:	2b d0                	sub    %eax,%edx
415cd2:	59                   	pop    %ecx
415cd3:	33 db                	xor    %ebx,%ebx
415cd5:	3b ce                	cmp    %esi,%ecx
415cd7:	7c 08                	jl     0x415ce1
415cd9:	8b 02                	mov    (%edx),%eax
415cdb:	89 44 8d f0          	mov    %eax,-0x10(%ebp,%ecx,4)
415cdf:	eb 04                	jmp    0x415ce5
415ce1:	89 5c 8d f0          	mov    %ebx,-0x10(%ebp,%ecx,4)
415ce5:	83 ea 04             	sub    $0x4,%edx
415ce8:	49                   	dec    %ecx
415ce9:	79 ea                	jns    0x415cd5
415ceb:	8b 35 38 14 42 00    	mov    0x421438,%esi
415cf1:	03 35 24 14 42 00    	add    0x421424,%esi
415cf7:	33 db                	xor    %ebx,%ebx
415cf9:	43                   	inc    %ebx
415cfa:	e9 95 00 00 00       	jmp    0x415d94
415cff:	8b 35 38 14 42 00    	mov    0x421438,%esi
415d05:	81 65 f0 ff ff ff 7f 	andl   $0x7fffffff,-0x10(%ebp)
415d0c:	03 f1                	add    %ecx,%esi
415d0e:	8b 0d 30 14 42 00    	mov    0x421430,%ecx
415d14:	8b c1                	mov    %ecx,%eax
415d16:	99                   	cltd
415d17:	83 e2 1f             	and    $0x1f,%edx
415d1a:	03 c2                	add    %edx,%eax
415d1c:	c1 f8 05             	sar    $0x5,%eax
415d1f:	89 75 c8             	mov    %esi,-0x38(%ebp)
415d22:	89 45 d8             	mov    %eax,-0x28(%ebp)
415d25:	81 e1 1f 00 00 80    	and    $0x8000001f,%ecx
415d2b:	79 05                	jns    0x415d32
415d2d:	49                   	dec    %ecx
415d2e:	83 c9 e0             	or     $0xffffffe0,%ecx
415d31:	41                   	inc    %ecx
415d32:	d3 e7                	shl    %cl,%edi
415d34:	6a 20                	push   $0x20
415d36:	89 5d e0             	mov    %ebx,-0x20(%ebp)
415d39:	8b f3                	mov    %ebx,%esi
415d3b:	58                   	pop    %eax
415d3c:	8b d9                	mov    %ecx,%ebx
415d3e:	2b c3                	sub    %ebx,%eax
415d40:	89 4d dc             	mov    %ecx,-0x24(%ebp)
415d43:	f7 d7                	not    %edi
415d45:	89 45 dc             	mov    %eax,-0x24(%ebp)
415d48:	8b 54 b5 f0          	mov    -0x10(%ebp,%esi,4),%edx
415d4c:	8b c2                	mov    %edx,%eax
415d4e:	8b cb                	mov    %ebx,%ecx
415d50:	d3 ea                	shr    %cl,%edx
415d52:	8b 4d dc             	mov    -0x24(%ebp),%ecx
415d55:	23 c7                	and    %edi,%eax
415d57:	d3 e0                	shl    %cl,%eax
415d59:	0b 55 e0             	or     -0x20(%ebp),%edx
415d5c:	46                   	inc    %esi
415d5d:	89 54 b5 ec          	mov    %edx,-0x14(%ebp,%esi,4)
415d61:	89 45 e0             	mov    %eax,-0x20(%ebp)
415d64:	83 fe 03             	cmp    $0x3,%esi
415d67:	7c df                	jl     0x415d48
415d69:	8b 7d d8             	mov    -0x28(%ebp),%edi
415d6c:	8b 75 c8             	mov    -0x38(%ebp),%esi
415d6f:	8b c7                	mov    %edi,%eax
415d71:	c1 e0 02             	shl    $0x2,%eax
415d74:	8d 55 f8             	lea    -0x8(%ebp),%edx
415d77:	6a 02                	push   $0x2
415d79:	2b d0                	sub    %eax,%edx
415d7b:	59                   	pop    %ecx
415d7c:	33 db                	xor    %ebx,%ebx
415d7e:	3b cf                	cmp    %edi,%ecx
415d80:	7c 08                	jl     0x415d8a
415d82:	8b 02                	mov    (%edx),%eax
415d84:	89 44 8d f0          	mov    %eax,-0x10(%ebp,%ecx,4)
415d88:	eb 04                	jmp    0x415d8e
415d8a:	89 5c 8d f0          	mov    %ebx,-0x10(%ebp,%ecx,4)
415d8e:	83 ea 04             	sub    $0x4,%edx
415d91:	49                   	dec    %ecx
415d92:	79 ea                	jns    0x415d7e
415d94:	8b 7d c0             	mov    -0x40(%ebp),%edi
415d97:	6a 1f                	push   $0x1f
415d99:	58                   	pop    %eax
415d9a:	2b 05 30 14 42 00    	sub    0x421430,%eax
415da0:	8b c8                	mov    %eax,%ecx
415da2:	8b 45 bc             	mov    -0x44(%ebp),%eax
415da5:	d3 e6                	shl    %cl,%esi
415da7:	f7 d8                	neg    %eax
415da9:	1b c0                	sbb    %eax,%eax
415dab:	25 00 00 00 80       	and    $0x80000000,%eax
415db0:	0b f0                	or     %eax,%esi
415db2:	a1 34 14 42 00       	mov    0x421434,%eax
415db7:	0b 75 f0             	or     -0x10(%ebp),%esi
415dba:	83 f8 40             	cmp    $0x40,%eax
415dbd:	75 0a                	jne    0x415dc9
415dbf:	8b 45 f4             	mov    -0xc(%ebp),%eax
415dc2:	89 77 04             	mov    %esi,0x4(%edi)
415dc5:	89 07                	mov    %eax,(%edi)
415dc7:	eb 07                	jmp    0x415dd0
415dc9:	83 f8 20             	cmp    $0x20,%eax
415dcc:	75 02                	jne    0x415dd0
415dce:	89 37                	mov    %esi,(%edi)
415dd0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
415dd3:	5f                   	pop    %edi
415dd4:	5e                   	pop    %esi
415dd5:	8b c3                	mov    %ebx,%eax
415dd7:	33 cd                	xor    %ebp,%ecx
415dd9:	5b                   	pop    %ebx
415dda:	e8 5a e9 fe ff       	call   0x404739
415ddf:	c9                   	leave
415de0:	c3                   	ret
415de1:	55                   	push   %ebp
415de2:	8b ec                	mov    %esp,%ebp
415de4:	83 ec 7c             	sub    $0x7c,%esp
415de7:	a1 90 08 42 00       	mov    0x420890,%eax
415dec:	33 c5                	xor    %ebp,%eax
415dee:	89 45 fc             	mov    %eax,-0x4(%ebp)
415df1:	8b 45 08             	mov    0x8(%ebp),%eax
415df4:	89 45 8c             	mov    %eax,-0x74(%ebp)
415df7:	8b 45 0c             	mov    0xc(%ebp),%eax
415dfa:	89 45 98             	mov    %eax,-0x68(%ebp)
415dfd:	33 c0                	xor    %eax,%eax
415dff:	53                   	push   %ebx
415e00:	33 db                	xor    %ebx,%ebx
415e02:	40                   	inc    %eax
415e03:	56                   	push   %esi
415e04:	89 45 a0             	mov    %eax,-0x60(%ebp)
415e07:	8b c3                	mov    %ebx,%eax
415e09:	57                   	push   %edi
415e0a:	8d 7d e0             	lea    -0x20(%ebp),%edi
415e0d:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
415e10:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
415e13:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
415e16:	89 5d a8             	mov    %ebx,-0x58(%ebp)
415e19:	89 5d a4             	mov    %ebx,-0x5c(%ebp)
415e1c:	8b f3                	mov    %ebx,%esi
415e1e:	89 5d ac             	mov    %ebx,-0x54(%ebp)
415e21:	39 45 24             	cmp    %eax,0x24(%ebp)
415e24:	75 17                	jne    0x415e3d
415e26:	e8 52 23 ff ff       	call   0x40817d
415e2b:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
415e31:	e8 bf 57 ff ff       	call   0x40b5f5
415e36:	33 c0                	xor    %eax,%eax
415e38:	e9 e0 06 00 00       	jmp    0x41651d
415e3d:	8b 4d 10             	mov    0x10(%ebp),%ecx
415e40:	8b d1                	mov    %ecx,%edx
415e42:	89 55 b0             	mov    %edx,-0x50(%ebp)
415e45:	8a 11                	mov    (%ecx),%dl
415e47:	80 fa 20             	cmp    $0x20,%dl
415e4a:	74 0f                	je     0x415e5b
415e4c:	80 fa 09             	cmp    $0x9,%dl
415e4f:	74 0a                	je     0x415e5b
415e51:	80 fa 0a             	cmp    $0xa,%dl
415e54:	74 05                	je     0x415e5b
415e56:	80 fa 0d             	cmp    $0xd,%dl
415e59:	75 03                	jne    0x415e5e
415e5b:	41                   	inc    %ecx
415e5c:	eb e7                	jmp    0x415e45
415e5e:	8a 11                	mov    (%ecx),%dl
415e60:	41                   	inc    %ecx
415e61:	83 f8 0b             	cmp    $0xb,%eax
415e64:	0f 87 7b 02 00 00    	ja     0x4160e5
415e6a:	ff 24 85 2d 65 41 00 	jmp    *0x41652d(,%eax,4)
415e71:	8d 42 cf             	lea    -0x31(%edx),%eax
415e74:	3c 08                	cmp    $0x8,%al
415e76:	77 06                	ja     0x415e7e
415e78:	6a 03                	push   $0x3
415e7a:	58                   	pop    %eax
415e7b:	49                   	dec    %ecx
415e7c:	eb e0                	jmp    0x415e5e
415e7e:	8b 45 24             	mov    0x24(%ebp),%eax
415e81:	8b 00                	mov    (%eax),%eax
415e83:	8b 80 84 00 00 00    	mov    0x84(%eax),%eax
415e89:	8b 00                	mov    (%eax),%eax
415e8b:	3a 10                	cmp    (%eax),%dl
415e8d:	75 05                	jne    0x415e94
415e8f:	6a 05                	push   $0x5
415e91:	58                   	pop    %eax
415e92:	eb ca                	jmp    0x415e5e
415e94:	0f be c2             	movsbl %dl,%eax
415e97:	83 e8 2b             	sub    $0x2b,%eax
415e9a:	74 1f                	je     0x415ebb
415e9c:	48                   	dec    %eax
415e9d:	48                   	dec    %eax
415e9e:	74 0e                	je     0x415eae
415ea0:	83 e8 03             	sub    $0x3,%eax
415ea3:	0f 85 87 02 00 00    	jne    0x416130
415ea9:	33 c0                	xor    %eax,%eax
415eab:	40                   	inc    %eax
415eac:	eb b0                	jmp    0x415e5e
415eae:	6a 02                	push   $0x2
415eb0:	ba 00 80 00 00       	mov    $0x8000,%edx
415eb5:	58                   	pop    %eax
415eb6:	89 55 94             	mov    %edx,-0x6c(%ebp)
415eb9:	eb a3                	jmp    0x415e5e
415ebb:	6a 02                	push   $0x2
415ebd:	58                   	pop    %eax
415ebe:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
415ec1:	eb 9b                	jmp    0x415e5e
415ec3:	33 c0                	xor    %eax,%eax
415ec5:	40                   	inc    %eax
415ec6:	89 45 9c             	mov    %eax,-0x64(%ebp)
415ec9:	8d 42 cf             	lea    -0x31(%edx),%eax
415ecc:	3c 08                	cmp    $0x8,%al
415ece:	76 a8                	jbe    0x415e78
415ed0:	8b 45 24             	mov    0x24(%ebp),%eax
415ed3:	8b 00                	mov    (%eax),%eax
415ed5:	8b 80 84 00 00 00    	mov    0x84(%eax),%eax
415edb:	8b 00                	mov    (%eax),%eax
415edd:	3a 10                	cmp    (%eax),%dl
415edf:	75 04                	jne    0x415ee5
415ee1:	6a 04                	push   $0x4
415ee3:	eb ac                	jmp    0x415e91
415ee5:	80 fa 2b             	cmp    $0x2b,%dl
415ee8:	74 2b                	je     0x415f15
415eea:	80 fa 2d             	cmp    $0x2d,%dl
415eed:	74 26                	je     0x415f15
415eef:	80 fa 30             	cmp    $0x30,%dl
415ef2:	74 b5                	je     0x415ea9
415ef4:	80 fa 43             	cmp    $0x43,%dl
415ef7:	0f 8e 33 02 00 00    	jle    0x416130
415efd:	80 fa 45             	cmp    $0x45,%dl
415f00:	7e 0c                	jle    0x415f0e
415f02:	80 ea 64             	sub    $0x64,%dl
415f05:	80 fa 01             	cmp    $0x1,%dl
415f08:	0f 87 22 02 00 00    	ja     0x416130
415f0e:	6a 06                	push   $0x6
415f10:	e9 7c ff ff ff       	jmp    0x415e91
415f15:	49                   	dec    %ecx
415f16:	6a 0b                	push   $0xb
415f18:	e9 74 ff ff ff       	jmp    0x415e91
415f1d:	8d 42 cf             	lea    -0x31(%edx),%eax
415f20:	3c 08                	cmp    $0x8,%al
415f22:	0f 86 50 ff ff ff    	jbe    0x415e78
415f28:	8b 45 24             	mov    0x24(%ebp),%eax
415f2b:	8b 00                	mov    (%eax),%eax
415f2d:	8b 80 84 00 00 00    	mov    0x84(%eax),%eax
415f33:	8b 00                	mov    (%eax),%eax
415f35:	3a 10                	cmp    (%eax),%dl
415f37:	0f 84 52 ff ff ff    	je     0x415e8f
415f3d:	80 fa 30             	cmp    $0x30,%dl
415f40:	0f 84 63 ff ff ff    	je     0x415ea9
415f46:	8b 4d b0             	mov    -0x50(%ebp),%ecx
415f49:	e9 e3 01 00 00       	jmp    0x416131
415f4e:	33 c0                	xor    %eax,%eax
415f50:	40                   	inc    %eax
415f51:	89 45 9c             	mov    %eax,-0x64(%ebp)
415f54:	80 fa 30             	cmp    $0x30,%dl
415f57:	7c 2a                	jl     0x415f83
415f59:	8b 45 b4             	mov    -0x4c(%ebp),%eax
415f5c:	8b 75 ac             	mov    -0x54(%ebp),%esi
415f5f:	80 fa 39             	cmp    $0x39,%dl
415f62:	7f 17                	jg     0x415f7b
415f64:	83 f8 19             	cmp    $0x19,%eax
415f67:	73 09                	jae    0x415f72
415f69:	80 ea 30             	sub    $0x30,%dl
415f6c:	40                   	inc    %eax
415f6d:	88 17                	mov    %dl,(%edi)
415f6f:	47                   	inc    %edi
415f70:	eb 01                	jmp    0x415f73
415f72:	46                   	inc    %esi
415f73:	8a 11                	mov    (%ecx),%dl
415f75:	41                   	inc    %ecx
415f76:	80 fa 30             	cmp    $0x30,%dl
415f79:	7d e4                	jge    0x415f5f
415f7b:	89 75 ac             	mov    %esi,-0x54(%ebp)