411baa:	77 05                	ja     0x411bb1
411bac:	80 c1 d9             	add    $0xd9,%cl
411baf:	eb 0b                	jmp    0x411bbc
411bb1:	8a c1                	mov    %cl,%al
411bb3:	2c 41                	sub    $0x41,%al
411bb5:	3c 05                	cmp    $0x5,%al
411bb7:	77 03                	ja     0x411bbc
411bb9:	80 c1 f9             	add    $0xf9,%cl
411bbc:	0f be c1             	movsbl %cl,%eax
411bbf:	c1 e6 04             	shl    $0x4,%esi
411bc2:	8d 74 06 d0          	lea    -0x30(%esi,%eax,1),%esi
411bc6:	8a 0a                	mov    (%edx),%cl
411bc8:	84 c9                	test   %cl,%cl
411bca:	75 d7                	jne    0x411ba3
411bcc:	8b c6                	mov    %esi,%eax
411bce:	5e                   	pop    %esi
411bcf:	c3                   	ret
411bd0:	33 c0                	xor    %eax,%eax
411bd2:	8a 0a                	mov    (%edx),%cl
411bd4:	42                   	inc    %edx
411bd5:	80 f9 41             	cmp    $0x41,%cl
411bd8:	7c 05                	jl     0x411bdf
411bda:	80 f9 5a             	cmp    $0x5a,%cl
411bdd:	7e 08                	jle    0x411be7
411bdf:	80 e9 61             	sub    $0x61,%cl
411be2:	80 f9 19             	cmp    $0x19,%cl
411be5:	77 03                	ja     0x411bea
411be7:	40                   	inc    %eax
411be8:	eb e8                	jmp    0x411bd2
411bea:	c3                   	ret
411beb:	55                   	push   %ebp
411bec:	8b ec                	mov    %esp,%ebp
411bee:	83 ec 7c             	sub    $0x7c,%esp
411bf1:	a1 20 c5 41 00       	mov    0x41c520,%eax
411bf6:	33 c5                	xor    %ebp,%eax
411bf8:	89 45 fc             	mov    %eax,-0x4(%ebp)
411bfb:	56                   	push   %esi
411bfc:	57                   	push   %edi
411bfd:	8b 7d 08             	mov    0x8(%ebp),%edi
411c00:	e8 47 a9 ff ff       	call   0x40c54c
411c05:	8b f0                	mov    %eax,%esi
411c07:	8b d7                	mov    %edi,%edx
411c09:	81 c6 9c 00 00 00    	add    $0x9c,%esi
411c0f:	e8 8a ff ff ff       	call   0x411b9e
411c14:	8b f8                	mov    %eax,%edi
411c16:	6a 78                	push   $0x78
411c18:	8d 45 84             	lea    -0x7c(%ebp),%eax
411c1b:	50                   	push   %eax
411c1c:	8b 46 14             	mov    0x14(%esi),%eax
411c1f:	f7 d8                	neg    %eax
411c21:	1b c0                	sbb    %eax,%eax
411c23:	25 05 f0 ff ff       	and    $0xfffff005,%eax
411c28:	05 02 10 00 00       	add    $0x1002,%eax
411c2d:	50                   	push   %eax
411c2e:	57                   	push   %edi
411c2f:	ff 15 68 71 41 00    	call   *0x417168
411c35:	85 c0                	test   %eax,%eax
411c37:	75 06                	jne    0x411c3f
411c39:	21 46 08             	and    %eax,0x8(%esi)
411c3c:	40                   	inc    %eax
411c3d:	eb 32                	jmp    0x411c71
411c3f:	8d 45 84             	lea    -0x7c(%ebp),%eax
411c42:	50                   	push   %eax
411c43:	ff 76 04             	push   0x4(%esi)
411c46:	e8 a6 36 00 00       	call   0x4152f1
411c4b:	85 c0                	test   %eax,%eax
411c4d:	59                   	pop    %ecx
411c4e:	59                   	pop    %ecx
411c4f:	75 15                	jne    0x411c66
411c51:	57                   	push   %edi
411c52:	e8 29 ff ff ff       	call   0x411b80
411c57:	85 c0                	test   %eax,%eax
411c59:	59                   	pop    %ecx
411c5a:	74 0a                	je     0x411c66
411c5c:	83 4e 08 04          	orl    $0x4,0x8(%esi)
411c60:	89 7e 1c             	mov    %edi,0x1c(%esi)
411c63:	89 7e 18             	mov    %edi,0x18(%esi)
411c66:	8b 46 08             	mov    0x8(%esi),%eax
411c69:	c1 e8 02             	shr    $0x2,%eax
411c6c:	f7 d0                	not    %eax
411c6e:	83 e0 01             	and    $0x1,%eax
411c71:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411c74:	5f                   	pop    %edi
411c75:	33 cd                	xor    %ebp,%ecx
411c77:	5e                   	pop    %esi
411c78:	e8 b8 42 ff ff       	call   0x405f35
411c7d:	c9                   	leave
411c7e:	c2 04 00             	ret    $0x4
411c81:	55                   	push   %ebp
411c82:	8b ec                	mov    %esp,%ebp
411c84:	83 ec 7c             	sub    $0x7c,%esp
411c87:	a1 20 c5 41 00       	mov    0x41c520,%eax
411c8c:	33 c5                	xor    %ebp,%eax
411c8e:	89 45 fc             	mov    %eax,-0x4(%ebp)
411c91:	56                   	push   %esi
411c92:	6a 78                	push   $0x78
411c94:	8d 45 84             	lea    -0x7c(%ebp),%eax
411c97:	50                   	push   %eax
411c98:	8b 45 08             	mov    0x8(%ebp),%eax
411c9b:	25 ff 03 00 00       	and    $0x3ff,%eax
411ca0:	6a 01                	push   $0x1
411ca2:	0d 00 04 00 00       	or     $0x400,%eax
411ca7:	50                   	push   %eax
411ca8:	8b f1                	mov    %ecx,%esi
411caa:	ff 15 68 71 41 00    	call   *0x417168
411cb0:	85 c0                	test   %eax,%eax
411cb2:	75 04                	jne    0x411cb8
411cb4:	33 c0                	xor    %eax,%eax
411cb6:	eb 2e                	jmp    0x411ce6
411cb8:	8d 55 84             	lea    -0x7c(%ebp),%edx
411cbb:	e8 de fe ff ff       	call   0x411b9e
411cc0:	39 45 08             	cmp    %eax,0x8(%ebp)
411cc3:	74 1e                	je     0x411ce3
411cc5:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
411cc9:	74 18                	je     0x411ce3
411ccb:	8b 36                	mov    (%esi),%esi
411ccd:	57                   	push   %edi
411cce:	8b d6                	mov    %esi,%edx
411cd0:	e8 fb fe ff ff       	call   0x411bd0
411cd5:	56                   	push   %esi
411cd6:	8b f8                	mov    %eax,%edi
411cd8:	e8 83 4a ff ff       	call   0x406760
411cdd:	59                   	pop    %ecx
411cde:	3b f8                	cmp    %eax,%edi
411ce0:	5f                   	pop    %edi
411ce1:	74 d1                	je     0x411cb4
411ce3:	33 c0                	xor    %eax,%eax
411ce5:	40                   	inc    %eax
411ce6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411ce9:	33 cd                	xor    %ebp,%ecx
411ceb:	5e                   	pop    %esi
411cec:	e8 44 42 ff ff       	call   0x405f35
411cf1:	c9                   	leave
411cf2:	c3                   	ret
411cf3:	55                   	push   %ebp
411cf4:	8b ec                	mov    %esp,%ebp
411cf6:	83 ec 7c             	sub    $0x7c,%esp
411cf9:	a1 20 c5 41 00       	mov    0x41c520,%eax
411cfe:	33 c5                	xor    %ebp,%eax
411d00:	89 45 fc             	mov    %eax,-0x4(%ebp)
411d03:	53                   	push   %ebx
411d04:	56                   	push   %esi
411d05:	57                   	push   %edi
411d06:	8b 7d 08             	mov    0x8(%ebp),%edi
411d09:	e8 3e a8 ff ff       	call   0x40c54c
411d0e:	8b f0                	mov    %eax,%esi
411d10:	8b d7                	mov    %edi,%edx
411d12:	81 c6 9c 00 00 00    	add    $0x9c,%esi
411d18:	e8 81 fe ff ff       	call   0x411b9e
411d1d:	8b 1d 68 71 41 00    	mov    0x417168,%ebx
411d23:	8b f8                	mov    %eax,%edi
411d25:	6a 78                	push   $0x78
411d27:	8d 45 84             	lea    -0x7c(%ebp),%eax
411d2a:	50                   	push   %eax
411d2b:	8b 46 14             	mov    0x14(%esi),%eax
411d2e:	f7 d8                	neg    %eax
411d30:	1b c0                	sbb    %eax,%eax
411d32:	25 05 f0 ff ff       	and    $0xfffff005,%eax
411d37:	05 02 10 00 00       	add    $0x1002,%eax
411d3c:	50                   	push   %eax
411d3d:	57                   	push   %edi
411d3e:	ff d3                	call   *%ebx
411d40:	85 c0                	test   %eax,%eax
411d42:	75 0c                	jne    0x411d50
411d44:	83 66 08 00          	andl   $0x0,0x8(%esi)
411d48:	33 c0                	xor    %eax,%eax
411d4a:	40                   	inc    %eax
411d4b:	e9 62 01 00 00       	jmp    0x411eb2
411d50:	8d 45 84             	lea    -0x7c(%ebp),%eax
411d53:	50                   	push   %eax
411d54:	ff 76 04             	push   0x4(%esi)
411d57:	e8 95 35 00 00       	call   0x4152f1
411d5c:	85 c0                	test   %eax,%eax
411d5e:	59                   	pop    %ecx
411d5f:	59                   	pop    %ecx
411d60:	0f 85 91 00 00 00    	jne    0x411df7
411d66:	6a 78                	push   $0x78
411d68:	8d 45 84             	lea    -0x7c(%ebp),%eax
411d6b:	50                   	push   %eax
411d6c:	8b 46 10             	mov    0x10(%esi),%eax
411d6f:	f7 d8                	neg    %eax
411d71:	1b c0                	sbb    %eax,%eax
411d73:	25 02 f0 ff ff       	and    $0xfffff002,%eax
411d78:	05 01 10 00 00       	add    $0x1001,%eax
411d7d:	50                   	push   %eax
411d7e:	57                   	push   %edi
411d7f:	ff d3                	call   *%ebx
411d81:	85 c0                	test   %eax,%eax
411d83:	74 bf                	je     0x411d44
411d85:	8d 45 84             	lea    -0x7c(%ebp),%eax
411d88:	50                   	push   %eax
411d89:	ff 36                	push   (%esi)
411d8b:	e8 61 35 00 00       	call   0x4152f1
411d90:	85 c0                	test   %eax,%eax
411d92:	59                   	pop    %ecx
411d93:	59                   	pop    %ecx
411d94:	75 0c                	jne    0x411da2
411d96:	81 4e 08 04 03 00 00 	orl    $0x304,0x8(%esi)
411d9d:	89 7e 18             	mov    %edi,0x18(%esi)
411da0:	eb 52                	jmp    0x411df4
411da2:	f6 46 08 02          	testb  $0x2,0x8(%esi)
411da6:	75 4f                	jne    0x411df7
411da8:	8b 46 0c             	mov    0xc(%esi),%eax
411dab:	85 c0                	test   %eax,%eax
411dad:	74 2c                	je     0x411ddb
411daf:	50                   	push   %eax
411db0:	8d 45 84             	lea    -0x7c(%ebp),%eax
411db3:	50                   	push   %eax
411db4:	ff 36                	push   (%esi)
411db6:	e8 76 36 00 00       	call   0x415431
411dbb:	83 c4 0c             	add    $0xc,%esp
411dbe:	85 c0                	test   %eax,%eax
411dc0:	75 19                	jne    0x411ddb
411dc2:	ff 36                	push   (%esi)
411dc4:	83 4e 08 02          	orl    $0x2,0x8(%esi)
411dc8:	89 7e 1c             	mov    %edi,0x1c(%esi)
411dcb:	e8 90 49 ff ff       	call   0x406760
411dd0:	3b 46 0c             	cmp    0xc(%esi),%eax
411dd3:	59                   	pop    %ecx
411dd4:	75 21                	jne    0x411df7
411dd6:	89 7e 18             	mov    %edi,0x18(%esi)
411dd9:	eb 1c                	jmp    0x411df7
411ddb:	8b 56 08             	mov    0x8(%esi),%edx
411dde:	f6 c2 01             	test   $0x1,%dl
411de1:	75 14                	jne    0x411df7
411de3:	57                   	push   %edi
411de4:	e8 97 fd ff ff       	call   0x411b80
411de9:	85 c0                	test   %eax,%eax
411deb:	59                   	pop    %ecx
411dec:	74 09                	je     0x411df7
411dee:	83 ca 01             	or     $0x1,%edx
411df1:	89 56 08             	mov    %edx,0x8(%esi)
411df4:	89 7e 1c             	mov    %edi,0x1c(%esi)
411df7:	8b 4e 08             	mov    0x8(%esi),%ecx
411dfa:	b8 00 03 00 00       	mov    $0x300,%eax
411dff:	23 c8                	and    %eax,%ecx
411e01:	3b c8                	cmp    %eax,%ecx
411e03:	0f 84 9e 00 00 00    	je     0x411ea7
411e09:	6a 78                	push   $0x78
411e0b:	8d 45 84             	lea    -0x7c(%ebp),%eax
411e0e:	50                   	push   %eax
411e0f:	8b 46 10             	mov    0x10(%esi),%eax
411e12:	f7 d8                	neg    %eax
411e14:	1b c0                	sbb    %eax,%eax
411e16:	25 02 f0 ff ff       	and    $0xfffff002,%eax
411e1b:	05 01 10 00 00       	add    $0x1001,%eax
411e20:	50                   	push   %eax
411e21:	57                   	push   %edi
411e22:	ff d3                	call   *%ebx
411e24:	85 c0                	test   %eax,%eax
411e26:	0f 84 18 ff ff ff    	je     0x411d44
411e2c:	8d 45 84             	lea    -0x7c(%ebp),%eax
411e2f:	50                   	push   %eax
411e30:	ff 36                	push   (%esi)
411e32:	e8 ba 34 00 00       	call   0x4152f1
411e37:	59                   	pop    %ecx
411e38:	33 db                	xor    %ebx,%ebx
411e3a:	85 c0                	test   %eax,%eax
411e3c:	59                   	pop    %ecx
411e3d:	75 2f                	jne    0x411e6e
411e3f:	81 4e 08 00 02 00 00 	orl    $0x200,0x8(%esi)
411e46:	39 5e 10             	cmp    %ebx,0x10(%esi)
411e49:	8b 46 08             	mov    0x8(%esi),%eax
411e4c:	74 0a                	je     0x411e58
411e4e:	0d 00 01 00 00       	or     $0x100,%eax
411e53:	89 46 08             	mov    %eax,0x8(%esi)
411e56:	eb 47                	jmp    0x411e9f
411e58:	39 5e 0c             	cmp    %ebx,0xc(%esi)
411e5b:	74 3b                	je     0x411e98
411e5d:	ff 36                	push   (%esi)
411e5f:	e8 fc 48 ff ff       	call   0x406760
411e64:	3b 46 0c             	cmp    0xc(%esi),%eax
411e67:	59                   	pop    %ecx
411e68:	75 2e                	jne    0x411e98
411e6a:	6a 01                	push   $0x1
411e6c:	eb 1c                	jmp    0x411e8a
411e6e:	39 5e 10             	cmp    %ebx,0x10(%esi)
411e71:	75 34                	jne    0x411ea7
411e73:	39 5e 0c             	cmp    %ebx,0xc(%esi)
411e76:	74 2f                	je     0x411ea7
411e78:	8d 45 84             	lea    -0x7c(%ebp),%eax
411e7b:	50                   	push   %eax
411e7c:	ff 36                	push   (%esi)
411e7e:	e8 6e 34 00 00       	call   0x4152f1
411e83:	85 c0                	test   %eax,%eax
411e85:	59                   	pop    %ecx
411e86:	59                   	pop    %ecx
411e87:	75 1e                	jne    0x411ea7
411e89:	53                   	push   %ebx
411e8a:	57                   	push   %edi
411e8b:	8b ce                	mov    %esi,%ecx
411e8d:	e8 ef fd ff ff       	call   0x411c81
411e92:	85 c0                	test   %eax,%eax
411e94:	59                   	pop    %ecx
411e95:	59                   	pop    %ecx
411e96:	74 0f                	je     0x411ea7
411e98:	81 4e 08 00 01 00 00 	orl    $0x100,0x8(%esi)
411e9f:	39 5e 18             	cmp    %ebx,0x18(%esi)
411ea2:	75 03                	jne    0x411ea7
411ea4:	89 7e 18             	mov    %edi,0x18(%esi)
411ea7:	8b 46 08             	mov    0x8(%esi),%eax
411eaa:	c1 e8 02             	shr    $0x2,%eax
411ead:	f7 d0                	not    %eax
411eaf:	83 e0 01             	and    $0x1,%eax
411eb2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411eb5:	5f                   	pop    %edi
411eb6:	5e                   	pop    %esi
411eb7:	33 cd                	xor    %ebp,%ecx
411eb9:	5b                   	pop    %ebx
411eba:	e8 76 40 ff ff       	call   0x405f35
411ebf:	c9                   	leave
411ec0:	c2 04 00             	ret    $0x4
411ec3:	55                   	push   %ebp
411ec4:	8b ec                	mov    %esp,%ebp
411ec6:	83 ec 7c             	sub    $0x7c,%esp
411ec9:	a1 20 c5 41 00       	mov    0x41c520,%eax
411ece:	33 c5                	xor    %ebp,%eax
411ed0:	89 45 fc             	mov    %eax,-0x4(%ebp)
411ed3:	56                   	push   %esi
411ed4:	57                   	push   %edi
411ed5:	8b 7d 08             	mov    0x8(%ebp),%edi
411ed8:	e8 6f a6 ff ff       	call   0x40c54c
411edd:	8b f0                	mov    %eax,%esi
411edf:	8b d7                	mov    %edi,%edx
411ee1:	81 c6 9c 00 00 00    	add    $0x9c,%esi
411ee7:	e8 b2 fc ff ff       	call   0x411b9e
411eec:	8b f8                	mov    %eax,%edi
411eee:	6a 78                	push   $0x78
411ef0:	8d 45 84             	lea    -0x7c(%ebp),%eax
411ef3:	50                   	push   %eax
411ef4:	8b 46 10             	mov    0x10(%esi),%eax
411ef7:	f7 d8                	neg    %eax
411ef9:	1b c0                	sbb    %eax,%eax
411efb:	25 02 f0 ff ff       	and    $0xfffff002,%eax
411f00:	05 01 10 00 00       	add    $0x1001,%eax
411f05:	50                   	push   %eax
411f06:	57                   	push   %edi
411f07:	ff 15 68 71 41 00    	call   *0x417168
411f0d:	85 c0                	test   %eax,%eax
411f0f:	75 06                	jne    0x411f17
411f11:	21 46 08             	and    %eax,0x8(%esi)
411f14:	40                   	inc    %eax
411f15:	eb 5b                	jmp    0x411f72
411f17:	8d 45 84             	lea    -0x7c(%ebp),%eax
411f1a:	50                   	push   %eax
411f1b:	ff 36                	push   (%esi)
411f1d:	e8 cf 33 00 00       	call   0x4152f1
411f22:	85 c0                	test   %eax,%eax
411f24:	59                   	pop    %ecx
411f25:	59                   	pop    %ecx