4c3982:	e8 e9 45 f4 ff       	call   0x407f70
4c3987:	25 ff 00 00 00       	and    $0xff,%eax
4c398c:	89 45 e8             	mov    %eax,-0x18(%ebp)
4c398f:	8b c7                	mov    %edi,%eax
4c3991:	e8 42 3c f6 ff       	call   0x4275d8
4c3996:	e8 cd 45 f4 ff       	call   0x407f68
4c399b:	25 ff 00 00 00       	and    $0xff,%eax
4c39a0:	89 45 f4             	mov    %eax,-0xc(%ebp)
4c39a3:	8b c7                	mov    %edi,%eax
4c39a5:	e8 2e 3c f6 ff       	call   0x4275d8
4c39aa:	e8 bd 45 f4 ff       	call   0x407f6c
4c39af:	25 ff 00 00 00       	and    $0xff,%eax
4c39b4:	89 45 ec             	mov    %eax,-0x14(%ebp)
4c39b7:	8b c7                	mov    %edi,%eax
4c39b9:	e8 1a 3c f6 ff       	call   0x4275d8
4c39be:	e8 ad 45 f4 ff       	call   0x407f70
4c39c3:	25 ff 00 00 00       	and    $0xff,%eax
4c39c8:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4c39cb:	80 7d 08 01          	cmpb   $0x1,0x8(%ebp)
4c39cf:	0f 85 94 00 00 00    	jne    0x4c3a69
4c39d5:	8b 7e 0c             	mov    0xc(%esi),%edi
4c39d8:	2b 7e 04             	sub    0x4(%esi),%edi
4c39db:	4f                   	dec    %edi
4c39dc:	85 ff                	test   %edi,%edi
4c39de:	0f 8c 13 01 00 00    	jl     0x4c3af7
4c39e4:	8b c7                	mov    %edi,%eax
4c39e6:	40                   	inc    %eax
4c39e7:	89 45 dc             	mov    %eax,-0x24(%ebp)
4c39ea:	33 db                	xor    %ebx,%ebx
4c39ec:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4c39ef:	2b 45 e8             	sub    -0x18(%ebp),%eax
4c39f2:	f7 eb                	imul   %ebx
4c39f4:	99                   	cltd
4c39f5:	f7 ff                	idiv   %edi
4c39f7:	8b c8                	mov    %eax,%ecx
4c39f9:	02 4d e8             	add    -0x18(%ebp),%cl
4c39fc:	8b 45 ec             	mov    -0x14(%ebp),%eax
4c39ff:	2b 45 f0             	sub    -0x10(%ebp),%eax
4c3a02:	f7 eb                	imul   %ebx
4c3a04:	99                   	cltd
4c3a05:	f7 ff                	idiv   %edi
4c3a07:	02 45 f0             	add    -0x10(%ebp),%al
4c3a0a:	50                   	push   %eax
4c3a0b:	8b 45 f4             	mov    -0xc(%ebp),%eax
4c3a0e:	2b 45 f8             	sub    -0x8(%ebp),%eax
4c3a11:	f7 eb                	imul   %ebx
4c3a13:	99                   	cltd
4c3a14:	f7 ff                	idiv   %edi
4c3a16:	02 45 f8             	add    -0x8(%ebp),%al
4c3a19:	5a                   	pop    %edx
4c3a1a:	e8 2d 45 f4 ff       	call   0x407f4c
4c3a1f:	50                   	push   %eax
4c3a20:	e8 d3 3a f4 ff       	call   0x4074f8
4c3a25:	89 45 e0             	mov    %eax,-0x20(%ebp)
4c3a28:	8b 45 e0             	mov    -0x20(%ebp),%eax
4c3a2b:	50                   	push   %eax
4c3a2c:	8b 46 0c             	mov    0xc(%esi),%eax
4c3a2f:	2b c3                	sub    %ebx,%eax
4c3a31:	50                   	push   %eax
4c3a32:	8d 45 cc             	lea    -0x34(%ebp),%eax
4c3a35:	50                   	push   %eax
4c3a36:	8b 4e 08             	mov    0x8(%esi),%ecx
4c3a39:	8b 56 04             	mov    0x4(%esi),%edx
4c3a3c:	8b 06                	mov    (%esi),%eax
4c3a3e:	e8 31 6c f5 ff       	call   0x41a674
4c3a43:	8d 45 cc             	lea    -0x34(%ebp),%eax
4c3a46:	50                   	push   %eax
4c3a47:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c3a4a:	e8 71 52 f6 ff       	call   0x428cc0
4c3a4f:	50                   	push   %eax
4c3a50:	e8 43 3f f4 ff       	call   0x407998
4c3a55:	8b 45 e0             	mov    -0x20(%ebp),%eax
4c3a58:	50                   	push   %eax
4c3a59:	e8 b2 3a f4 ff       	call   0x407510
4c3a5e:	43                   	inc    %ebx
4c3a5f:	ff 4d dc             	decl   -0x24(%ebp)
4c3a62:	75 88                	jne    0x4c39ec
4c3a64:	e9 8e 00 00 00       	jmp    0x4c3af7
4c3a69:	8b 7e 08             	mov    0x8(%esi),%edi
4c3a6c:	2b 3e                	sub    (%esi),%edi
4c3a6e:	4f                   	dec    %edi
4c3a6f:	85 ff                	test   %edi,%edi
4c3a71:	0f 8c 80 00 00 00    	jl     0x4c3af7
4c3a77:	8b c7                	mov    %edi,%eax
4c3a79:	40                   	inc    %eax
4c3a7a:	89 45 dc             	mov    %eax,-0x24(%ebp)
4c3a7d:	33 db                	xor    %ebx,%ebx
4c3a7f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4c3a82:	2b 45 e8             	sub    -0x18(%ebp),%eax
4c3a85:	f7 eb                	imul   %ebx
4c3a87:	99                   	cltd
4c3a88:	f7 ff                	idiv   %edi
4c3a8a:	8b c8                	mov    %eax,%ecx
4c3a8c:	02 4d e8             	add    -0x18(%ebp),%cl
4c3a8f:	8b 45 ec             	mov    -0x14(%ebp),%eax
4c3a92:	2b 45 f0             	sub    -0x10(%ebp),%eax
4c3a95:	f7 eb                	imul   %ebx
4c3a97:	99                   	cltd
4c3a98:	f7 ff                	idiv   %edi
4c3a9a:	02 45 f0             	add    -0x10(%ebp),%al
4c3a9d:	50                   	push   %eax
4c3a9e:	8b 45 f4             	mov    -0xc(%ebp),%eax
4c3aa1:	2b 45 f8             	sub    -0x8(%ebp),%eax
4c3aa4:	f7 eb                	imul   %ebx
4c3aa6:	99                   	cltd
4c3aa7:	f7 ff                	idiv   %edi
4c3aa9:	02 45 f8             	add    -0x8(%ebp),%al
4c3aac:	5a                   	pop    %edx
4c3aad:	e8 9a 44 f4 ff       	call   0x407f4c
4c3ab2:	50                   	push   %eax
4c3ab3:	e8 40 3a f4 ff       	call   0x4074f8
4c3ab8:	89 45 e0             	mov    %eax,-0x20(%ebp)
4c3abb:	8b 45 e0             	mov    -0x20(%ebp),%eax
4c3abe:	50                   	push   %eax
4c3abf:	8b 46 0c             	mov    0xc(%esi),%eax
4c3ac2:	50                   	push   %eax
4c3ac3:	8d 45 cc             	lea    -0x34(%ebp),%eax
4c3ac6:	50                   	push   %eax
4c3ac7:	8b 4e 08             	mov    0x8(%esi),%ecx
4c3aca:	2b cb                	sub    %ebx,%ecx
4c3acc:	8b 56 04             	mov    0x4(%esi),%edx
4c3acf:	8b 06                	mov    (%esi),%eax
4c3ad1:	e8 9e 6b f5 ff       	call   0x41a674
4c3ad6:	8d 45 cc             	lea    -0x34(%ebp),%eax
4c3ad9:	50                   	push   %eax
4c3ada:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c3add:	e8 de 51 f6 ff       	call   0x428cc0
4c3ae2:	50                   	push   %eax
4c3ae3:	e8 b0 3e f4 ff       	call   0x407998
4c3ae8:	8b 45 e0             	mov    -0x20(%ebp),%eax
4c3aeb:	50                   	push   %eax
4c3aec:	e8 1f 3a f4 ff       	call   0x407510
4c3af1:	43                   	inc    %ebx
4c3af2:	ff 4d dc             	decl   -0x24(%ebp)
4c3af5:	75 88                	jne    0x4c3a7f
4c3af7:	5f                   	pop    %edi
4c3af8:	5e                   	pop    %esi
4c3af9:	5b                   	pop    %ebx
4c3afa:	8b e5                	mov    %ebp,%esp
4c3afc:	5d                   	pop    %ebp
4c3afd:	c2 08 00             	ret    $0x8
4c3b00:	55                   	push   %ebp
4c3b01:	8b ec                	mov    %esp,%ebp
4c3b03:	83 c4 e8             	add    $0xffffffe8,%esp
4c3b06:	53                   	push   %ebx
4c3b07:	56                   	push   %esi
4c3b08:	57                   	push   %edi
4c3b09:	8b f2                	mov    %edx,%esi
4c3b0b:	8d 7d e8             	lea    -0x18(%ebp),%edi
4c3b0e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c3b0f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c3b10:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c3b11:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c3b12:	8b f1                	mov    %ecx,%esi
4c3b14:	8b d8                	mov    %eax,%ebx
4c3b16:	b2 01                	mov    $0x1,%dl
4c3b18:	a1 ec 6a 42 00       	mov    0x426aec,%eax
4c3b1d:	e8 ae 96 f6 ff       	call   0x42d1d0
4c3b22:	89 45 fc             	mov    %eax,-0x4(%ebp)
4c3b25:	33 c0                	xor    %eax,%eax
4c3b27:	55                   	push   %ebp
4c3b28:	68 02 3c 4c 00       	push   $0x4c3c02
4c3b2d:	64 ff 30             	push   %fs:(%eax)
4c3b30:	64 89 20             	mov    %esp,%fs:(%eax)
4c3b33:	68 2c b6 68 00       	push   $0x68b62c
4c3b38:	6a 01                	push   $0x1
4c3b3a:	6a 01                	push   $0x1
4c3b3c:	6a 08                	push   $0x8
4c3b3e:	6a 08                	push   $0x8
4c3b40:	e8 13 39 f4 ff       	call   0x407458
4c3b45:	8b d0                	mov    %eax,%edx
4c3b47:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c3b4a:	e8 b5 a8 f6 ff       	call   0x42e404
4c3b4f:	8b c3                	mov    %ebx,%eax
4c3b51:	e8 6a 51 f6 ff       	call   0x428cc0
4c3b56:	50                   	push   %eax
4c3b57:	e8 94 3b f4 ff       	call   0x4076f0
4c3b5c:	89 45 f8             	mov    %eax,-0x8(%ebp)
4c3b5f:	8b 43 14             	mov    0x14(%ebx),%eax
4c3b62:	8b d6                	mov    %esi,%edx
4c3b64:	e8 1b 47 f6 ff       	call   0x428284
4c3b69:	6a 00                	push   $0x0
4c3b6b:	8b c3                	mov    %ebx,%eax
4c3b6d:	e8 4e 51 f6 ff       	call   0x428cc0
4c3b72:	50                   	push   %eax
4c3b73:	e8 08 3c f4 ff       	call   0x407780
4c3b78:	68 ff ff ff 00       	push   $0xffffff
4c3b7d:	8b c3                	mov    %ebx,%eax
4c3b7f:	e8 3c 51 f6 ff       	call   0x428cc0
4c3b84:	50                   	push   %eax
4c3b85:	e8 8e 3b f4 ff       	call   0x407718
4c3b8a:	be 08 00 00 00       	mov    $0x8,%esi
4c3b8f:	bf 07 00 00 00       	mov    $0x7,%edi
4c3b94:	68 46 07 e2 00       	push   $0xe20746
4c3b99:	6a 00                	push   $0x0
4c3b9b:	6a 00                	push   $0x0
4c3b9d:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c3ba0:	e8 f3 9b f6 ff       	call   0x42d798
4c3ba5:	e8 16 51 f6 ff       	call   0x428cc0
4c3baa:	50                   	push   %eax
4c3bab:	57                   	push   %edi
4c3bac:	56                   	push   %esi
4c3bad:	8b 45 ec             	mov    -0x14(%ebp),%eax
4c3bb0:	03 45 f4             	add    -0xc(%ebp),%eax
4c3bb3:	2b c7                	sub    %edi,%eax
4c3bb5:	d1 f8                	sar    $1,%eax
4c3bb7:	79 03                	jns    0x4c3bbc
4c3bb9:	83 d0 00             	adc    $0x0,%eax
4c3bbc:	50                   	push   %eax
4c3bbd:	8b 45 e8             	mov    -0x18(%ebp),%eax
4c3bc0:	03 45 f0             	add    -0x10(%ebp),%eax
4c3bc3:	2b c6                	sub    %esi,%eax
4c3bc5:	40                   	inc    %eax
4c3bc6:	d1 f8                	sar    $1,%eax
4c3bc8:	79 03                	jns    0x4c3bcd
4c3bca:	83 d0 00             	adc    $0x0,%eax
4c3bcd:	50                   	push   %eax
4c3bce:	8b c3                	mov    %ebx,%eax
4c3bd0:	e8 eb 50 f6 ff       	call   0x428cc0
4c3bd5:	50                   	push   %eax
4c3bd6:	e8 5d 38 f4 ff       	call   0x407438
4c3bdb:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c3bde:	50                   	push   %eax
4c3bdf:	8b c3                	mov    %ebx,%eax
4c3be1:	e8 da 50 f6 ff       	call   0x428cc0
4c3be6:	50                   	push   %eax
4c3be7:	e8 f4 3a f4 ff       	call   0x4076e0
4c3bec:	33 c0                	xor    %eax,%eax
4c3bee:	5a                   	pop    %edx
4c3bef:	59                   	pop    %ecx
4c3bf0:	59                   	pop    %ecx
4c3bf1:	64 89 10             	mov    %edx,%fs:(%eax)
4c3bf4:	68 09 3c 4c 00       	push   $0x4c3c09
4c3bf9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c3bfc:	e8 77 fe f3 ff       	call   0x403a78
4c3c01:	c3                   	ret
4c3c02:	e9 05 06 f4 ff       	jmp    0x40420c
4c3c07:	eb f0                	jmp    0x4c3bf9
4c3c09:	5f                   	pop    %edi
4c3c0a:	5e                   	pop    %esi
4c3c0b:	5b                   	pop    %ebx
4c3c0c:	8b e5                	mov    %ebp,%esp
4c3c0e:	5d                   	pop    %ebp
4c3c0f:	c3                   	ret
4c3c10:	53                   	push   %ebx
4c3c11:	56                   	push   %esi
4c3c12:	8b f2                	mov    %edx,%esi
4c3c14:	8b d8                	mov    %eax,%ebx
4c3c16:	8b d6                	mov    %esi,%edx
4c3c18:	33 c9                	xor    %ecx,%ecx
4c3c1a:	8b c3                	mov    %ebx,%eax
4c3c1c:	e8 67 f8 ff ff       	call   0x4c3488
4c3c21:	3d ff ff ff 1f       	cmp    $0x1fffffff,%eax
4c3c26:	75 09                	jne    0x4c3c31
4c3c28:	8b 16                	mov    (%esi),%edx
4c3c2a:	8b c3                	mov    %ebx,%eax
4c3c2c:	8b 08                	mov    (%eax),%ecx
4c3c2e:	ff 51 20             	call   *0x20(%ecx)
4c3c31:	5e                   	pop    %esi
4c3c32:	5b                   	pop    %ebx
4c3c33:	c3                   	ret
4c3c34:	b1 01                	mov    $0x1,%cl
4c3c36:	e8 4d f8 ff ff       	call   0x4c3488
4c3c3b:	c3                   	ret
4c3c3c:	53                   	push   %ebx
4c3c3d:	56                   	push   %esi
4c3c3e:	8b f2                	mov    %edx,%esi
4c3c40:	8b d8                	mov    %eax,%ebx
4c3c42:	8b d6                	mov    %esi,%edx
4c3c44:	33 c9                	xor    %ecx,%ecx
4c3c46:	8b c3                	mov    %ebx,%eax
4c3c48:	e8 6b f7 ff ff       	call   0x4c33b8
4c3c4d:	3d ff ff ff 1f       	cmp    $0x1fffffff,%eax
4c3c52:	75 09                	jne    0x4c3c5d
4c3c54:	8b 16                	mov    (%esi),%edx
4c3c56:	8b c3                	mov    %ebx,%eax
4c3c58:	8b 08                	mov    (%eax),%ecx
4c3c5a:	ff 51 20             	call   *0x20(%ecx)
4c3c5d:	5e                   	pop    %esi
4c3c5e:	5b                   	pop    %ebx
4c3c5f:	c3                   	ret
4c3c60:	55                   	push   %ebp
4c3c61:	8b ec                	mov    %esp,%ebp
4c3c63:	8b 4d 08             	mov    0x8(%ebp),%ecx
4c3c66:	8b 49 fc             	mov    -0x4(%ecx),%ecx
4c3c69:	89 01                	mov    %eax,(%ecx)
4c3c6b:	8b 45 08             	mov    0x8(%ebp),%eax
4c3c6e:	8b 40 fc             	mov    -0x4(%eax),%eax
4c3c71:	89 50 04             	mov    %edx,0x4(%eax)
4c3c74:	5d                   	pop    %ebp
4c3c75:	c3                   	ret
4c3c76:	8b c0                	mov    %eax,%eax
4c3c78:	55                   	push   %ebp
4c3c79:	8b ec                	mov    %esp,%ebp
4c3c7b:	51                   	push   %ecx
4c3c7c:	53                   	push   %ebx
4c3c7d:	56                   	push   %esi
4c3c7e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4c3c81:	8b c2                	mov    %edx,%eax
4c3c83:	25 00 10 00 00       	and    $0x1000,%eax
4c3c88:	3d 00 10 00 00       	cmp    $0x1000,%eax
4c3c8d:	75 64                	jne    0x4c3cf3
4c3c8f:	8b c2                	mov    %edx,%eax
4c3c91:	25 00 08 00 00       	and    $0x800,%eax
4c3c96:	3d 00 08 00 00       	cmp    $0x800,%eax
4c3c9b:	75 40                	jne    0x4c3cdd
4c3c9d:	81 e2 00 04 00 00    	and    $0x400,%edx
4c3ca3:	81 fa 00 04 00 00    	cmp    $0x400,%edx
4c3ca9:	0f 94 c3             	sete   %bl
4c3cac:	8b f3                	mov    %ebx,%esi
4c3cae:	83 e6 7f             	and    $0x7f,%esi
4c3cb1:	8b 04 b5 3c b6 68 00 	mov    0x68b63c(,%esi,4),%eax
4c3cb8:	50                   	push   %eax
4c3cb9:	e8 62 3e f4 ff       	call   0x407b20
4c3cbe:	48                   	dec    %eax
4c3cbf:	8b 55 fc             	mov    -0x4(%ebp),%edx
4c3cc2:	89 02                	mov    %eax,(%edx)
4c3cc4:	8b 04 b5 44 b6 68 00 	mov    0x68b644(,%esi,4),%eax
4c3ccb:	50                   	push   %eax
4c3ccc:	e8 4f 3e f4 ff       	call   0x407b20
4c3cd1:	48                   	dec    %eax
4c3cd2:	8b 55 fc             	mov    -0x4(%ebp),%edx
4c3cd5:	89 42 04             	mov    %eax,0x4(%edx)
4c3cd8:	e9 c9 00 00 00       	jmp    0x4c3da6
4c3cdd:	55                   	push   %ebp
4c3cde:	ba 02 00 00 00       	mov    $0x2,%edx
4c3ce3:	b8 02 00 00 00       	mov    $0x2,%eax
4c3ce8:	e8 73 ff ff ff       	call   0x4c3c60
4c3ced:	59                   	pop    %ecx
4c3cee:	e9 b3 00 00 00       	jmp    0x4c3da6
4c3cf3:	8b c2                	mov    %edx,%eax
4c3cf5:	25 00 20 00 00       	and    $0x2000,%eax
4c3cfa:	3d 00 20 00 00       	cmp    $0x2000,%eax
4c3cff:	75 2e                	jne    0x4c3d2f
4c3d01:	81 e2 01 20 00 00    	and    $0x2001,%edx
4c3d07:	81 fa 01 20 00 00    	cmp    $0x2001,%edx
4c3d0d:	75 0b                	jne    0x4c3d1a
4c3d0f:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c3d12:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
4c3d18:	eb 09                	jmp    0x4c3d23
4c3d1a:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c3d1d:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
4c3d23:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c3d26:	c7 40 04 02 00 00 00 	movl   $0x2,0x4(%eax)
4c3d2d:	eb 77                	jmp    0x4c3da6
4c3d2f:	8b c2                	mov    %edx,%eax
4c3d31:	25 00 40 00 00       	and    $0x4000,%eax
4c3d36:	3d 00 40 00 00       	cmp    $0x4000,%eax
4c3d3b:	75 5e                	jne    0x4c3d9b
4c3d3d:	8b c2                	mov    %edx,%eax