412996:	89 7d 14             	mov    %edi,0x14(%ebp)
412999:	0f b7 31             	movzwl (%ecx),%esi
41299c:	8d 51 02             	lea    0x2(%ecx),%edx
41299f:	89 55 0c             	mov    %edx,0xc(%ebp)
4129a2:	83 c8 ff             	or     $0xffffffff,%eax
4129a5:	33 d2                	xor    %edx,%edx
4129a7:	f7 f7                	div    %edi
4129a9:	8b f8                	mov    %eax,%edi
4129ab:	6a 30                	push   $0x30
4129ad:	59                   	pop    %ecx
4129ae:	66 3b f1             	cmp    %cx,%si
4129b1:	0f 82 6d 01 00 00    	jb     0x412b24
4129b7:	6a 3a                	push   $0x3a
4129b9:	58                   	pop    %eax
4129ba:	66 3b f0             	cmp    %ax,%si
4129bd:	73 0a                	jae    0x4129c9
4129bf:	0f b7 c6             	movzwl %si,%eax
4129c2:	2b c1                	sub    %ecx,%eax
4129c4:	e9 56 01 00 00       	jmp    0x412b1f
4129c9:	b9 10 ff 00 00       	mov    $0xff10,%ecx
4129ce:	66 3b f1             	cmp    %cx,%si
4129d1:	0f 83 38 01 00 00    	jae    0x412b0f
4129d7:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4129da:	66 3b f1             	cmp    %cx,%si
4129dd:	0f 82 41 01 00 00    	jb     0x412b24
4129e3:	66 3b 75 f4          	cmp    -0xc(%ebp),%si
4129e7:	72 d6                	jb     0x4129bf
4129e9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4129ec:	66 3b f1             	cmp    %cx,%si
4129ef:	0f 82 2f 01 00 00    	jb     0x412b24
4129f5:	66 3b 75 ec          	cmp    -0x14(%ebp),%si
4129f9:	72 c4                	jb     0x4129bf
4129fb:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4129fe:	66 3b f1             	cmp    %cx,%si
412a01:	0f 82 1d 01 00 00    	jb     0x412b24
412a07:	66 3b 75 e4          	cmp    -0x1c(%ebp),%si
412a0b:	72 b2                	jb     0x4129bf
412a0d:	8b 4d e0             	mov    -0x20(%ebp),%ecx
412a10:	66 3b f1             	cmp    %cx,%si
412a13:	0f 82 0b 01 00 00    	jb     0x412b24
412a19:	66 3b 75 dc          	cmp    -0x24(%ebp),%si
412a1d:	72 a0                	jb     0x4129bf
412a1f:	8b 4d d8             	mov    -0x28(%ebp),%ecx
412a22:	66 3b f1             	cmp    %cx,%si
412a25:	0f 82 f9 00 00 00    	jb     0x412b24
412a2b:	66 3b 75 d4          	cmp    -0x2c(%ebp),%si
412a2f:	72 8e                	jb     0x4129bf
412a31:	8b 4d d0             	mov    -0x30(%ebp),%ecx
412a34:	66 3b f1             	cmp    %cx,%si
412a37:	0f 82 e7 00 00 00    	jb     0x412b24
412a3d:	66 3b 75 cc          	cmp    -0x34(%ebp),%si
412a41:	0f 82 78 ff ff ff    	jb     0x4129bf
412a47:	8b 4d c8             	mov    -0x38(%ebp),%ecx
412a4a:	66 3b f1             	cmp    %cx,%si
412a4d:	0f 82 d1 00 00 00    	jb     0x412b24
412a53:	66 3b 75 c4          	cmp    -0x3c(%ebp),%si
412a57:	0f 82 62 ff ff ff    	jb     0x4129bf
412a5d:	8b 4d c0             	mov    -0x40(%ebp),%ecx
412a60:	66 3b f1             	cmp    %cx,%si
412a63:	0f 82 bb 00 00 00    	jb     0x412b24
412a69:	66 3b 75 bc          	cmp    -0x44(%ebp),%si
412a6d:	0f 82 4c ff ff ff    	jb     0x4129bf
412a73:	8b 4d b8             	mov    -0x48(%ebp),%ecx
412a76:	66 3b f1             	cmp    %cx,%si
412a79:	0f 82 a5 00 00 00    	jb     0x412b24
412a7f:	66 3b 75 b4          	cmp    -0x4c(%ebp),%si
412a83:	0f 82 36 ff ff ff    	jb     0x4129bf
412a89:	8b 4d b0             	mov    -0x50(%ebp),%ecx
412a8c:	66 3b f1             	cmp    %cx,%si
412a8f:	0f 82 8f 00 00 00    	jb     0x412b24
412a95:	66 3b 75 ac          	cmp    -0x54(%ebp),%si
412a99:	0f 82 20 ff ff ff    	jb     0x4129bf
412a9f:	8b 4d a8             	mov    -0x58(%ebp),%ecx
412aa2:	66 3b f1             	cmp    %cx,%si
412aa5:	72 7d                	jb     0x412b24
412aa7:	66 3b 75 a4          	cmp    -0x5c(%ebp),%si
412aab:	0f 82 0e ff ff ff    	jb     0x4129bf
412ab1:	8b 4d a0             	mov    -0x60(%ebp),%ecx
412ab4:	66 3b f1             	cmp    %cx,%si
412ab7:	72 6b                	jb     0x412b24
412ab9:	66 3b 75 9c          	cmp    -0x64(%ebp),%si
412abd:	0f 82 fc fe ff ff    	jb     0x4129bf
412ac3:	8b 4d 98             	mov    -0x68(%ebp),%ecx
412ac6:	66 3b f1             	cmp    %cx,%si
412ac9:	72 59                	jb     0x412b24
412acb:	66 3b 75 94          	cmp    -0x6c(%ebp),%si
412acf:	0f 82 ea fe ff ff    	jb     0x4129bf
412ad5:	8b 4d 90             	mov    -0x70(%ebp),%ecx
412ad8:	66 3b f1             	cmp    %cx,%si
412adb:	72 47                	jb     0x412b24
412add:	66 3b 75 8c          	cmp    -0x74(%ebp),%si
412ae1:	0f 82 d8 fe ff ff    	jb     0x4129bf
412ae7:	8b 4d 88             	mov    -0x78(%ebp),%ecx
412aea:	66 3b f1             	cmp    %cx,%si
412aed:	72 35                	jb     0x412b24
412aef:	66 3b 75 84          	cmp    -0x7c(%ebp),%si
412af3:	0f 82 c6 fe ff ff    	jb     0x4129bf
412af9:	8b 4d 80             	mov    -0x80(%ebp),%ecx
412afc:	66 3b f1             	cmp    %cx,%si
412aff:	72 23                	jb     0x412b24
412b01:	66 3b b5 7c ff ff ff 	cmp    -0x84(%ebp),%si
412b08:	73 1a                	jae    0x412b24
412b0a:	e9 b0 fe ff ff       	jmp    0x4129bf
412b0f:	66 3b b5 78 ff ff ff 	cmp    -0x88(%ebp),%si
412b16:	0f 82 a3 fe ff ff    	jb     0x4129bf
412b1c:	83 c8 ff             	or     $0xffffffff,%eax
412b1f:	83 f8 ff             	cmp    $0xffffffff,%eax
412b22:	75 2a                	jne    0x412b4e
412b24:	0f b7 c6             	movzwl %si,%eax
412b27:	83 f8 41             	cmp    $0x41,%eax
412b2a:	72 0a                	jb     0x412b36
412b2c:	83 f8 5a             	cmp    $0x5a,%eax
412b2f:	77 05                	ja     0x412b36
412b31:	8d 48 9f             	lea    -0x61(%eax),%ecx
412b34:	eb 08                	jmp    0x412b3e
412b36:	8d 48 9f             	lea    -0x61(%eax),%ecx
412b39:	83 f9 19             	cmp    $0x19,%ecx
412b3c:	77 0d                	ja     0x412b4b
412b3e:	83 f9 19             	cmp    $0x19,%ecx
412b41:	77 03                	ja     0x412b46
412b43:	83 c0 e0             	add    $0xffffffe0,%eax
412b46:	83 c0 c9             	add    $0xffffffc9,%eax
412b49:	eb 03                	jmp    0x412b4e
412b4b:	83 c8 ff             	or     $0xffffffff,%eax
412b4e:	83 f8 ff             	cmp    $0xffffffff,%eax
412b51:	74 35                	je     0x412b88
412b53:	3b 45 14             	cmp    0x14(%ebp),%eax
412b56:	73 30                	jae    0x412b88
412b58:	8b 4d fc             	mov    -0x4(%ebp),%ecx
412b5b:	3b cf                	cmp    %edi,%ecx
412b5d:	72 0a                	jb     0x412b69
412b5f:	75 04                	jne    0x412b65
412b61:	3b c2                	cmp    %edx,%eax
412b63:	76 04                	jbe    0x412b69
412b65:	6a 0c                	push   $0xc
412b67:	eb 0b                	jmp    0x412b74
412b69:	0f af 4d 14          	imul   0x14(%ebp),%ecx
412b6d:	6a 08                	push   $0x8
412b6f:	03 c8                	add    %eax,%ecx
412b71:	89 4d fc             	mov    %ecx,-0x4(%ebp)
412b74:	8b 4d 0c             	mov    0xc(%ebp),%ecx
412b77:	58                   	pop    %eax
412b78:	0f b7 31             	movzwl (%ecx),%esi
412b7b:	83 c1 02             	add    $0x2,%ecx
412b7e:	89 4d 0c             	mov    %ecx,0xc(%ebp)
412b81:	0b d8                	or     %eax,%ebx
412b83:	e9 23 fe ff ff       	jmp    0x4129ab
412b88:	56                   	push   %esi
412b89:	8d 4d 0c             	lea    0xc(%ebp),%ecx
412b8c:	e8 a0 c7 ff ff       	call   0x40f331
412b91:	f6 c3 08             	test   $0x8,%bl
412b94:	75 0d                	jne    0x412ba3
412b96:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
412b9c:	33 db                	xor    %ebx,%ebx
412b9e:	89 45 0c             	mov    %eax,0xc(%ebp)
412ba1:	eb 41                	jmp    0x412be4
412ba3:	8b 75 fc             	mov    -0x4(%ebp),%esi
412ba6:	56                   	push   %esi
412ba7:	53                   	push   %ebx
412ba8:	e8 fb f7 ff ff       	call   0x4123a8
412bad:	59                   	pop    %ecx
412bae:	59                   	pop    %ecx
412baf:	84 c0                	test   %al,%al
412bb1:	74 28                	je     0x412bdb
412bb3:	e8 43 c2 ff ff       	call   0x40edfb
412bb8:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
412bbe:	f6 c3 01             	test   $0x1,%bl
412bc1:	75 05                	jne    0x412bc8
412bc3:	83 ce ff             	or     $0xffffffff,%esi
412bc6:	eb 1a                	jmp    0x412be2
412bc8:	f6 c3 02             	test   $0x2,%bl
412bcb:	74 07                	je     0x412bd4
412bcd:	bb 00 00 00 80       	mov    $0x80000000,%ebx
412bd2:	eb 10                	jmp    0x412be4
412bd4:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
412bd9:	eb 09                	jmp    0x412be4
412bdb:	f6 c3 02             	test   $0x2,%bl
412bde:	74 02                	je     0x412be2
412be0:	f7 de                	neg    %esi
412be2:	8b de                	mov    %esi,%ebx
412be4:	80 bd 6c ff ff ff 00 	cmpb   $0x0,-0x94(%ebp)
412beb:	5e                   	pop    %esi
412bec:	0f 84 46 fa ff ff    	je     0x412638
412bf2:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
412bf8:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
412bff:	e9 34 fa ff ff       	jmp    0x412638
412c04:	8b ff                	mov    %edi,%edi
412c06:	55                   	push   %ebp
412c07:	8b ec                	mov    %esp,%ebp
412c09:	51                   	push   %ecx
412c0a:	8b 45 08             	mov    0x8(%ebp),%eax
412c0d:	6a 01                	push   $0x1
412c0f:	6a 0a                	push   $0xa
412c11:	51                   	push   %ecx
412c12:	51                   	push   %ecx
412c13:	8b cc                	mov    %esp,%ecx
412c15:	6a 00                	push   $0x0
412c17:	83 61 04 00          	andl   $0x0,0x4(%ecx)
412c1b:	89 01                	mov    %eax,(%ecx)
412c1d:	e8 da f9 ff ff       	call   0x4125fc
412c22:	83 c4 14             	add    $0x14,%esp
412c25:	c9                   	leave
412c26:	c3                   	ret
412c27:	cc                   	int3
412c28:	cc                   	int3
412c29:	cc                   	int3
412c2a:	cc                   	int3
412c2b:	cc                   	int3
412c2c:	cc                   	int3
412c2d:	cc                   	int3
412c2e:	cc                   	int3
412c2f:	cc                   	int3
412c30:	53                   	push   %ebx
412c31:	56                   	push   %esi
412c32:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
412c36:	8b 54 24 10          	mov    0x10(%esp),%edx
412c3a:	8b 5c 24 14          	mov    0x14(%esp),%ebx
412c3e:	f7 c3 ff ff ff ff    	test   $0xffffffff,%ebx
412c44:	74 50                	je     0x412c96
412c46:	2b ca                	sub    %edx,%ecx
412c48:	f7 c2 03 00 00 00    	test   $0x3,%edx
412c4e:	74 17                	je     0x412c67
412c50:	0f b6 04 11          	movzbl (%ecx,%edx,1),%eax
412c54:	3a 02                	cmp    (%edx),%al
412c56:	75 48                	jne    0x412ca0
412c58:	85 c0                	test   %eax,%eax
412c5a:	74 3a                	je     0x412c96
412c5c:	42                   	inc    %edx
412c5d:	83 eb 01             	sub    $0x1,%ebx
412c60:	76 34                	jbe    0x412c96
412c62:	f6 c2 03             	test   $0x3,%dl
412c65:	75 e9                	jne    0x412c50
412c67:	8d 04 11             	lea    (%ecx,%edx,1),%eax
412c6a:	25 ff 0f 00 00       	and    $0xfff,%eax
412c6f:	3d fc 0f 00 00       	cmp    $0xffc,%eax
412c74:	77 da                	ja     0x412c50
412c76:	8b 04 11             	mov    (%ecx,%edx,1),%eax
412c79:	3b 02                	cmp    (%edx),%eax
412c7b:	75 d3                	jne    0x412c50
412c7d:	83 eb 04             	sub    $0x4,%ebx
412c80:	76 14                	jbe    0x412c96
412c82:	8d b0 ff fe fe fe    	lea    -0x1010101(%eax),%esi
412c88:	83 c2 04             	add    $0x4,%edx
412c8b:	f7 d0                	not    %eax
412c8d:	23 c6                	and    %esi,%eax
412c8f:	a9 80 80 80 80       	test   $0x80808080,%eax
412c94:	74 d1                	je     0x412c67
412c96:	33 c0                	xor    %eax,%eax
412c98:	5e                   	pop    %esi
412c99:	5b                   	pop    %ebx
412c9a:	c3                   	ret
412c9b:	eb 03                	jmp    0x412ca0
412c9d:	cc                   	int3
412c9e:	cc                   	int3
412c9f:	cc                   	int3
412ca0:	1b c0                	sbb    %eax,%eax
412ca2:	83 c8 01             	or     $0x1,%eax
412ca5:	5e                   	pop    %esi
412ca6:	5b                   	pop    %ebx
412ca7:	c3                   	ret
412ca8:	8b ff                	mov    %edi,%edi
412caa:	55                   	push   %ebp
412cab:	8b ec                	mov    %esp,%ebp
412cad:	8b 45 10             	mov    0x10(%ebp),%eax
412cb0:	85 c0                	test   %eax,%eax
412cb2:	75 02                	jne    0x412cb6
412cb4:	5d                   	pop    %ebp
412cb5:	c3                   	ret
412cb6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
412cb9:	8b 55 08             	mov    0x8(%ebp),%edx
412cbc:	56                   	push   %esi
412cbd:	83 e8 01             	sub    $0x1,%eax
412cc0:	74 15                	je     0x412cd7
412cc2:	0f b7 32             	movzwl (%edx),%esi
412cc5:	66 85 f6             	test   %si,%si
412cc8:	74 0d                	je     0x412cd7
412cca:	66 3b 31             	cmp    (%ecx),%si
412ccd:	75 08                	jne    0x412cd7
412ccf:	83 c2 02             	add    $0x2,%edx
412cd2:	83 c1 02             	add    $0x2,%ecx
412cd5:	eb e6                	jmp    0x412cbd
412cd7:	0f b7 02             	movzwl (%edx),%eax
412cda:	0f b7 09             	movzwl (%ecx),%ecx
412cdd:	2b c1                	sub    %ecx,%eax
412cdf:	5e                   	pop    %esi
412ce0:	5d                   	pop    %ebp
412ce1:	c3                   	ret
412ce2:	8b ff                	mov    %edi,%edi
412ce4:	55                   	push   %ebp
412ce5:	8b ec                	mov    %esp,%ebp
412ce7:	51                   	push   %ecx
412ce8:	56                   	push   %esi
412ce9:	8b 75 08             	mov    0x8(%ebp),%esi
412cec:	33 c0                	xor    %eax,%eax
412cee:	57                   	push   %edi
412cef:	8b fe                	mov    %esi,%edi
412cf1:	ab                   	stos   %eax,%es:(%edi)
412cf2:	ab                   	stos   %eax,%es:(%edi)
412cf3:	ab                   	stos   %eax,%es:(%edi)
412cf4:	a1 c4 49 43 00       	mov    0x4349c4,%eax
412cf9:	8b 7d 0c             	mov    0xc(%ebp),%edi
412cfc:	89 46 04             	mov    %eax,0x4(%esi)
412cff:	eb 01                	jmp    0x412d02
412d01:	47                   	inc    %edi
412d02:	8a 07                	mov    (%edi),%al
412d04:	3c 20                	cmp    $0x20,%al
412d06:	74 f9                	je     0x412d01
412d08:	3c 61                	cmp    $0x61,%al
412d0a:	74 2e                	je     0x412d3a
412d0c:	3c 72                	cmp    $0x72,%al
412d0e:	74 21                	je     0x412d31
412d10:	3c 77                	cmp    $0x77,%al
412d12:	74 15                	je     0x412d29
412d14:	e8 e2 c0 ff ff       	call   0x40edfb
412d19:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
412d1f:	e8 5d a3 ff ff       	call   0x40d081
412d24:	e9 dd 01 00 00       	jmp    0x412f06
412d29:	c7 06 01 03 00 00    	movl   $0x301,(%esi)
412d2f:	eb 0f                	jmp    0x412d40
412d31:	c7 46 04 01 00 00 00 	movl   $0x1,0x4(%esi)
412d38:	eb 0d                	jmp    0x412d47
412d3a:	c7 06 09 01 00 00    	movl   $0x109,(%esi)
412d40:	c7 46 04 02 00 00 00 	movl   $0x2,0x4(%esi)
412d47:	53                   	push   %ebx
412d48:	47                   	inc    %edi
412d49:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
412d4d:	32 db                	xor    %bl,%bl
412d4f:	c6 45 fe 00          	movb   $0x0,-0x2(%ebp)
412d53:	32 ff                	xor    %bh,%bh
412d55:	b1 01                	mov    $0x1,%cl
412d57:	8a 07                	mov    (%edi),%al
412d59:	84 c0                	test   %al,%al
412d5b:	0f 84 da 00 00 00    	je     0x412e3b
412d61:	0f be c0             	movsbl %al,%eax
412d64:	83 f8 53             	cmp    $0x53,%eax
412d67:	7f 66                	jg     0x412dcf
412d69:	74 57                	je     0x412dc2
412d6b:	83 e8 20             	sub    $0x20,%eax
412d6e:	0f 84 b6 00 00 00    	je     0x412e2a
412d74:	83 e8 0b             	sub    $0xb,%eax
412d77:	74 3c                	je     0x412db5
412d79:	83 e8 01             	sub    $0x1,%eax
412d7c:	74 31                	je     0x412daf
412d7e:	83 e8 18             	sub    $0x18,%eax
412d81:	74 24                	je     0x412da7
412d83:	83 e8 0a             	sub    $0xa,%eax
412d86:	74 12                	je     0x412d9a
412d88:	83 e8 04             	sub    $0x4,%eax
412d8b:	0f 85 64 01 00 00    	jne    0x412ef5
412d91:	84 db                	test   %bl,%bl