412e64:	8b ff                	mov    %edi,%edi
412e66:	55                   	push   %ebp
412e67:	8b ec                	mov    %esp,%ebp
412e69:	51                   	push   %ecx
412e6a:	8a 4d 0c             	mov    0xc(%ebp),%cl
412e6d:	8b 55 14             	mov    0x14(%ebp),%edx
412e70:	0f b6 c1             	movzbl %cl,%eax
412e73:	83 c0 04             	add    $0x4,%eax
412e76:	3b d0                	cmp    %eax,%edx
412e78:	73 0b                	jae    0x412e85
412e7a:	8b 45 10             	mov    0x10(%ebp),%eax
412e7d:	6a 0c                	push   $0xc
412e7f:	c6 00 00             	movb   $0x0,(%eax)
412e82:	58                   	pop    %eax
412e83:	c9                   	leave
412e84:	c3                   	ret
412e85:	84 c9                	test   %cl,%cl
412e87:	8b 4d 10             	mov    0x10(%ebp),%ecx
412e8a:	74 0d                	je     0x412e99
412e8c:	c6 01 2d             	movb   $0x2d,(%ecx)
412e8f:	41                   	inc    %ecx
412e90:	c6 01 00             	movb   $0x0,(%ecx)
412e93:	83 fa ff             	cmp    $0xffffffff,%edx
412e96:	74 01                	je     0x412e99
412e98:	4a                   	dec    %edx
412e99:	8b 45 08             	mov    0x8(%ebp),%eax
412e9c:	53                   	push   %ebx
412e9d:	56                   	push   %esi
412e9e:	57                   	push   %edi
412e9f:	0f b6 7d 18          	movzbl 0x18(%ebp),%edi
412ea3:	8d 1c 85 fc ff ff ff 	lea    -0x4(,%eax,4),%ebx
412eaa:	83 f7 01             	xor    $0x1,%edi
412ead:	03 ff                	add    %edi,%edi
412eaf:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
412eb2:	8b 34 85 98 ec 41 00 	mov    0x41ec98(,%eax,4),%esi
412eb9:	8d 46 01             	lea    0x1(%esi),%eax
412ebc:	89 45 fc             	mov    %eax,-0x4(%ebp)
412ebf:	8a 06                	mov    (%esi),%al
412ec1:	46                   	inc    %esi
412ec2:	84 c0                	test   %al,%al
412ec4:	75 f9                	jne    0x412ebf
412ec6:	2b 75 fc             	sub    -0x4(%ebp),%esi
412ec9:	3b f2                	cmp    %edx,%esi
412ecb:	1b c0                	sbb    %eax,%eax
412ecd:	43                   	inc    %ebx
412ece:	03 c3                	add    %ebx,%eax
412ed0:	03 c7                	add    %edi,%eax
412ed2:	ff 34 85 98 ec 41 00 	push   0x41ec98(,%eax,4)
412ed9:	52                   	push   %edx
412eda:	51                   	push   %ecx
412edb:	e8 c1 93 ff ff       	call   0x40c2a1
412ee0:	83 c4 0c             	add    $0xc,%esp
412ee3:	5f                   	pop    %edi
412ee4:	5e                   	pop    %esi
412ee5:	5b                   	pop    %ebx
412ee6:	85 c0                	test   %eax,%eax
412ee8:	75 02                	jne    0x412eec
412eea:	c9                   	leave
412eeb:	c3                   	ret
412eec:	33 c0                	xor    %eax,%eax
412eee:	50                   	push   %eax
412eef:	50                   	push   %eax
412ef0:	50                   	push   %eax
412ef1:	50                   	push   %eax
412ef2:	50                   	push   %eax
412ef3:	e8 2e bd ff ff       	call   0x40ec26
412ef8:	cc                   	int3
412ef9:	8b ff                	mov    %edi,%edi
412efb:	55                   	push   %ebp
412efc:	8b ec                	mov    %esp,%ebp
412efe:	8b 55 14             	mov    0x14(%ebp),%edx
412f01:	85 d2                	test   %edx,%edx
412f03:	74 26                	je     0x412f2b
412f05:	56                   	push   %esi
412f06:	8b 75 10             	mov    0x10(%ebp),%esi
412f09:	8b ce                	mov    %esi,%ecx
412f0b:	57                   	push   %edi
412f0c:	8d 79 01             	lea    0x1(%ecx),%edi
412f0f:	8a 01                	mov    (%ecx),%al
412f11:	41                   	inc    %ecx
412f12:	84 c0                	test   %al,%al
412f14:	75 f9                	jne    0x412f0f
412f16:	2b cf                	sub    %edi,%ecx
412f18:	8d 41 01             	lea    0x1(%ecx),%eax
412f1b:	50                   	push   %eax
412f1c:	8d 04 16             	lea    (%esi,%edx,1),%eax
412f1f:	56                   	push   %esi
412f20:	50                   	push   %eax
412f21:	e8 aa 6c ff ff       	call   0x409bd0
412f26:	83 c4 0c             	add    $0xc,%esp
412f29:	5f                   	pop    %edi
412f2a:	5e                   	pop    %esi
412f2b:	5d                   	pop    %ebp
412f2c:	c3                   	ret
412f2d:	8b ff                	mov    %edi,%edi
412f2f:	55                   	push   %ebp
412f30:	8b ec                	mov    %esp,%ebp
412f32:	53                   	push   %ebx
412f33:	8b 5d 14             	mov    0x14(%ebp),%ebx
412f36:	56                   	push   %esi
412f37:	8b 75 08             	mov    0x8(%ebp),%esi
412f3a:	57                   	push   %edi
412f3b:	0f bf cb             	movswl %bx,%ecx
412f3e:	8b 56 04             	mov    0x4(%esi),%edx
412f41:	23 55 10             	and    0x10(%ebp),%edx
412f44:	8b 06                	mov    (%esi),%eax
412f46:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
412f4c:	23 45 0c             	and    0xc(%ebp),%eax
412f4f:	e8 bc 64 00 00       	call   0x419410
412f54:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
412f58:	0f b7 f8             	movzwl %ax,%edi
412f5b:	75 09                	jne    0x412f66
412f5d:	83 ff 08             	cmp    $0x8,%edi
412f60:	1a c0                	sbb    %al,%al
412f62:	fe c0                	inc    %al
412f64:	eb 55                	jmp    0x412fbb
412f66:	e8 a4 38 00 00       	call   0x41680f
412f6b:	85 c0                	test   %eax,%eax
412f6d:	75 12                	jne    0x412f81
412f6f:	53                   	push   %ebx
412f70:	ff 75 10             	push   0x10(%ebp)
412f73:	ff 75 0c             	push   0xc(%ebp)
412f76:	56                   	push   %esi
412f77:	e8 f3 f6 ff ff       	call   0x41266f
412f7c:	83 c4 10             	add    $0x10,%esp
412f7f:	eb 3a                	jmp    0x412fbb
412f81:	3d 00 02 00 00       	cmp    $0x200,%eax
412f86:	75 16                	jne    0x412f9e
412f88:	33 c0                	xor    %eax,%eax
412f8a:	66 85 ff             	test   %di,%di
412f8d:	74 2c                	je     0x412fbb
412f8f:	39 46 04             	cmp    %eax,0x4(%esi)
412f92:	7c 27                	jl     0x412fbb
412f94:	7f 04                	jg     0x412f9a
412f96:	39 06                	cmp    %eax,(%esi)
412f98:	72 21                	jb     0x412fbb
412f9a:	b0 01                	mov    $0x1,%al
412f9c:	eb 1d                	jmp    0x412fbb
412f9e:	3d 00 01 00 00       	cmp    $0x100,%eax
412fa3:	75 14                	jne    0x412fb9
412fa5:	33 c0                	xor    %eax,%eax
412fa7:	66 85 ff             	test   %di,%di
412faa:	74 0f                	je     0x412fbb
412fac:	39 46 04             	cmp    %eax,0x4(%esi)
412faf:	7f 0a                	jg     0x412fbb
412fb1:	7c e7                	jl     0x412f9a
412fb3:	39 06                	cmp    %eax,(%esi)
412fb5:	73 04                	jae    0x412fbb
412fb7:	eb e1                	jmp    0x412f9a
412fb9:	32 c0                	xor    %al,%al
412fbb:	5f                   	pop    %edi
412fbc:	5e                   	pop    %esi
412fbd:	5b                   	pop    %ebx
412fbe:	5d                   	pop    %ebp
412fbf:	c3                   	ret
412fc0:	8b ff                	mov    %edi,%edi
412fc2:	55                   	push   %ebp
412fc3:	8b ec                	mov    %esp,%ebp
412fc5:	51                   	push   %ecx
412fc6:	51                   	push   %ecx
412fc7:	56                   	push   %esi
412fc8:	57                   	push   %edi
412fc9:	8b 7d 0c             	mov    0xc(%ebp),%edi
412fcc:	85 ff                	test   %edi,%edi
412fce:	75 16                	jne    0x412fe6
412fd0:	e8 fe bc ff ff       	call   0x40ecd3
412fd5:	6a 16                	push   $0x16
412fd7:	5e                   	pop    %esi
412fd8:	89 30                	mov    %esi,(%eax)
412fda:	e8 37 bc ff ff       	call   0x40ec16
412fdf:	8b c6                	mov    %esi,%eax
412fe1:	e9 32 01 00 00       	jmp    0x413118
412fe6:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
412fea:	76 e4                	jbe    0x412fd0
412fec:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
412ff0:	74 de                	je     0x412fd0
412ff2:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
412ff6:	76 d8                	jbe    0x412fd0
412ff8:	8b 75 1c             	mov    0x1c(%ebp),%esi
412ffb:	53                   	push   %ebx
412ffc:	33 db                	xor    %ebx,%ebx
412ffe:	83 fe 41             	cmp    $0x41,%esi
413001:	74 12                	je     0x413015
413003:	83 fe 45             	cmp    $0x45,%esi
413006:	74 0d                	je     0x413015
413008:	83 fe 46             	cmp    $0x46,%esi
41300b:	74 08                	je     0x413015
41300d:	88 5d fc             	mov    %bl,-0x4(%ebp)
413010:	83 fe 47             	cmp    $0x47,%esi
413013:	75 04                	jne    0x413019
413015:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
413019:	8b 4d 24             	mov    0x24(%ebp),%ecx
41301c:	8b c1                	mov    %ecx,%eax
41301e:	83 e0 08             	and    $0x8,%eax
413021:	0b c3                	or     %ebx,%eax
413023:	75 41                	jne    0x413066
413025:	ff 75 08             	push   0x8(%ebp)
413028:	e8 e0 f5 ff ff       	call   0x41260d
41302d:	59                   	pop    %ecx
41302e:	8b c8                	mov    %eax,%ecx
413030:	85 c9                	test   %ecx,%ecx
413032:	74 2f                	je     0x413063
413034:	8b 45 08             	mov    0x8(%ebp),%eax
413037:	39 58 04             	cmp    %ebx,0x4(%eax)
41303a:	7f 0c                	jg     0x413048
41303c:	7c 04                	jl     0x413042
41303e:	39 18                	cmp    %ebx,(%eax)
413040:	73 06                	jae    0x413048
413042:	c6 45 f8 01          	movb   $0x1,-0x8(%ebp)
413046:	eb 03                	jmp    0x41304b
413048:	88 5d f8             	mov    %bl,-0x8(%ebp)
41304b:	ff 75 fc             	push   -0x4(%ebp)
41304e:	ff 75 10             	push   0x10(%ebp)
413051:	57                   	push   %edi
413052:	ff 75 f8             	push   -0x8(%ebp)
413055:	51                   	push   %ecx
413056:	e8 09 fe ff ff       	call   0x412e64
41305b:	83 c4 14             	add    $0x14,%esp
41305e:	e9 b4 00 00 00       	jmp    0x413117
413063:	8b 4d 24             	mov    0x24(%ebp),%ecx
413066:	8b c1                	mov    %ecx,%eax
413068:	83 e0 10             	and    $0x10,%eax
41306b:	0b c3                	or     %ebx,%eax
41306d:	74 04                	je     0x413073
41306f:	6a 03                	push   $0x3
413071:	eb 02                	jmp    0x413075
413073:	6a 02                	push   $0x2
413075:	83 e1 20             	and    $0x20,%ecx
413078:	0b cb                	or     %ebx,%ecx
41307a:	58                   	pop    %eax
41307b:	74 03                	je     0x413080
41307d:	8b 5d 30             	mov    0x30(%ebp),%ebx
413080:	83 fe 61             	cmp    $0x61,%esi
413083:	7f 2b                	jg     0x4130b0
413085:	74 0a                	je     0x413091
413087:	83 ee 41             	sub    $0x41,%esi
41308a:	74 05                	je     0x413091
41308c:	83 ee 04             	sub    $0x4,%esi
41308f:	eb 22                	jmp    0x4130b3
413091:	53                   	push   %ebx
413092:	ff 75 2c             	push   0x2c(%ebp)
413095:	50                   	push   %eax
413096:	ff 75 fc             	push   -0x4(%ebp)
413099:	ff 75 20             	push   0x20(%ebp)
41309c:	ff 75 18             	push   0x18(%ebp)
41309f:	ff 75 14             	push   0x14(%ebp)
4130a2:	ff 75 10             	push   0x10(%ebp)
4130a5:	57                   	push   %edi
4130a6:	ff 75 08             	push   0x8(%ebp)
4130a9:	e8 64 f6 ff ff       	call   0x412712
4130ae:	eb 64                	jmp    0x413114
4130b0:	83 ee 65             	sub    $0x65,%esi
4130b3:	74 42                	je     0x4130f7
4130b5:	83 ee 01             	sub    $0x1,%esi
4130b8:	74 1f                	je     0x4130d9
4130ba:	ff 75 2c             	push   0x2c(%ebp)
4130bd:	53                   	push   %ebx
4130be:	50                   	push   %eax
4130bf:	ff 75 fc             	push   -0x4(%ebp)
4130c2:	ff 75 20             	push   0x20(%ebp)
4130c5:	ff 75 18             	push   0x18(%ebp)
4130c8:	ff 75 14             	push   0x14(%ebp)
4130cb:	ff 75 10             	push   0x10(%ebp)
4130ce:	57                   	push   %edi
4130cf:	ff 75 08             	push   0x8(%ebp)
4130d2:	e8 c3 fc ff ff       	call   0x412d9a
4130d7:	eb 3b                	jmp    0x413114
4130d9:	53                   	push   %ebx
4130da:	ff 75 2c             	push   0x2c(%ebp)
4130dd:	ff 75 20             	push   0x20(%ebp)
4130e0:	ff 75 18             	push   0x18(%ebp)
4130e3:	ff 75 14             	push   0x14(%ebp)
4130e6:	ff 75 10             	push   0x10(%ebp)
4130e9:	57                   	push   %edi
4130ea:	ff 75 08             	push   0x8(%ebp)
4130ed:	e8 1f fb ff ff       	call   0x412c11
4130f2:	83 c4 20             	add    $0x20,%esp
4130f5:	eb 20                	jmp    0x413117
4130f7:	53                   	push   %ebx
4130f8:	ff 75 2c             	push   0x2c(%ebp)
4130fb:	50                   	push   %eax
4130fc:	ff 75 fc             	push   -0x4(%ebp)
4130ff:	ff 75 20             	push   0x20(%ebp)
413102:	ff 75 18             	push   0x18(%ebp)
413105:	ff 75 14             	push   0x14(%ebp)
413108:	ff 75 10             	push   0x10(%ebp)
41310b:	57                   	push   %edi
41310c:	ff 75 08             	push   0x8(%ebp)
41310f:	e8 0d f9 ff ff       	call   0x412a21
413114:	83 c4 28             	add    $0x28,%esp
413117:	5b                   	pop    %ebx
413118:	5f                   	pop    %edi
413119:	5e                   	pop    %esi
41311a:	c9                   	leave
41311b:	c3                   	ret
41311c:	8b ff                	mov    %edi,%edi
41311e:	55                   	push   %ebp
41311f:	8b ec                	mov    %esp,%ebp
413121:	8b 45 08             	mov    0x8(%ebp),%eax
413124:	85 c0                	test   %eax,%eax
413126:	75 15                	jne    0x41313d
413128:	e8 a6 bb ff ff       	call   0x40ecd3
41312d:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
413133:	e8 de ba ff ff       	call   0x40ec16
413138:	83 c8 ff             	or     $0xffffffff,%eax
41313b:	5d                   	pop    %ebp
41313c:	c3                   	ret
41313d:	8b 40 10             	mov    0x10(%eax),%eax
413140:	90                   	nop
413141:	5d                   	pop    %ebp
413142:	c3                   	ret
413143:	8b 0d 18 60 42 00    	mov    0x426018,%ecx
413149:	33 c0                	xor    %eax,%eax
41314b:	83 c9 01             	or     $0x1,%ecx
41314e:	39 0d 30 73 42 00    	cmp    %ecx,0x427330
413154:	0f 94 c0             	sete   %al
413157:	c3                   	ret
413158:	8b ff                	mov    %edi,%edi
41315a:	55                   	push   %ebp
41315b:	8b ec                	mov    %esp,%ebp
41315d:	51                   	push   %ecx
41315e:	51                   	push   %ecx
41315f:	66 8b 45 08          	mov    0x8(%ebp),%ax
413163:	b9 ff ff 00 00       	mov    $0xffff,%ecx
413168:	56                   	push   %esi
413169:	66 8b 75 0c          	mov    0xc(%ebp),%si
41316d:	0f b7 d6             	movzwl %si,%edx
413170:	66 3b c1             	cmp    %cx,%ax
413173:	74 47                	je     0x4131bc
413175:	b9 00 01 00 00       	mov    $0x100,%ecx
41317a:	66 3b c1             	cmp    %cx,%ax
41317d:	73 10                	jae    0x41318f
41317f:	0f b7 c8             	movzwl %ax,%ecx
413182:	a1 44 66 42 00       	mov    0x426644,%eax
413187:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
41318b:	23 c2                	and    %edx,%eax
41318d:	eb 2f                	jmp    0x4131be
41318f:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
413193:	33 c0                	xor    %eax,%eax
413195:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
413199:	8d 45 fc             	lea    -0x4(%ebp),%eax
41319c:	50                   	push   %eax
41319d:	6a 01                	push   $0x1
41319f:	8d 45 f8             	lea    -0x8(%ebp),%eax
4131a2:	50                   	push   %eax
4131a3:	6a 01                	push   $0x1
4131a5:	e8 72 36 00 00       	call   0x41681c
4131aa:	83 c4 10             	add    $0x10,%esp
4131ad:	85 c0                	test   %eax,%eax
4131af:	74 0b                	je     0x4131bc