413c2c:	8b cb                	mov    %ebx,%ecx
413c2e:	e8 3c e8 ff ff       	call   0x41246f
413c33:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
413c37:	8b 43 78             	mov    0x78(%ebx),%eax
413c3a:	83 e8 05             	sub    $0x5,%eax
413c3d:	39 06                	cmp    %eax,(%esi)
413c3f:	7e 0f                	jle    0x413c50
413c41:	8b cb                	mov    %ebx,%ecx
413c43:	e8 49 e3 ff ff       	call   0x411f91
413c48:	84 c0                	test   %al,%al
413c4a:	0f 84 80 01 00 00    	je     0x413dd0
413c50:	8b ce                	mov    %esi,%ecx
413c52:	e8 b3 5a ff ff       	call   0x40970a
413c57:	8b 97 84 00 00 00    	mov    0x84(%edi),%edx
413c5d:	25 fe ff 00 00       	and    $0xfffe,%eax
413c62:	3b 44 97 04          	cmp    0x4(%edi,%edx,4),%eax
413c66:	73 29                	jae    0x413c91
413c68:	6a 10                	push   $0x10
413c6a:	59                   	pop    %ecx
413c6b:	2b ca                	sub    %edx,%ecx
413c6d:	d3 e8                	shr    %cl,%eax
413c6f:	0f b6 8c 38 88 00 00 	movzbl 0x88(%eax,%edi,1),%ecx
413c76:	00
413c77:	03 4e 04             	add    0x4(%esi),%ecx
413c7a:	8b d1                	mov    %ecx,%edx
413c7c:	c1 ea 03             	shr    $0x3,%edx
413c7f:	01 16                	add    %edx,(%esi)
413c81:	83 e1 07             	and    $0x7,%ecx
413c84:	89 4e 04             	mov    %ecx,0x4(%esi)
413c87:	0f b7 84 47 88 04 00 	movzwl 0x488(%edi,%eax,2),%eax
413c8e:	00
413c8f:	eb 55                	jmp    0x413ce6
413c91:	42                   	inc    %edx
413c92:	c7 45 f8 0f 00 00 00 	movl   $0xf,-0x8(%ebp)
413c99:	83 fa 0f             	cmp    $0xf,%edx
413c9c:	73 16                	jae    0x413cb4
413c9e:	8d 4c 97 04          	lea    0x4(%edi,%edx,4),%ecx
413ca2:	3b 01                	cmp    (%ecx),%eax
413ca4:	72 0b                	jb     0x413cb1
413ca6:	42                   	inc    %edx
413ca7:	83 c1 04             	add    $0x4,%ecx
413caa:	83 fa 0f             	cmp    $0xf,%edx
413cad:	72 f3                	jb     0x413ca2
413caf:	eb 03                	jmp    0x413cb4
413cb1:	89 55 f8             	mov    %edx,-0x8(%ebp)
413cb4:	8b 4e 04             	mov    0x4(%esi),%ecx
413cb7:	03 4d f8             	add    -0x8(%ebp),%ecx
413cba:	6a 10                	push   $0x10
413cbc:	8b d1                	mov    %ecx,%edx
413cbe:	c1 ea 03             	shr    $0x3,%edx
413cc1:	01 16                	add    %edx,(%esi)
413cc3:	8b 55 f8             	mov    -0x8(%ebp),%edx
413cc6:	83 e1 07             	and    $0x7,%ecx
413cc9:	89 4e 04             	mov    %ecx,0x4(%esi)
413ccc:	2b 04 97             	sub    (%edi,%edx,4),%eax
413ccf:	59                   	pop    %ecx
413cd0:	2b ca                	sub    %edx,%ecx
413cd2:	d3 e8                	shr    %cl,%eax
413cd4:	03 44 97 44          	add    0x44(%edi,%edx,4),%eax
413cd8:	3b 07                	cmp    (%edi),%eax
413cda:	72 02                	jb     0x413cde
413cdc:	33 c0                	xor    %eax,%eax
413cde:	0f b7 84 47 88 0c 00 	movzwl 0xc88(%edi,%eax,2),%eax
413ce5:	00
413ce6:	83 f8 10             	cmp    $0x10,%eax
413ce9:	7d 1f                	jge    0x413d0a
413ceb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
413cee:	8a 94 19 c0 e4 00 00 	mov    0xe4c0(%ecx,%ebx,1),%dl
413cf5:	02 d0                	add    %al,%dl
413cf7:	80 e2 0f             	and    $0xf,%dl
413cfa:	88 94 0d 50 fe ff ff 	mov    %dl,-0x1b0(%ebp,%ecx,1)
413d01:	41                   	inc    %ecx
413d02:	89 4d fc             	mov    %ecx,-0x4(%ebp)
413d05:	e9 ab 00 00 00       	jmp    0x413db5
413d0a:	83 f8 12             	cmp    $0x12,%eax
413d0d:	8b ce                	mov    %esi,%ecx
413d0f:	7d 5a                	jge    0x413d6b
413d11:	83 f8 10             	cmp    $0x10,%eax
413d14:	75 0f                	jne    0x413d25
413d16:	e8 34 5a ff ff       	call   0x40974f
413d1b:	c1 e8 0d             	shr    $0xd,%eax
413d1e:	83 c0 03             	add    $0x3,%eax
413d21:	6a 03                	push   $0x3
413d23:	eb 0d                	jmp    0x413d32
413d25:	e8 25 5a ff ff       	call   0x40974f
413d2a:	c1 e8 09             	shr    $0x9,%eax
413d2d:	83 c0 0b             	add    $0xb,%eax
413d30:	6a 07                	push   $0x7
413d32:	8b ce                	mov    %esi,%ecx
413d34:	89 45 f8             	mov    %eax,-0x8(%ebp)
413d37:	e8 fc 59 ff ff       	call   0x409738
413d3c:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
413d40:	7e 73                	jle    0x413db5
413d42:	eb 1f                	jmp    0x413d63
413d44:	8b 45 fc             	mov    -0x4(%ebp),%eax
413d47:	ff 4d f8             	decl   -0x8(%ebp)
413d4a:	3d 94 01 00 00       	cmp    $0x194,%eax
413d4f:	7d 71                	jge    0x413dc2
413d51:	8a 8c 05 4f fe ff ff 	mov    -0x1b1(%ebp,%eax,1),%cl
413d58:	88 8c 05 50 fe ff ff 	mov    %cl,-0x1b0(%ebp,%eax,1)
413d5f:	40                   	inc    %eax
413d60:	89 45 fc             	mov    %eax,-0x4(%ebp)
413d63:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
413d67:	7f db                	jg     0x413d44
413d69:	eb 4a                	jmp    0x413db5
413d6b:	75 0f                	jne    0x413d7c
413d6d:	e8 dd 59 ff ff       	call   0x40974f
413d72:	c1 e8 0d             	shr    $0xd,%eax
413d75:	83 c0 03             	add    $0x3,%eax
413d78:	6a 03                	push   $0x3
413d7a:	eb 0d                	jmp    0x413d89
413d7c:	e8 ce 59 ff ff       	call   0x40974f
413d81:	c1 e8 09             	shr    $0x9,%eax
413d84:	83 c0 0b             	add    $0xb,%eax
413d87:	6a 07                	push   $0x7
413d89:	8b ce                	mov    %esi,%ecx
413d8b:	89 45 f8             	mov    %eax,-0x8(%ebp)
413d8e:	e8 a5 59 ff ff       	call   0x409738
413d93:	eb 1a                	jmp    0x413daf
413d95:	ff 4d f8             	decl   -0x8(%ebp)
413d98:	81 7d fc 94 01 00 00 	cmpl   $0x194,-0x4(%ebp)
413d9f:	7d 21                	jge    0x413dc2
413da1:	8b 45 fc             	mov    -0x4(%ebp),%eax
413da4:	ff 45 fc             	incl   -0x4(%ebp)
413da7:	c6 84 05 50 fe ff ff 	movb   $0x0,-0x1b0(%ebp,%eax,1)
413dae:	00
413daf:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
413db3:	7f e0                	jg     0x413d95
413db5:	81 7d fc 94 01 00 00 	cmpl   $0x194,-0x4(%ebp)
413dbc:	0f 8c 75 fe ff ff    	jl     0x413c37
413dc2:	8b 06                	mov    (%esi),%eax
413dc4:	3b 43 78             	cmp    0x78(%ebx),%eax
413dc7:	c6 83 74 e6 00 00 01 	movb   $0x1,0xe674(%ebx)
413dce:	7e 04                	jle    0x413dd4
413dd0:	32 c0                	xor    %al,%al
413dd2:	eb 76                	jmp    0x413e4a
413dd4:	68 2b 01 00 00       	push   $0x12b
413dd9:	8d 83 94 00 00 00    	lea    0x94(%ebx),%eax
413ddf:	50                   	push   %eax
413de0:	8d 85 50 fe ff ff    	lea    -0x1b0(%ebp),%eax
413de6:	50                   	push   %eax
413de7:	8b cb                	mov    %ebx,%ecx
413de9:	e8 81 e6 ff ff       	call   0x41246f
413dee:	6a 3c                	push   $0x3c
413df0:	8d 83 80 0f 00 00    	lea    0xf80(%ebx),%eax
413df6:	50                   	push   %eax
413df7:	8d 85 7b ff ff ff    	lea    -0x85(%ebp),%eax
413dfd:	50                   	push   %eax
413dfe:	8b cb                	mov    %ebx,%ecx
413e00:	e8 6a e6 ff ff       	call   0x41246f
413e05:	6a 11                	push   $0x11
413e07:	8d 83 6c 1e 00 00    	lea    0x1e6c(%ebx),%eax
413e0d:	50                   	push   %eax
413e0e:	8d 45 b7             	lea    -0x49(%ebp),%eax
413e11:	50                   	push   %eax
413e12:	8b cb                	mov    %ebx,%ecx
413e14:	e8 56 e6 ff ff       	call   0x41246f
413e19:	6a 1c                	push   $0x1c
413e1b:	8d 83 58 2d 00 00    	lea    0x2d58(%ebx),%eax
413e21:	50                   	push   %eax
413e22:	8d 45 c8             	lea    -0x38(%ebp),%eax
413e25:	50                   	push   %eax
413e26:	8b cb                	mov    %ebx,%ecx
413e28:	e8 42 e6 ff ff       	call   0x41246f
413e2d:	68 ae 01 00 00       	push   $0x1ae
413e32:	8d 85 50 fe ff ff    	lea    -0x1b0(%ebp),%eax
413e38:	50                   	push   %eax
413e39:	81 c3 c0 e4 00 00    	add    $0xe4c0,%ebx
413e3f:	53                   	push   %ebx
413e40:	e8 2b 7e 00 00       	call   0x41bc70
413e45:	83 c4 0c             	add    $0xc,%esp
413e48:	b0 01                	mov    $0x1,%al
413e4a:	5f                   	pop    %edi
413e4b:	5e                   	pop    %esi
413e4c:	5b                   	pop    %ebx
413e4d:	c9                   	leave
413e4e:	c3                   	ret
413e4f:	55                   	push   %ebp
413e50:	8b ec                	mov    %esp,%ebp
413e52:	56                   	push   %esi
413e53:	8b 75 08             	mov    0x8(%ebp),%esi
413e56:	57                   	push   %edi
413e57:	8b ce                	mov    %esi,%ecx
413e59:	e8 f1 58 ff ff       	call   0x40974f
413e5e:	8b 4e 04             	mov    0x4(%esi),%ecx
413e61:	c1 e8 0e             	shr    $0xe,%eax
413e64:	40                   	inc    %eax
413e65:	41                   	inc    %ecx
413e66:	41                   	inc    %ecx
413e67:	8b d1                	mov    %ecx,%edx
413e69:	c1 ea 03             	shr    $0x3,%edx
413e6c:	01 16                	add    %edx,(%esi)
413e6e:	33 ff                	xor    %edi,%edi
413e70:	83 e1 07             	and    $0x7,%ecx
413e73:	89 4e 04             	mov    %ecx,0x4(%esi)
413e76:	89 7d 08             	mov    %edi,0x8(%ebp)
413e79:	3b c7                	cmp    %edi,%eax
413e7b:	76 2e                	jbe    0x413eab
413e7d:	53                   	push   %ebx
413e7e:	8b d8                	mov    %eax,%ebx
413e80:	8b ce                	mov    %esi,%ecx
413e82:	e8 c8 58 ff ff       	call   0x40974f
413e87:	c1 e8 08             	shr    $0x8,%eax
413e8a:	8b cf                	mov    %edi,%ecx
413e8c:	d3 e0                	shl    %cl,%eax
413e8e:	83 c7 08             	add    $0x8,%edi
413e91:	01 45 08             	add    %eax,0x8(%ebp)
413e94:	8b 46 04             	mov    0x4(%esi),%eax
413e97:	83 c0 08             	add    $0x8,%eax
413e9a:	8b c8                	mov    %eax,%ecx
413e9c:	c1 e9 03             	shr    $0x3,%ecx
413e9f:	01 0e                	add    %ecx,(%esi)
413ea1:	83 e0 07             	and    $0x7,%eax
413ea4:	4b                   	dec    %ebx
413ea5:	89 46 04             	mov    %eax,0x4(%esi)
413ea8:	75 d6                	jne    0x413e80
413eaa:	5b                   	pop    %ebx
413eab:	8b 45 08             	mov    0x8(%ebp),%eax
413eae:	5f                   	pop    %edi
413eaf:	5e                   	pop    %esi
413eb0:	5d                   	pop    %ebp
413eb1:	c2 04 00             	ret    $0x4
413eb4:	53                   	push   %ebx
413eb5:	57                   	push   %edi
413eb6:	8b 7c 24 0c          	mov    0xc(%esp),%edi
413eba:	80 7f 08 00          	cmpb   $0x0,0x8(%edi)
413ebe:	8b d9                	mov    %ecx,%ebx
413ec0:	75 13                	jne    0x413ed5
413ec2:	8b 43 78             	mov    0x78(%ebx),%eax
413ec5:	83 e8 10             	sub    $0x10,%eax
413ec8:	39 07                	cmp    %eax,(%edi)
413eca:	7e 09                	jle    0x413ed5
413ecc:	e8 3e e1 ff ff       	call   0x41200f
413ed1:	84 c0                	test   %al,%al
413ed3:	74 50                	je     0x413f25
413ed5:	56                   	push   %esi
413ed6:	57                   	push   %edi
413ed7:	8b cb                	mov    %ebx,%ecx
413ed9:	e8 71 ff ff ff       	call   0x413e4f
413ede:	8b 74 24 14          	mov    0x14(%esp),%esi
413ee2:	57                   	push   %edi
413ee3:	8b cb                	mov    %ebx,%ecx
413ee5:	89 46 04             	mov    %eax,0x4(%esi)
413ee8:	e8 62 ff ff ff       	call   0x413e4f
413eed:	8b cf                	mov    %edi,%ecx
413eef:	89 46 08             	mov    %eax,0x8(%esi)
413ef2:	e8 58 58 ff ff       	call   0x40974f
413ef7:	c1 e8 0d             	shr    $0xd,%eax
413efa:	6a 03                	push   $0x3
413efc:	8b cf                	mov    %edi,%ecx
413efe:	88 06                	mov    %al,(%esi)
413f00:	e8 33 58 ff ff       	call   0x409738
413f05:	80 3e 00             	cmpb   $0x0,(%esi)
413f08:	75 18                	jne    0x413f22
413f0a:	8b cf                	mov    %edi,%ecx
413f0c:	e8 3e 58 ff ff       	call   0x40974f
413f11:	c1 e8 0b             	shr    $0xb,%eax
413f14:	fe c0                	inc    %al
413f16:	6a 05                	push   $0x5
413f18:	8b cf                	mov    %edi,%ecx
413f1a:	88 46 0c             	mov    %al,0xc(%esi)
413f1d:	e8 16 58 ff ff       	call   0x409738
413f22:	b0 01                	mov    $0x1,%al
413f24:	5e                   	pop    %esi
413f25:	5f                   	pop    %edi
413f26:	5b                   	pop    %ebx
413f27:	c2 08 00             	ret    $0x8
413f2a:	55                   	push   %ebp
413f2b:	8b ec                	mov    %esp,%ebp
413f2d:	51                   	push   %ecx
413f2e:	8b 55 10             	mov    0x10(%ebp),%edx
413f31:	53                   	push   %ebx
413f32:	8a 1a                	mov    (%edx),%bl
413f34:	56                   	push   %esi
413f35:	57                   	push   %edi
413f36:	8b 7d 08             	mov    0x8(%ebp),%edi
413f39:	89 7d fc             	mov    %edi,-0x4(%ebp)
413f3c:	84 db                	test   %bl,%bl
413f3e:	0f 84 f3 00 00 00    	je     0x414037
413f44:	0f 86 e9 00 00 00    	jbe    0x414033
413f4a:	80 fb 02             	cmp    $0x2,%bl
413f4d:	76 67                	jbe    0x413fb6
413f4f:	80 fb 03             	cmp    $0x3,%bl
413f52:	0f 85 db 00 00 00    	jne    0x414033
413f58:	8b 55 0c             	mov    0xc(%ebp),%edx
413f5b:	8b 89 50 4c 00 00    	mov    0x4c50(%ecx),%ecx
413f61:	83 c2 fd             	add    $0xfffffffd,%edx
413f64:	85 d2                	test   %edx,%edx
413f66:	7e 47                	jle    0x413faf
413f68:	8d 72 ff             	lea    -0x1(%edx),%esi
413f6b:	c1 ee 02             	shr    $0x2,%esi
413f6e:	8b d9                	mov    %ecx,%ebx
413f70:	8d 47 01             	lea    0x1(%edi),%eax
413f73:	46                   	inc    %esi
413f74:	80 78 02 eb          	cmpb   $0xeb,0x2(%eax)
413f78:	75 2c                	jne    0x413fa6
413f7a:	0f b6 48 01          	movzbl 0x1(%eax),%ecx
413f7e:	0f b6 10             	movzbl (%eax),%edx
413f81:	c1 e1 08             	shl    $0x8,%ecx
413f84:	03 ca                	add    %edx,%ecx
413f86:	c1 e1 08             	shl    $0x8,%ecx
413f89:	8b d3                	mov    %ebx,%edx
413f8b:	c1 ea 02             	shr    $0x2,%edx
413f8e:	2b ca                	sub    %edx,%ecx
413f90:	0f b6 50 ff          	movzbl -0x1(%eax),%edx
413f94:	03 ca                	add    %edx,%ecx
413f96:	8b d1                	mov    %ecx,%edx
413f98:	c1 ea 08             	shr    $0x8,%edx
413f9b:	88 48 ff             	mov    %cl,-0x1(%eax)
413f9e:	c1 e9 10             	shr    $0x10,%ecx
413fa1:	88 10                	mov    %dl,(%eax)
413fa3:	88 48 01             	mov    %cl,0x1(%eax)
413fa6:	83 c0 04             	add    $0x4,%eax
413fa9:	83 c3 04             	add    $0x4,%ebx
413fac:	4e                   	dec    %esi
413fad:	75 c5                	jne    0x413f74
413faf:	8b c7                	mov    %edi,%eax
413fb1:	e9 c7 00 00 00       	jmp    0x41407d
413fb6:	8b 45 0c             	mov    0xc(%ebp),%eax
413fb9:	8b 89 50 4c 00 00    	mov    0x4c50(%ecx),%ecx
413fbf:	80 fb 02             	cmp    $0x2,%bl
413fc2:	0f 94 c3             	sete   %bl
413fc5:	83 65 08 00          	andl   $0x0,0x8(%ebp)
413fc9:	83 c0 fc             	add    $0xfffffffc,%eax
413fcc:	80 c3 e8             	add    $0xe8,%bl
413fcf:	89 45 10             	mov    %eax,0x10(%ebp)
413fd2:	85 c0                	test   %eax,%eax
413fd4:	7e 58                	jle    0x41402e
413fd6:	8b d1                	mov    %ecx,%edx
413fd8:	be 00 00 00 80       	mov    $0x80000000,%esi
413fdd:	8a 0f                	mov    (%edi),%cl
413fdf:	47                   	inc    %edi
413fe0:	ff 45 08             	incl   0x8(%ebp)
413fe3:	42                   	inc    %edx
413fe4:	89 55 0c             	mov    %edx,0xc(%ebp)
413fe7:	80 f9 e8             	cmp    $0xe8,%cl
413fea:	74 04                	je     0x413ff0
413fec:	3a cb                	cmp    %bl,%cl
413fee:	75 36                	jne    0x414026
413ff0:	8b 0f                	mov    (%edi),%ecx
413ff2:	81 e2 ff ff ff 00    	and    $0xffffff,%edx
413ff8:	85 ce                	test   %ecx,%esi
413ffa:	74 0f                	je     0x41400b
413ffc:	8d 04 11             	lea    (%ecx,%edx,1),%eax
413fff:	85 c6                	test   %eax,%esi
414001:	75 16                	jne    0x414019
414003:	81 c1 00 00 00 01    	add    $0x1000000,%ecx
414009:	eb 0c                	jmp    0x414017
41400b:	8d 81 00 00 00 ff    	lea    -0x1000000(%ecx),%eax
414011:	85 c6                	test   %eax,%esi