4188b5:	66 3b c2             	cmp    %dx,%ax
4188b8:	77 5d                	ja     0x418917
4188ba:	8d 45 d8             	lea    -0x28(%ebp),%eax
4188bd:	8b d3                	mov    %ebx,%edx
4188bf:	50                   	push   %eax
4188c0:	8b 45 08             	mov    0x8(%ebp),%eax
4188c3:	8b ce                	mov    %esi,%ecx
4188c5:	ff 70 04             	push   0x4(%eax)
4188c8:	e8 34 04 00 00       	call   0x418d01
4188cd:	8a 4d fc             	mov    -0x4(%ebp),%cl
4188d0:	8b d3                	mov    %ebx,%edx
4188d2:	f6 d1                	not    %cl
4188d4:	c7 45 f8 e8 03 00 00 	movl   $0x3e8,-0x8(%ebp)
4188db:	0f b6 c9             	movzbl %cl,%ecx
4188de:	83 e1 01             	and    $0x1,%ecx
4188e1:	89 4d dc             	mov    %ecx,-0x24(%ebp)
4188e4:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4188e7:	51                   	push   %ecx
4188e8:	50                   	push   %eax
4188e9:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4188ec:	51                   	push   %ecx
4188ed:	ff 75 08             	push   0x8(%ebp)
4188f0:	8b c8                	mov    %eax,%ecx
4188f2:	e8 17 01 00 00       	call   0x418a0e
4188f7:	83 c4 18             	add    $0x18,%esp
4188fa:	85 c0                	test   %eax,%eax
4188fc:	74 19                	je     0x418917
4188fe:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
418902:	83 c0 9e             	add    $0xffffff9e,%eax
418905:	83 f8 07             	cmp    $0x7,%eax
418908:	77 0d                	ja     0x418917
41890a:	ff 24 85 ee 89 41 00 	jmp    *0x4189ee(,%eax,4)
418911:	6a 6a                	push   $0x6a
418913:	58                   	pop    %eax
418914:	66 89 07             	mov    %ax,(%edi)
418917:	0f b7 06             	movzwl (%esi),%eax
41891a:	89 45 fc             	mov    %eax,-0x4(%ebp)
41891d:	66 8b f8             	mov    %ax,%di
418920:	e9 bd fe ff ff       	jmp    0x4187e2
418925:	e8 40 07 00 00       	call   0x41906a
41892a:	6a 21                	push   $0x21
41892c:	59                   	pop    %ecx
41892d:	66 2b c8             	sub    %ax,%cx
418930:	66 03 f9             	add    %cx,%di
418933:	66 83 ff 28          	cmp    $0x28,%di
418937:	0f 87 94 00 00 00    	ja     0x4189d1
41893d:	8d 45 d8             	lea    -0x28(%ebp),%eax
418940:	8b d3                	mov    %ebx,%edx
418942:	50                   	push   %eax
418943:	8b 45 08             	mov    0x8(%ebp),%eax
418946:	8b ce                	mov    %esi,%ecx
418948:	ff 70 04             	push   0x4(%eax)
41894b:	e8 b1 03 00 00       	call   0x418d01
418950:	59                   	pop    %ecx
418951:	59                   	pop    %ecx
418952:	6a 21                	push   $0x21
418954:	59                   	pop    %ecx
418955:	66 3b f9             	cmp    %cx,%di
418958:	74 7e                	je     0x4189d8
41895a:	66 83 ff 23          	cmp    $0x23,%di
41895e:	74 78                	je     0x4189d8
418960:	66 83 ff 25          	cmp    $0x25,%di
418964:	74 72                	je     0x4189d8
418966:	66 83 ff 27          	cmp    $0x27,%di
41896a:	74 6c                	je     0x4189d8
41896c:	33 c9                	xor    %ecx,%ecx
41896e:	89 4d dc             	mov    %ecx,-0x24(%ebp)
418971:	c7 45 f8 e8 03 00 00 	movl   $0x3e8,-0x8(%ebp)
418978:	85 c0                	test   %eax,%eax
41897a:	74 9b                	je     0x418917
41897c:	8d 4d f8             	lea    -0x8(%ebp),%ecx
41897f:	8b d3                	mov    %ebx,%edx
418981:	51                   	push   %ecx
418982:	50                   	push   %eax
418983:	8d 4d d8             	lea    -0x28(%ebp),%ecx
418986:	51                   	push   %ecx
418987:	ff 75 08             	push   0x8(%ebp)
41898a:	8b c8                	mov    %eax,%ecx
41898c:	e8 7d 00 00 00       	call   0x418a0e
418991:	83 c4 10             	add    $0x10,%esp
418994:	85 c0                	test   %eax,%eax
418996:	0f 84 7b ff ff ff    	je     0x418917
41899c:	e9 87 c8 03 00       	jmp    0x455228
4189a1:	6a 6c                	push   $0x6c
4189a3:	e9 6b ff ff ff       	jmp    0x418913
4189a8:	83 f9 5a             	cmp    $0x5a,%ecx
4189ab:	0f 8f 60 fe ff ff    	jg     0x418811
4189b1:	0f b7 46 02          	movzwl 0x2(%esi),%eax
4189b5:	6a 10                	push   $0x10
4189b7:	5a                   	pop    %edx
4189b8:	66 3b c2             	cmp    %dx,%ax
4189bb:	74 0c                	je     0x4189c9
4189bd:	6a 0f                	push   $0xf
4189bf:	5a                   	pop    %edx
4189c0:	66 3b c2             	cmp    %dx,%ax
4189c3:	0f 85 48 fe ff ff    	jne    0x418811
4189c9:	83 c6 04             	add    $0x4,%esi
4189cc:	e9 40 fe ff ff       	jmp    0x418811
4189d1:	33 c0                	xor    %eax,%eax
4189d3:	e9 7a ff ff ff       	jmp    0x418952
4189d8:	33 c9                	xor    %ecx,%ecx
4189da:	41                   	inc    %ecx
4189db:	eb 91                	jmp    0x41896e
4189dd:	6a 6b                	push   $0x6b
4189df:	e9 2f ff ff ff       	jmp    0x418913
4189e4:	6a 6d                	push   $0x6d
4189e6:	e9 28 ff ff ff       	jmp    0x418913
4189eb:	8d 49 00             	lea    0x0(%ecx),%ecx
4189ee:	11 89 41 00 11 89    	adc    %ecx,-0x76eeffbf(%ecx)
4189f4:	41                   	inc    %ecx
4189f5:	00 dd                	add    %bl,%ch
4189f7:	89 41 00             	mov    %eax,0x0(%ecx)
4189fa:	dd 89 41 00 a1 89    	fisttpll -0x765effbf(%ecx)
418a00:	41                   	inc    %ecx
418a01:	00 a1 89 41 00 e4    	add    %ah,-0x1bffbe77(%ecx)
418a07:	89 41 00             	mov    %eax,0x0(%ecx)
418a0a:	e4 89                	in     $0x89,%al
418a0c:	41                   	inc    %ecx
418a0d:	00 55 8b             	add    %dl,-0x75(%ebp)
418a10:	ec                   	in     (%dx),%al
418a11:	83 ec 40             	sub    $0x40,%esp
418a14:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
418a18:	89 55 f4             	mov    %edx,-0xc(%ebp)
418a1b:	8b 55 14             	mov    0x14(%ebp),%edx
418a1e:	53                   	push   %ebx
418a1f:	8b d9                	mov    %ecx,%ebx
418a21:	8b 02                	mov    (%edx),%eax
418a23:	85 c0                	test   %eax,%eax
418a25:	0f 84 b8 02 00 00    	je     0x418ce3
418a2b:	57                   	push   %edi
418a2c:	6a 77                	push   $0x77
418a2e:	48                   	dec    %eax
418a2f:	c7 45 ec 83 00 00 00 	movl   $0x83,-0x14(%ebp)
418a36:	59                   	pop    %ecx
418a37:	89 02                	mov    %eax,(%edx)
418a39:	c7 45 e4 81 00 00 00 	movl   $0x81,-0x1c(%ebp)
418a40:	c7 45 e0 82 00 00 00 	movl   $0x82,-0x20(%ebp)
418a47:	c7 45 e8 85 00 00 00 	movl   $0x85,-0x18(%ebp)
418a4e:	56                   	push   %esi
418a4f:	8b 7d 0c             	mov    0xc(%ebp),%edi
418a52:	0f b7 03             	movzwl (%ebx),%eax
418a55:	83 f8 76             	cmp    $0x76,%eax
418a58:	0f 84 8c 02 00 00    	je     0x418cea
418a5e:	66 3b c1             	cmp    %cx,%ax
418a61:	0f 84 68 02 00 00    	je     0x418ccf
418a67:	0f b7 f0             	movzwl %ax,%esi
418a6a:	b8 83 00 00 00       	mov    $0x83,%eax
418a6f:	3b f0                	cmp    %eax,%esi
418a71:	0f 8f e2 00 00 00    	jg     0x418b59
418a77:	83 c0 fe             	add    $0xfffffffe,%eax
418a7a:	3b f0                	cmp    %eax,%esi
418a7c:	0f 8d f3 01 00 00    	jge    0x418c75
418a82:	85 f6                	test   %esi,%esi
418a84:	0f 84 01 ce 03 00    	je     0x45588b
418a8a:	83 fe 78             	cmp    $0x78,%esi
418a8d:	0f 84 aa 01 00 00    	je     0x418c3d
418a93:	83 fe 7b             	cmp    $0x7b,%esi
418a96:	0f 84 ef cd 03 00    	je     0x45588b
418a9c:	8b 55 f4             	mov    -0xc(%ebp),%edx
418a9f:	8d 45 c0             	lea    -0x40(%ebp),%eax
418aa2:	50                   	push   %eax
418aa3:	8b 45 08             	mov    0x8(%ebp),%eax
418aa6:	8b cb                	mov    %ebx,%ecx
418aa8:	ff 70 04             	push   0x4(%eax)
418aab:	e8 51 02 00 00       	call   0x418d01
418ab0:	8b d8                	mov    %eax,%ebx
418ab2:	89 5d f8             	mov    %ebx,-0x8(%ebp)
418ab5:	59                   	pop    %ecx
418ab6:	59                   	pop    %ecx
418ab7:	85 db                	test   %ebx,%ebx
418ab9:	0f 84 09 02 00 00    	je     0x418cc8
418abf:	8b 17                	mov    (%edi),%edx
418ac1:	83 fa 1d             	cmp    $0x1d,%edx
418ac4:	0f 84 15 c8 03 00    	je     0x4552df
418aca:	8b 4d c0             	mov    -0x40(%ebp),%ecx
418acd:	83 f9 1d             	cmp    $0x1d,%ecx
418ad0:	0f 84 f4 00 00 00    	je     0x418bca
418ad6:	83 fa 6e             	cmp    $0x6e,%edx
418ad9:	0f 85 bb ca 03 00    	jne    0x45559a
418adf:	8b 47 08             	mov    0x8(%edi),%eax
418ae2:	8d 75 c0             	lea    -0x40(%ebp),%esi
418ae5:	8b 55 10             	mov    0x10(%ebp),%edx
418ae8:	03 c0                	add    %eax,%eax
418aea:	33 ff                	xor    %edi,%edi
418aec:	2b d0                	sub    %eax,%edx
418aee:	8b 06                	mov    (%esi),%eax
418af0:	83 f8 0a             	cmp    $0xa,%eax
418af3:	0f 86 e6 cc 03 00    	jbe    0x4557df
418af9:	83 f8 0b             	cmp    $0xb,%eax
418afc:	0f 84 15 cd 03 00    	je     0x455817
418b02:	83 f8 6d             	cmp    $0x6d,%eax
418b05:	0f 86 bd 01 00 00    	jbe    0x418cc8
418b0b:	83 f8 6f             	cmp    $0x6f,%eax
418b0e:	0f 87 14 cd 03 00    	ja     0x455828
418b14:	8d 45 c0             	lea    -0x40(%ebp),%eax
418b17:	8b cb                	mov    %ebx,%ecx
418b19:	3b f0                	cmp    %eax,%esi
418b1b:	0f 85 d1 01 00 00    	jne    0x418cf2
418b21:	8b 46 08             	mov    0x8(%esi),%eax
418b24:	03 c0                	add    %eax,%eax
418b26:	2b c8                	sub    %eax,%ecx
418b28:	8d 72 20             	lea    0x20(%edx),%esi
418b2b:	85 ff                	test   %edi,%edi
418b2d:	0f 85 c7 01 00 00    	jne    0x418cfa
418b33:	8a 01                	mov    (%ecx),%al
418b35:	22 02                	and    (%edx),%al
418b37:	41                   	inc    %ecx
418b38:	42                   	inc    %edx
418b39:	84 c0                	test   %al,%al
418b3b:	0f 85 87 01 00 00    	jne    0x418cc8
418b41:	3b d6                	cmp    %esi,%edx
418b43:	72 ee                	jb     0x418b33
418b45:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
418b49:	0f 85 e9 00 00 00    	jne    0x418c38
418b4f:	33 c0                	xor    %eax,%eax
418b51:	40                   	inc    %eax
418b52:	5e                   	pop    %esi
418b53:	5f                   	pop    %edi
418b54:	5b                   	pop    %ebx
418b55:	8b e5                	mov    %ebp,%esp
418b57:	5d                   	pop    %ebp
418b58:	c3                   	ret
418b59:	b8 85 00 00 00       	mov    $0x85,%eax
418b5e:	3b f0                	cmp    %eax,%esi
418b60:	0f 84 0f 01 00 00    	je     0x418c75
418b66:	8d 86 6e ff ff ff    	lea    -0x92(%esi),%eax
418b6c:	83 f8 01             	cmp    $0x1,%eax
418b6f:	0f 87 27 ff ff ff    	ja     0x418a9c
418b75:	8d 4b 02             	lea    0x2(%ebx),%ecx
418b78:	0f b7 01             	movzwl (%ecx),%eax
418b7b:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
418b7f:	0f 85 37 c7 03 00    	jne    0x4552bc
418b85:	6a 77                	push   $0x77
418b87:	5a                   	pop    %edx
418b88:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
418b8c:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
418b8f:	66 39 11             	cmp    %dx,(%ecx)
418b92:	74 f4                	je     0x418b88
418b94:	8b 55 14             	mov    0x14(%ebp),%edx
418b97:	83 c1 04             	add    $0x4,%ecx
418b9a:	52                   	push   %edx
418b9b:	ff 75 10             	push   0x10(%ebp)
418b9e:	8b 55 f4             	mov    -0xc(%ebp),%edx
418ba1:	57                   	push   %edi
418ba2:	ff 75 08             	push   0x8(%ebp)
418ba5:	e8 64 fe ff ff       	call   0x418a0e
418baa:	83 c4 10             	add    $0x10,%esp
418bad:	85 c0                	test   %eax,%eax
418baf:	0f 84 13 01 00 00    	je     0x418cc8
418bb5:	0f b6 86 50 57 4a 00 	movzbl 0x4a5750(%esi),%eax
418bbc:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
418bbf:	8b 55 14             	mov    0x14(%ebp),%edx
418bc2:	6a 77                	push   $0x77
418bc4:	59                   	pop    %ecx
418bc5:	e9 88 fe ff ff       	jmp    0x418a52
418bca:	8d 45 c8             	lea    -0x38(%ebp),%eax
418bcd:	8b 1f                	mov    (%edi),%ebx
418bcf:	8d 77 08             	lea    0x8(%edi),%esi
418bd2:	8b 08                	mov    (%eax),%ecx
418bd4:	89 45 fc             	mov    %eax,-0x4(%ebp)
418bd7:	83 fb 6e             	cmp    $0x6e,%ebx
418bda:	0f 87 85 c9 03 00    	ja     0x455565
418be0:	0f 85 04 c7 03 00    	jne    0x4552ea
418be6:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
418bec:	77 30                	ja     0x418c1e
418bee:	8b 75 f8             	mov    -0x8(%ebp),%esi
418bf1:	8d 45 c0             	lea    -0x40(%ebp),%eax
418bf4:	3b f8                	cmp    %eax,%edi
418bf6:	74 03                	je     0x418bfb
418bf8:	8b 75 10             	mov    0x10(%ebp),%esi
418bfb:	8b 47 08             	mov    0x8(%edi),%eax
418bfe:	8b d1                	mov    %ecx,%edx
418c00:	03 c0                	add    %eax,%eax
418c02:	c1 ea 03             	shr    $0x3,%edx
418c05:	2b d0                	sub    %eax,%edx
418c07:	83 e1 07             	and    $0x7,%ecx
418c0a:	33 c0                	xor    %eax,%eax
418c0c:	40                   	inc    %eax
418c0d:	d3 e0                	shl    %cl,%eax
418c0f:	84 04 32             	test   %al,(%edx,%esi,1)
418c12:	0f 85 b0 00 00 00    	jne    0x418cc8
418c18:	8d 77 08             	lea    0x8(%edi),%esi
418c1b:	8b 45 fc             	mov    -0x4(%ebp),%eax
418c1e:	83 c0 04             	add    $0x4,%eax
418c21:	89 45 fc             	mov    %eax,-0x4(%ebp)
418c24:	8b 08                	mov    (%eax),%ecx
418c26:	83 f9 ff             	cmp    $0xffffffff,%ecx
418c29:	75 ac                	jne    0x418bd7
418c2b:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
418c2f:	0f 84 1a ff ff ff    	je     0x418b4f
418c35:	8b 5d f8             	mov    -0x8(%ebp),%ebx
418c38:	8b 7d 0c             	mov    0xc(%ebp),%edi
418c3b:	eb 82                	jmp    0x418bbf
418c3d:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
418c41:	0f 84 81 00 00 00    	je     0x418cc8
418c47:	0f b7 4b 02          	movzwl 0x2(%ebx),%ecx
418c4b:	8b c3                	mov    %ebx,%eax
418c4d:	03 c9                	add    %ecx,%ecx
418c4f:	2b c1                	sub    %ecx,%eax
418c51:	0f b7 00             	movzwl (%eax),%eax
418c54:	83 f8 7d             	cmp    $0x7d,%eax
418c57:	7c 0d                	jl     0x418c66
418c59:	b9 82 00 00 00       	mov    $0x82,%ecx
418c5e:	3b c1                	cmp    %ecx,%eax
418c60:	0f 8e 18 cc 03 00    	jle    0x45587e
418c66:	0f b6 86 50 57 4a 00 	movzbl 0x4a5750(%esi),%eax
418c6d:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
418c70:	e9 4d ff ff ff       	jmp    0x418bc2
418c75:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
418c79:	8d 3c 43             	lea    (%ebx,%eax,2),%edi
418c7c:	0f b6 86 50 57 4a 00 	movzbl 0x4a5750(%esi),%eax
418c83:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
418c86:	66 39 0f             	cmp    %cx,(%edi)
418c89:	75 31                	jne    0x418cbc
418c8b:	8b 75 0c             	mov    0xc(%ebp),%esi
418c8e:	52                   	push   %edx
418c8f:	ff 75 10             	push   0x10(%ebp)
418c92:	8b 55 f4             	mov    -0xc(%ebp),%edx
418c95:	8b cb                	mov    %ebx,%ecx
418c97:	56                   	push   %esi
418c98:	ff 75 08             	push   0x8(%ebp)
418c9b:	e8 6e fd ff ff       	call   0x418a0e
418ca0:	83 c4 10             	add    $0x10,%esp
418ca3:	85 c0                	test   %eax,%eax
418ca5:	74 21                	je     0x418cc8
418ca7:	0f b7 47 02          	movzwl 0x2(%edi),%eax
418cab:	8d 5f 04             	lea    0x4(%edi),%ebx
418cae:	8b 55 14             	mov    0x14(%ebp),%edx
418cb1:	6a 77                	push   $0x77
418cb3:	59                   	pop    %ecx
418cb4:	8d 3c 47             	lea    (%edi,%eax,2),%edi
418cb7:	66 39 0f             	cmp    %cx,(%edi)
418cba:	74 d2                	je     0x418c8e
418cbc:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
418cc3:	e9 87 fd ff ff       	jmp    0x418a4f
418cc8:	33 c0                	xor    %eax,%eax
418cca:	e9 83 fe ff ff       	jmp    0x418b52
418ccf:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
418cd3:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
418cd6:	66 39 0b             	cmp    %cx,(%ebx)
418cd9:	74 f4                	je     0x418ccf
418cdb:	0f b7 03             	movzwl (%ebx),%eax
418cde:	e9 84 fd ff ff       	jmp    0x418a67
418ce3:	33 c0                	xor    %eax,%eax
418ce5:	e9 6a fe ff ff       	jmp    0x418b54
418cea:	83 c3 08             	add    $0x8,%ebx
418ced:	e9 60 fd ff ff       	jmp    0x418a52
418cf2:	8b 4d 10             	mov    0x10(%ebp),%ecx
418cf5:	e9 27 fe ff ff       	jmp    0x418b21
418cfa:	2b ca                	sub    %edx,%ecx