4049bb:	33 db                	xor    %ebx,%ebx
4049bd:	8b c8                	mov    %eax,%ecx
4049bf:	33 d2                	xor    %edx,%edx
4049c1:	83 e1 1f             	and    $0x1f,%ecx
4049c4:	42                   	inc    %edx
4049c5:	d3 e2                	shl    %cl,%edx
4049c7:	8b c8                	mov    %eax,%ecx
4049c9:	8b 47 24             	mov    0x24(%edi),%eax
4049cc:	c1 e9 05             	shr    $0x5,%ecx
4049cf:	85 14 88             	test   %edx,(%eax,%ecx,4)
4049d2:	8b 06                	mov    (%esi),%eax
4049d4:	74 1c                	je     0x4049f2
4049d6:	8b 55 0c             	mov    0xc(%ebp),%edx
4049d9:	c6 44 03 08 01       	movb   $0x1,0x8(%ebx,%eax,1)
4049de:	8b 47 34             	mov    0x34(%edi),%eax
4049e1:	8b 0e                	mov    (%esi),%ecx
4049e3:	8b 04 d0             	mov    (%eax,%edx,8),%eax
4049e6:	89 04 0b             	mov    %eax,(%ebx,%ecx,1)
4049e9:	8b 47 34             	mov    0x34(%edi),%eax
4049ec:	8b 44 d0 04          	mov    0x4(%eax,%edx,8),%eax
4049f0:	eb 10                	jmp    0x404a02
4049f2:	c6 44 03 08 00       	movb   $0x0,0x8(%ebx,%eax,1)
4049f7:	8b 0e                	mov    (%esi),%ecx
4049f9:	8b 47 50             	mov    0x50(%edi),%eax
4049fc:	89 04 0b             	mov    %eax,(%ebx,%ecx,1)
4049ff:	8b 47 50             	mov    0x50(%edi),%eax
404a02:	8b 0e                	mov    (%esi),%ecx
404a04:	89 44 0b 04          	mov    %eax,0x4(%ebx,%ecx,1)
404a08:	83 c3 0c             	add    $0xc,%ebx
404a0b:	8b 45 0c             	mov    0xc(%ebp),%eax
404a0e:	40                   	inc    %eax
404a0f:	89 45 0c             	mov    %eax,0xc(%ebp)
404a12:	3b 47 68             	cmp    0x68(%edi),%eax
404a15:	72 a6                	jb     0x4049bd
404a17:	8b 5d 08             	mov    0x8(%ebp),%ebx
404a1a:	8b 47 4c             	mov    0x4c(%edi),%eax
404a1d:	89 03                	mov    %eax,(%ebx)
404a1f:	8b 4f 4c             	mov    0x4c(%edi),%ecx
404a22:	89 4b 14             	mov    %ecx,0x14(%ebx)
404a25:	8b 06                	mov    (%esi),%eax
404a27:	8b 00                	mov    (%eax),%eax
404a29:	3b c8                	cmp    %eax,%ecx
404a2b:	89 43 18             	mov    %eax,0x18(%ebx)
404a2e:	0f 95 c0             	setne  %al
404a31:	88 43 1c             	mov    %al,0x1c(%ebx)
404a34:	8b 06                	mov    (%esi),%eax
404a36:	8b 50 04             	mov    0x4(%eax),%edx
404a39:	89 53 20             	mov    %edx,0x20(%ebx)
404a3c:	8b 4f 50             	mov    0x50(%edi),%ecx
404a3f:	3b d1                	cmp    %ecx,%edx
404a41:	89 4b 24             	mov    %ecx,0x24(%ebx)
404a44:	0f 95 c1             	setne  %cl
404a47:	88 4b 28             	mov    %cl,0x28(%ebx)
404a4a:	8b 4f 50             	mov    0x50(%edi),%ecx
404a4d:	89 4b 2c             	mov    %ecx,0x2c(%ebx)
404a50:	8b 4f 50             	mov    0x50(%edi),%ecx
404a53:	89 4b 30             	mov    %ecx,0x30(%ebx)
404a56:	b0 01                	mov    $0x1,%al
404a58:	5f                   	pop    %edi
404a59:	5e                   	pop    %esi
404a5a:	5b                   	pop    %ebx
404a5b:	c9                   	leave
404a5c:	c2 08 00             	ret    $0x8
404a5f:	55                   	push   %ebp
404a60:	8b ec                	mov    %esp,%ebp
404a62:	8b 45 08             	mov    0x8(%ebp),%eax
404a65:	c6 00 00             	movb   $0x0,(%eax)
404a68:	5d                   	pop    %ebp
404a69:	c3                   	ret
404a6a:	55                   	push   %ebp
404a6b:	8b ec                	mov    %esp,%ebp
404a6d:	8b 45 08             	mov    0x8(%ebp),%eax
404a70:	c6 00 00             	movb   $0x0,(%eax)
404a73:	5d                   	pop    %ebp
404a74:	c3                   	ret
404a75:	55                   	push   %ebp
404a76:	8b ec                	mov    %esp,%ebp
404a78:	8b 45 08             	mov    0x8(%ebp),%eax
404a7b:	c6 00 00             	movb   $0x0,(%eax)
404a7e:	5d                   	pop    %ebp
404a7f:	c3                   	ret
404a80:	55                   	push   %ebp
404a81:	8b ec                	mov    %esp,%ebp
404a83:	8b 45 08             	mov    0x8(%ebp),%eax
404a86:	c6 00 00             	movb   $0x0,(%eax)
404a89:	5d                   	pop    %ebp
404a8a:	c3                   	ret
404a8b:	55                   	push   %ebp
404a8c:	8b ec                	mov    %esp,%ebp
404a8e:	8b 45 08             	mov    0x8(%ebp),%eax
404a91:	c6 00 00             	movb   $0x0,(%eax)
404a94:	5d                   	pop    %ebp
404a95:	c3                   	ret
404a96:	55                   	push   %ebp
404a97:	8b ec                	mov    %esp,%ebp
404a99:	8b 45 08             	mov    0x8(%ebp),%eax
404a9c:	c6 00 00             	movb   $0x0,(%eax)
404a9f:	5d                   	pop    %ebp
404aa0:	c3                   	ret
404aa1:	55                   	push   %ebp
404aa2:	8b ec                	mov    %esp,%ebp
404aa4:	8b 45 08             	mov    0x8(%ebp),%eax
404aa7:	c6 00 00             	movb   $0x0,(%eax)
404aaa:	5d                   	pop    %ebp
404aab:	c3                   	ret
404aac:	55                   	push   %ebp
404aad:	8b ec                	mov    %esp,%ebp
404aaf:	8b 45 08             	mov    0x8(%ebp),%eax
404ab2:	c6 00 00             	movb   $0x0,(%eax)
404ab5:	5d                   	pop    %ebp
404ab6:	c3                   	ret
404ab7:	55                   	push   %ebp
404ab8:	8b ec                	mov    %esp,%ebp
404aba:	8b 45 08             	mov    0x8(%ebp),%eax
404abd:	c6 00 00             	movb   $0x0,(%eax)
404ac0:	5d                   	pop    %ebp
404ac1:	c3                   	ret
404ac2:	55                   	push   %ebp
404ac3:	8b ec                	mov    %esp,%ebp
404ac5:	8b 45 08             	mov    0x8(%ebp),%eax
404ac8:	c6 00 00             	movb   $0x0,(%eax)
404acb:	5d                   	pop    %ebp
404acc:	c3                   	ret
404acd:	55                   	push   %ebp
404ace:	8b ec                	mov    %esp,%ebp
404ad0:	8b 45 08             	mov    0x8(%ebp),%eax
404ad3:	c6 00 00             	movb   $0x0,(%eax)
404ad6:	5d                   	pop    %ebp
404ad7:	c3                   	ret
404ad8:	55                   	push   %ebp
404ad9:	8b ec                	mov    %esp,%ebp
404adb:	8b 45 08             	mov    0x8(%ebp),%eax
404ade:	c6 00 00             	movb   $0x0,(%eax)
404ae1:	5d                   	pop    %ebp
404ae2:	c3                   	ret
404ae3:	6a 08                	push   $0x8
404ae5:	b8 18 a2 48 00       	mov    $0x48a218,%eax
404aea:	e8 c6 af 03 00       	call   0x43fab5
404aef:	8b f1                	mov    %ecx,%esi
404af1:	89 75 ec             	mov    %esi,-0x14(%ebp)
404af4:	8b 45 0c             	mov    0xc(%ebp),%eax
404af7:	2b 45 08             	sub    0x8(%ebp),%eax
404afa:	50                   	push   %eax
404afb:	e8 dc 1e 01 00       	call   0x4169dc
404b00:	84 c0                	test   %al,%al
404b02:	74 1c                	je     0x404b20
404b04:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404b08:	56                   	push   %esi
404b09:	ff 36                	push   (%esi)
404b0b:	ff 75 0c             	push   0xc(%ebp)
404b0e:	ff 75 08             	push   0x8(%ebp)
404b11:	e8 5b 18 00 00       	call   0x406371
404b16:	83 c4 10             	add    $0x10,%esp
404b19:	89 46 04             	mov    %eax,0x4(%esi)
404b1c:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
404b20:	e8 ee ae 03 00       	call   0x43fa13
404b25:	c2 0c 00             	ret    $0xc
404b28:	8b 4d ec             	mov    -0x14(%ebp),%ecx
404b2b:	e8 1f 85 01 00       	call   0x41d04f
404b30:	6a 00                	push   $0x0
404b32:	6a 00                	push   $0x0
404b34:	e8 89 f6 03 00       	call   0x4441c2
404b39:	cc                   	int3
404b3a:	6a 08                	push   $0x8
404b3c:	b8 33 a2 48 00       	mov    $0x48a233,%eax
404b41:	e8 6f af 03 00       	call   0x43fab5
404b46:	8b f1                	mov    %ecx,%esi
404b48:	89 75 ec             	mov    %esi,-0x14(%ebp)
404b4b:	8b 45 0c             	mov    0xc(%ebp),%eax
404b4e:	2b 45 08             	sub    0x8(%ebp),%eax
404b51:	c1 f8 02             	sar    $0x2,%eax
404b54:	50                   	push   %eax
404b55:	e8 c5 1e 01 00       	call   0x416a1f
404b5a:	84 c0                	test   %al,%al
404b5c:	74 1c                	je     0x404b7a
404b5e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404b62:	56                   	push   %esi
404b63:	ff 36                	push   (%esi)
404b65:	ff 75 0c             	push   0xc(%ebp)
404b68:	ff 75 08             	push   0x8(%ebp)
404b6b:	e8 2a 18 00 00       	call   0x40639a
404b70:	83 c4 10             	add    $0x10,%esp
404b73:	89 46 04             	mov    %eax,0x4(%esi)
404b76:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
404b7a:	e8 94 ae 03 00       	call   0x43fa13
404b7f:	c2 0c 00             	ret    $0xc
404b82:	8b 4d ec             	mov    -0x14(%ebp),%ecx
404b85:	e8 e8 84 01 00       	call   0x41d072
404b8a:	6a 00                	push   $0x0
404b8c:	6a 00                	push   $0x0
404b8e:	e8 2f f6 03 00       	call   0x4441c2
404b93:	cc                   	int3
404b94:	6a 08                	push   $0x8
404b96:	b8 4e a2 48 00       	mov    $0x48a24e,%eax
404b9b:	e8 15 af 03 00       	call   0x43fab5
404ba0:	8b f1                	mov    %ecx,%esi
404ba2:	89 75 ec             	mov    %esi,-0x14(%ebp)
404ba5:	8b 45 0c             	mov    0xc(%ebp),%eax
404ba8:	2b 45 08             	sub    0x8(%ebp),%eax
404bab:	d1 f8                	sar    $1,%eax
404bad:	50                   	push   %eax
404bae:	e8 45 20 01 00       	call   0x416bf8
404bb3:	84 c0                	test   %al,%al
404bb5:	74 1c                	je     0x404bd3
404bb7:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404bbb:	56                   	push   %esi
404bbc:	ff 36                	push   (%esi)
404bbe:	ff 75 0c             	push   0xc(%ebp)
404bc1:	ff 75 08             	push   0x8(%ebp)
404bc4:	e8 6f 18 00 00       	call   0x406438
404bc9:	83 c4 10             	add    $0x10,%esp
404bcc:	89 46 04             	mov    %eax,0x4(%esi)
404bcf:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
404bd3:	e8 3b ae 03 00       	call   0x43fa13
404bd8:	c2 0c 00             	ret    $0xc
404bdb:	8b 4d ec             	mov    -0x14(%ebp),%ecx
404bde:	e8 cb 86 01 00       	call   0x41d2ae
404be3:	6a 00                	push   $0x0
404be5:	6a 00                	push   $0x0
404be7:	e8 d6 f5 03 00       	call   0x4441c2
404bec:	cc                   	int3
404bed:	6a 08                	push   $0x8
404bef:	b8 69 a2 48 00       	mov    $0x48a269,%eax
404bf4:	e8 bc ae 03 00       	call   0x43fab5
404bf9:	8b f1                	mov    %ecx,%esi
404bfb:	89 75 ec             	mov    %esi,-0x14(%ebp)
404bfe:	8b 45 0c             	mov    0xc(%ebp),%eax
404c01:	2b 45 08             	sub    0x8(%ebp),%eax
404c04:	50                   	push   %eax
404c05:	e8 d2 1d 01 00       	call   0x4169dc
404c0a:	84 c0                	test   %al,%al
404c0c:	74 1c                	je     0x404c2a
404c0e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404c12:	56                   	push   %esi
404c13:	ff 36                	push   (%esi)
404c15:	ff 75 0c             	push   0xc(%ebp)
404c18:	ff 75 08             	push   0x8(%ebp)
404c1b:	e8 41 18 00 00       	call   0x406461
404c20:	83 c4 10             	add    $0x10,%esp
404c23:	89 46 04             	mov    %eax,0x4(%esi)
404c26:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
404c2a:	e8 e4 ad 03 00       	call   0x43fa13
404c2f:	c2 0c 00             	ret    $0xc
404c32:	8b 4d ec             	mov    -0x14(%ebp),%ecx
404c35:	e8 15 84 01 00       	call   0x41d04f
404c3a:	6a 00                	push   $0x0
404c3c:	6a 00                	push   $0x0
404c3e:	e8 7f f5 03 00       	call   0x4441c2
404c43:	cc                   	int3
404c44:	6a 08                	push   $0x8
404c46:	b8 84 a2 48 00       	mov    $0x48a284,%eax
404c4b:	e8 65 ae 03 00       	call   0x43fab5
404c50:	8b f1                	mov    %ecx,%esi
404c52:	89 75 ec             	mov    %esi,-0x14(%ebp)
404c55:	8b 45 0c             	mov    0xc(%ebp),%eax
404c58:	2b 45 08             	sub    0x8(%ebp),%eax
404c5b:	d1 f8                	sar    $1,%eax
404c5d:	50                   	push   %eax
404c5e:	e8 95 1f 01 00       	call   0x416bf8
404c63:	84 c0                	test   %al,%al
404c65:	74 1c                	je     0x404c83
404c67:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404c6b:	56                   	push   %esi
404c6c:	ff 36                	push   (%esi)
404c6e:	ff 75 0c             	push   0xc(%ebp)
404c71:	ff 75 08             	push   0x8(%ebp)
404c74:	e8 11 18 00 00       	call   0x40648a
404c79:	83 c4 10             	add    $0x10,%esp
404c7c:	89 46 04             	mov    %eax,0x4(%esi)
404c7f:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
404c83:	e8 8b ad 03 00       	call   0x43fa13
404c88:	c2 0c 00             	ret    $0xc
404c8b:	8b 4d ec             	mov    -0x14(%ebp),%ecx
404c8e:	e8 1b 86 01 00       	call   0x41d2ae
404c93:	6a 00                	push   $0x0
404c95:	6a 00                	push   $0x0
404c97:	e8 26 f5 03 00       	call   0x4441c2
404c9c:	cc                   	int3
404c9d:	6a 10                	push   $0x10
404c9f:	b8 cf a2 48 00       	mov    $0x48a2cf,%eax
404ca4:	e8 0c ae 03 00       	call   0x43fab5
404ca9:	8b f1                	mov    %ecx,%esi
404cab:	89 75 ec             	mov    %esi,-0x14(%ebp)
404cae:	33 db                	xor    %ebx,%ebx
404cb0:	43                   	inc    %ebx
404cb1:	89 5d fc             	mov    %ebx,-0x4(%ebp)
404cb4:	83 ec 68             	sub    $0x68,%esp
404cb7:	8b cc                	mov    %esp,%ecx
404cb9:	89 65 e8             	mov    %esp,-0x18(%ebp)
404cbc:	8d 45 70             	lea    0x70(%ebp),%eax
404cbf:	50                   	push   %eax
404cc0:	e8 cf 6b 00 00       	call   0x40b894
404cc5:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
404cc9:	83 ec 68             	sub    $0x68,%esp
404ccc:	8b cc                	mov    %esp,%ecx
404cce:	89 65 e4             	mov    %esp,-0x1c(%ebp)
404cd1:	8d 45 08             	lea    0x8(%ebp),%eax
404cd4:	50                   	push   %eax
404cd5:	e8 ba 6b 00 00       	call   0x40b894
404cda:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
404cde:	88 5d fc             	mov    %bl,-0x4(%ebp)
404ce1:	e8 05 20 00 00       	call   0x406ceb
404ce6:	81 c4 d0 00 00 00    	add    $0xd0,%esp
404cec:	50                   	push   %eax
404ced:	8b ce                	mov    %esi,%ecx
404cef:	e8 7a 1e 01 00       	call   0x416b6e
404cf4:	84 c0                	test   %al,%al
404cf6:	74 41                	je     0x404d39
404cf8:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
404cfc:	ff 36                	push   (%esi)
404cfe:	83 ec 68             	sub    $0x68,%esp
404d01:	8b cc                	mov    %esp,%ecx
404d03:	89 65 e4             	mov    %esp,-0x1c(%ebp)
404d06:	8d 45 70             	lea    0x70(%ebp),%eax
404d09:	50                   	push   %eax
404d0a:	e8 85 6b 00 00       	call   0x40b894
404d0f:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
404d13:	83 ec 68             	sub    $0x68,%esp
404d16:	8b cc                	mov    %esp,%ecx
404d18:	89 65 e8             	mov    %esp,-0x18(%ebp)
404d1b:	8d 45 08             	lea    0x8(%ebp),%eax
404d1e:	50                   	push   %eax
404d1f:	e8 70 6b 00 00       	call   0x40b894
404d24:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
404d28:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
404d2c:	8b ce                	mov    %esi,%ecx
404d2e:	e8 a4 15 00 00       	call   0x4062d7
404d33:	89 46 04             	mov    %eax,0x4(%esi)
404d36:	89 5d fc             	mov    %ebx,-0x4(%ebp)
404d39:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
404d3d:	8d 4d 08             	lea    0x8(%ebp),%ecx
404d40:	e8 88 96 00 00       	call   0x40e3cd
404d45:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
404d49:	8d 4d 70             	lea    0x70(%ebp),%ecx
404d4c:	e8 7c 96 00 00       	call   0x40e3cd
404d51:	e8 bd ac 03 00       	call   0x43fa13
404d56:	c2 d4 00             	ret    $0xd4
404d59:	8b 4d ec             	mov    -0x14(%ebp),%ecx
404d5c:	e8 21 84 01 00       	call   0x41d182
404d61:	6a 00                	push   $0x0
404d63:	6a 00                	push   $0x0
404d65:	e8 58 f4 03 00       	call   0x4441c2
404d6a:	cc                   	int3
404d6b:	55                   	push   %ebp
404d6c:	8b ec                	mov    %esp,%ebp
404d6e:	51                   	push   %ecx
404d6f:	53                   	push   %ebx
404d70:	8b 5d 08             	mov    0x8(%ebp),%ebx
404d73:	57                   	push   %edi
404d74:	8b f9                	mov    %ecx,%edi