541956:	bf 01 00 00 00       	mov    $0x1,%edi
54195b:	74 11                	je     0x54196e
54195d:	0f 1f 00             	nopl   (%eax)
541960:	0f ac ce 07          	shrd   $0x7,%ecx,%esi
541964:	47                   	inc    %edi
541965:	c1 e9 07             	shr    $0x7,%ecx
541968:	8b d6                	mov    %esi,%edx
54196a:	0b d1                	or     %ecx,%edx
54196c:	75 f2                	jne    0x541960
54196e:	8b c7                	mov    %edi,%eax
541970:	5f                   	pop    %edi
541971:	5e                   	pop    %esi
541972:	5d                   	pop    %ebp
541973:	c3                   	ret
541974:	cc                   	int3
541975:	cc                   	int3
541976:	cc                   	int3
541977:	cc                   	int3
541978:	cc                   	int3
541979:	cc                   	int3
54197a:	cc                   	int3
54197b:	cc                   	int3
54197c:	cc                   	int3
54197d:	cc                   	int3
54197e:	cc                   	int3
54197f:	cc                   	int3
541980:	55                   	push   %ebp
541981:	8b ec                	mov    %esp,%ebp
541983:	53                   	push   %ebx
541984:	8b 5d 18             	mov    0x18(%ebp),%ebx
541987:	56                   	push   %esi
541988:	8b 75 08             	mov    0x8(%ebp),%esi
54198b:	57                   	push   %edi
54198c:	8d 04 9d 1c 00 00 00 	lea    0x1c(,%ebx,4),%eax
541993:	99                   	cltd
541994:	8b 7e 08             	mov    0x8(%esi),%edi
541997:	52                   	push   %edx
541998:	50                   	push   %eax
541999:	ff 36                	push   (%esi)
54199b:	e8 40 fa fd ff       	call   0x5213e0
5419a0:	8b c8                	mov    %eax,%ecx
5419a2:	83 c4 0c             	add    $0xc,%esp
5419a5:	8b 45 1c             	mov    0x1c(%ebp),%eax
5419a8:	85 c9                	test   %ecx,%ecx
5419aa:	75 18                	jne    0x5419c4
5419ac:	f6 40 04 10          	testb  $0x10,0x4(%eax)
5419b0:	74 0b                	je     0x5419bd
5419b2:	50                   	push   %eax
5419b3:	ff 36                	push   (%esi)
5419b5:	e8 b6 f9 fd ff       	call   0x521370
5419ba:	83 c4 08             	add    $0x8,%esp
5419bd:	5f                   	pop    %edi
5419be:	5e                   	pop    %esi
5419bf:	33 c0                	xor    %eax,%eax
5419c1:	5b                   	pop    %ebx
5419c2:	5d                   	pop    %ebp
5419c3:	c3                   	ret
5419c4:	8b 75 20             	mov    0x20(%ebp),%esi
5419c7:	6a f0                	push   $0xfffffff0
5419c9:	89 41 04             	mov    %eax,0x4(%ecx)
5419cc:	51                   	push   %ecx
5419cd:	ff 75 14             	push   0x14(%ebp)
5419d0:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
5419d6:	ff 75 10             	push   0x10(%ebp)
5419d9:	c7 41 0c 00 00 00 00 	movl   $0x0,0xc(%ecx)
5419e0:	ff 75 0c             	push   0xc(%ebp)
5419e3:	c7 41 14 00 00 00 00 	movl   $0x0,0x14(%ecx)
5419ea:	88 59 19             	mov    %bl,0x19(%ecx)
5419ed:	8b 47 6c             	mov    0x6c(%edi),%eax
5419f0:	89 41 10             	mov    %eax,0x10(%ecx)
5419f3:	8b c6                	mov    %esi,%eax
5419f5:	f7 d8                	neg    %eax
5419f7:	1b c0                	sbb    %eax,%eax
5419f9:	83 c0 40             	add    $0x40,%eax
5419fc:	50                   	push   %eax
5419fd:	57                   	push   %edi
5419fe:	e8 8d 01 00 00       	call   0x541b90
541a03:	8b 4f 6c             	mov    0x6c(%edi),%ecx
541a06:	83 c4 1c             	add    $0x1c,%esp
541a09:	85 c9                	test   %ecx,%ecx
541a0b:	7e 0e                	jle    0x541a1b
541a0d:	8d 14 89             	lea    (%ecx,%ecx,4),%edx
541a10:	83 e6 2e             	and    $0x2e,%esi
541a13:	8b 4f 68             	mov    0x68(%edi),%ecx
541a16:	66 89 74 91 ee       	mov    %si,-0x12(%ecx,%edx,4)
541a1b:	5f                   	pop    %edi
541a1c:	5e                   	pop    %esi
541a1d:	5b                   	pop    %ebx
541a1e:	5d                   	pop    %ebp
541a1f:	c3                   	ret
541a20:	55                   	push   %ebp
541a21:	8b ec                	mov    %esp,%ebp
541a23:	8b 55 08             	mov    0x8(%ebp),%edx
541a26:	56                   	push   %esi
541a27:	8b 72 6c             	mov    0x6c(%edx),%esi
541a2a:	39 72 70             	cmp    %esi,0x70(%edx)
541a2d:	7f 15                	jg     0x541a44
541a2f:	6a 00                	push   $0x0
541a31:	6a 00                	push   $0x0
541a33:	6a 00                	push   $0x0
541a35:	ff 75 0c             	push   0xc(%ebp)
541a38:	52                   	push   %edx
541a39:	e8 c2 4a fc ff       	call   0x506500
541a3e:	83 c4 14             	add    $0x14,%esp
541a41:	5e                   	pop    %esi
541a42:	5d                   	pop    %ebp
541a43:	c3                   	ret
541a44:	8d 46 01             	lea    0x1(%esi),%eax
541a47:	89 42 6c             	mov    %eax,0x6c(%edx)
541a4a:	8d 0c b6             	lea    (%esi,%esi,4),%ecx
541a4d:	8b 42 68             	mov    0x68(%edx),%eax
541a50:	8d 14 88             	lea    (%eax,%ecx,4),%edx
541a53:	8a 4d 0c             	mov    0xc(%ebp),%cl
541a56:	33 c0                	xor    %eax,%eax
541a58:	88 0a                	mov    %cl,(%edx)
541a5a:	66 89 42 02          	mov    %ax,0x2(%edx)
541a5e:	89 42 04             	mov    %eax,0x4(%edx)
541a61:	89 42 08             	mov    %eax,0x8(%edx)
541a64:	89 42 0c             	mov    %eax,0xc(%edx)
541a67:	89 42 10             	mov    %eax,0x10(%edx)
541a6a:	88 42 01             	mov    %al,0x1(%edx)
541a6d:	8b c6                	mov    %esi,%eax
541a6f:	5e                   	pop    %esi
541a70:	5d                   	pop    %ebp
541a71:	c3                   	ret
541a72:	cc                   	int3
541a73:	cc                   	int3
541a74:	cc                   	int3
541a75:	cc                   	int3
541a76:	cc                   	int3
541a77:	cc                   	int3
541a78:	cc                   	int3
541a79:	cc                   	int3
541a7a:	cc                   	int3
541a7b:	cc                   	int3
541a7c:	cc                   	int3
541a7d:	cc                   	int3
541a7e:	cc                   	int3
541a7f:	cc                   	int3
541a80:	55                   	push   %ebp
541a81:	8b ec                	mov    %esp,%ebp
541a83:	8b 55 08             	mov    0x8(%ebp),%edx
541a86:	56                   	push   %esi
541a87:	8b 72 6c             	mov    0x6c(%edx),%esi
541a8a:	39 72 70             	cmp    %esi,0x70(%edx)
541a8d:	7f 16                	jg     0x541aa5
541a8f:	6a 00                	push   $0x0
541a91:	6a 00                	push   $0x0
541a93:	ff 75 10             	push   0x10(%ebp)
541a96:	ff 75 0c             	push   0xc(%ebp)
541a99:	52                   	push   %edx
541a9a:	e8 61 4a fc ff       	call   0x506500
541a9f:	83 c4 14             	add    $0x14,%esp
541aa2:	5e                   	pop    %esi
541aa3:	5d                   	pop    %ebp
541aa4:	c3                   	ret
541aa5:	8d 46 01             	lea    0x1(%esi),%eax
541aa8:	89 42 6c             	mov    %eax,0x6c(%edx)
541aab:	8d 0c b6             	lea    (%esi,%esi,4),%ecx
541aae:	8b 42 68             	mov    0x68(%edx),%eax
541ab1:	8d 14 88             	lea    (%eax,%ecx,4),%edx
541ab4:	8a 45 0c             	mov    0xc(%ebp),%al
541ab7:	8b 4d 10             	mov    0x10(%ebp),%ecx
541aba:	88 02                	mov    %al,(%edx)
541abc:	33 c0                	xor    %eax,%eax
541abe:	66 89 42 02          	mov    %ax,0x2(%edx)
541ac2:	89 42 08             	mov    %eax,0x8(%edx)
541ac5:	89 42 0c             	mov    %eax,0xc(%edx)
541ac8:	89 42 10             	mov    %eax,0x10(%edx)
541acb:	88 42 01             	mov    %al,0x1(%edx)
541ace:	8b c6                	mov    %esi,%eax
541ad0:	89 4a 04             	mov    %ecx,0x4(%edx)
541ad3:	5e                   	pop    %esi
541ad4:	5d                   	pop    %ebp
541ad5:	c3                   	ret
541ad6:	cc                   	int3
541ad7:	cc                   	int3
541ad8:	cc                   	int3
541ad9:	cc                   	int3
541ada:	cc                   	int3
541adb:	cc                   	int3
541adc:	cc                   	int3
541add:	cc                   	int3
541ade:	cc                   	int3
541adf:	cc                   	int3
541ae0:	55                   	push   %ebp
541ae1:	8b ec                	mov    %esp,%ebp
541ae3:	8b 55 08             	mov    0x8(%ebp),%edx
541ae6:	56                   	push   %esi
541ae7:	8b 72 6c             	mov    0x6c(%edx),%esi
541aea:	39 72 70             	cmp    %esi,0x70(%edx)
541aed:	7f 17                	jg     0x541b06
541aef:	6a 00                	push   $0x0
541af1:	ff 75 14             	push   0x14(%ebp)
541af4:	ff 75 10             	push   0x10(%ebp)
541af7:	ff 75 0c             	push   0xc(%ebp)
541afa:	52                   	push   %edx
541afb:	e8 00 4a fc ff       	call   0x506500
541b00:	83 c4 14             	add    $0x14,%esp
541b03:	5e                   	pop    %esi
541b04:	5d                   	pop    %ebp
541b05:	c3                   	ret
541b06:	8d 46 01             	lea    0x1(%esi),%eax
541b09:	89 42 6c             	mov    %eax,0x6c(%edx)
541b0c:	8d 0c b6             	lea    (%esi,%esi,4),%ecx
541b0f:	8b 42 68             	mov    0x68(%edx),%eax
541b12:	8d 14 88             	lea    (%eax,%ecx,4),%edx
541b15:	8a 45 0c             	mov    0xc(%ebp),%al
541b18:	8b 4d 10             	mov    0x10(%ebp),%ecx
541b1b:	88 02                	mov    %al,(%edx)
541b1d:	33 c0                	xor    %eax,%eax
541b1f:	66 89 42 02          	mov    %ax,0x2(%edx)
541b23:	89 4a 04             	mov    %ecx,0x4(%edx)
541b26:	8b 4d 14             	mov    0x14(%ebp),%ecx
541b29:	89 42 0c             	mov    %eax,0xc(%edx)
541b2c:	89 42 10             	mov    %eax,0x10(%edx)
541b2f:	88 42 01             	mov    %al,0x1(%edx)
541b32:	8b c6                	mov    %esi,%eax
541b34:	89 4a 08             	mov    %ecx,0x8(%edx)
541b37:	5e                   	pop    %esi
541b38:	5d                   	pop    %ebp
541b39:	c3                   	ret
541b3a:	cc                   	int3
541b3b:	cc                   	int3
541b3c:	cc                   	int3
541b3d:	cc                   	int3
541b3e:	cc                   	int3
541b3f:	cc                   	int3
541b40:	55                   	push   %ebp
541b41:	8b ec                	mov    %esp,%ebp
541b43:	8b 55 08             	mov    0x8(%ebp),%edx
541b46:	56                   	push   %esi
541b47:	8b 72 6c             	mov    0x6c(%edx),%esi
541b4a:	39 72 70             	cmp    %esi,0x70(%edx)
541b4d:	7f 0a                	jg     0x541b59
541b4f:	5e                   	pop    %esi
541b50:	89 55 08             	mov    %edx,0x8(%ebp)
541b53:	5d                   	pop    %ebp
541b54:	e9 a7 49 fc ff       	jmp    0x506500
541b59:	8d 46 01             	lea    0x1(%esi),%eax
541b5c:	89 42 6c             	mov    %eax,0x6c(%edx)
541b5f:	8d 0c b6             	lea    (%esi,%esi,4),%ecx
541b62:	8b 42 68             	mov    0x68(%edx),%eax
541b65:	8d 14 88             	lea    (%eax,%ecx,4),%edx
541b68:	8a 45 0c             	mov    0xc(%ebp),%al
541b6b:	8b 4d 10             	mov    0x10(%ebp),%ecx
541b6e:	88 02                	mov    %al,(%edx)
541b70:	33 c0                	xor    %eax,%eax
541b72:	89 4a 04             	mov    %ecx,0x4(%edx)
541b75:	8b 4d 14             	mov    0x14(%ebp),%ecx
541b78:	66 89 42 02          	mov    %ax,0x2(%edx)
541b7c:	89 4a 08             	mov    %ecx,0x8(%edx)
541b7f:	8b 4d 18             	mov    0x18(%ebp),%ecx
541b82:	89 42 10             	mov    %eax,0x10(%edx)
541b85:	88 42 01             	mov    %al,0x1(%edx)
541b88:	8b c6                	mov    %esi,%eax
541b8a:	89 4a 0c             	mov    %ecx,0xc(%edx)
541b8d:	5e                   	pop    %esi
541b8e:	5d                   	pop    %ebp
541b8f:	c3                   	ret
541b90:	55                   	push   %ebp
541b91:	8b ec                	mov    %esp,%ebp
541b93:	56                   	push   %esi
541b94:	57                   	push   %edi
541b95:	8b 7d 08             	mov    0x8(%ebp),%edi
541b98:	8b 77 6c             	mov    0x6c(%edi),%esi
541b9b:	39 77 70             	cmp    %esi,0x70(%edi)
541b9e:	7f 19                	jg     0x541bb9
541ba0:	ff 75 18             	push   0x18(%ebp)
541ba3:	ff 75 14             	push   0x14(%ebp)
541ba6:	ff 75 10             	push   0x10(%ebp)
541ba9:	ff 75 0c             	push   0xc(%ebp)
541bac:	57                   	push   %edi
541bad:	e8 4e 49 fc ff       	call   0x506500
541bb2:	83 c4 14             	add    $0x14,%esp
541bb5:	8b f0                	mov    %eax,%esi
541bb7:	eb 39                	jmp    0x541bf2
541bb9:	8d 46 01             	lea    0x1(%esi),%eax
541bbc:	89 47 6c             	mov    %eax,0x6c(%edi)
541bbf:	8d 0c b6             	lea    (%esi,%esi,4),%ecx
541bc2:	8b 47 68             	mov    0x68(%edi),%eax
541bc5:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
541bcc:	00
541bcd:	c6 44 88 01 00       	movb   $0x0,0x1(%eax,%ecx,4)
541bd2:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
541bd5:	8a 45 0c             	mov    0xc(%ebp),%al
541bd8:	88 01                	mov    %al,(%ecx)
541bda:	33 c0                	xor    %eax,%eax
541bdc:	66 89 41 02          	mov    %ax,0x2(%ecx)
541be0:	8b 45 10             	mov    0x10(%ebp),%eax
541be3:	89 41 04             	mov    %eax,0x4(%ecx)
541be6:	8b 45 14             	mov    0x14(%ebp),%eax
541be9:	89 41 08             	mov    %eax,0x8(%ecx)
541bec:	8b 45 18             	mov    0x18(%ebp),%eax
541bef:	89 41 0c             	mov    %eax,0xc(%ecx)
541bf2:	ff 75 20             	push   0x20(%ebp)
541bf5:	ff 75 1c             	push   0x1c(%ebp)
541bf8:	56                   	push   %esi
541bf9:	57                   	push   %edi
541bfa:	e8 b1 03 00 00       	call   0x541fb0
541bff:	83 c4 10             	add    $0x10,%esp
541c02:	8b c6                	mov    %esi,%eax
541c04:	5f                   	pop    %edi
541c05:	5e                   	pop    %esi
541c06:	5d                   	pop    %ebp
541c07:	c3                   	ret
541c08:	cc                   	int3
541c09:	cc                   	int3
541c0a:	cc                   	int3
541c0b:	cc                   	int3
541c0c:	cc                   	int3
541c0d:	cc                   	int3
541c0e:	cc                   	int3
541c0f:	cc                   	int3
541c10:	55                   	push   %ebp
541c11:	8b ec                	mov    %esp,%ebp
541c13:	56                   	push   %esi
541c14:	8b 75 08             	mov    0x8(%ebp),%esi
541c17:	8b 56 6c             	mov    0x6c(%esi),%edx
541c1a:	39 56 70             	cmp    %edx,0x70(%esi)
541c1d:	7f 19                	jg     0x541c38
541c1f:	ff 75 18             	push   0x18(%ebp)
541c22:	ff 75 14             	push   0x14(%ebp)
541c25:	ff 75 10             	push   0x10(%ebp)
541c28:	ff 75 0c             	push   0xc(%ebp)
541c2b:	56                   	push   %esi
541c2c:	e8 cf 48 fc ff       	call   0x506500
541c31:	83 c4 14             	add    $0x14,%esp
541c34:	8b d0                	mov    %eax,%edx
541c36:	eb 39                	jmp    0x541c71
541c38:	8d 42 01             	lea    0x1(%edx),%eax
541c3b:	89 46 6c             	mov    %eax,0x6c(%esi)
541c3e:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
541c41:	8b 46 68             	mov    0x68(%esi),%eax
541c44:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
541c4b:	00
541c4c:	c6 44 88 01 00       	movb   $0x0,0x1(%eax,%ecx,4)
541c51:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
541c54:	8a 45 0c             	mov    0xc(%ebp),%al
541c57:	88 01                	mov    %al,(%ecx)
541c59:	33 c0                	xor    %eax,%eax
541c5b:	66 89 41 02          	mov    %ax,0x2(%ecx)
541c5f:	8b 45 10             	mov    0x10(%ebp),%eax
541c62:	89 41 04             	mov    %eax,0x4(%ecx)
541c65:	8b 45 14             	mov    0x14(%ebp),%eax
541c68:	89 41 08             	mov    %eax,0x8(%ecx)
541c6b:	8b 45 18             	mov    0x18(%ebp),%eax
541c6e:	89 41 0c             	mov    %eax,0xc(%ecx)
541c71:	8b 06                	mov    (%esi),%eax
541c73:	80 78 51 00          	cmpb   $0x0,0x51(%eax)