51d933:	5d                   	pop    %ebp
51d934:	c3                   	ret
51d935:	cc                   	int3
51d936:	cc                   	int3
51d937:	cc                   	int3
51d938:	cc                   	int3
51d939:	cc                   	int3
51d93a:	cc                   	int3
51d93b:	cc                   	int3
51d93c:	cc                   	int3
51d93d:	cc                   	int3
51d93e:	cc                   	int3
51d93f:	cc                   	int3
51d940:	55                   	push   %ebp
51d941:	8b ec                	mov    %esp,%ebp
51d943:	56                   	push   %esi
51d944:	8b 75 08             	mov    0x8(%ebp),%esi
51d947:	85 f6                	test   %esi,%esi
51d949:	75 05                	jne    0x51d950
51d94b:	33 c0                	xor    %eax,%eax
51d94d:	5e                   	pop    %esi
51d94e:	5d                   	pop    %ebp
51d94f:	c3                   	ret
51d950:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
51d954:	74 12                	je     0x51d968
51d956:	ff 46 0c             	incl   0xc(%esi)
51d959:	80 7e 0a 00          	cmpb   $0x0,0xa(%esi)
51d95d:	75 09                	jne    0x51d968
51d95f:	56                   	push   %esi
51d960:	e8 6b 96 fd ff       	call   0x4f6fd0
51d965:	83 c4 04             	add    $0x4,%esp
51d968:	8b 55 0c             	mov    0xc(%ebp),%edx
51d96b:	85 d2                	test   %edx,%edx
51d96d:	78 1a                	js     0x51d989
51d96f:	8b 46 04             	mov    0x4(%esi),%eax
51d972:	b9 f3 ff 00 00       	mov    $0xfff3,%ecx
51d977:	66 21 48 16          	and    %cx,0x16(%eax)
51d97b:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
51d982:	8b 4e 04             	mov    0x4(%esi),%ecx
51d985:	66 09 41 16          	or     %ax,0x16(%ecx)
51d989:	8b 46 04             	mov    0x4(%esi),%eax
51d98c:	57                   	push   %edi
51d98d:	0f b7 78 16          	movzwl 0x16(%eax),%edi
51d991:	c1 ef 02             	shr    $0x2,%edi
51d994:	83 e7 03             	and    $0x3,%edi
51d997:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
51d99b:	74 0f                	je     0x51d9ac
51d99d:	83 46 0c ff          	addl   $0xffffffff,0xc(%esi)
51d9a1:	75 09                	jne    0x51d9ac
51d9a3:	56                   	push   %esi
51d9a4:	e8 27 b0 03 00       	call   0x5589d0
51d9a9:	83 c4 04             	add    $0x4,%esp
51d9ac:	8b c7                	mov    %edi,%eax
51d9ae:	5f                   	pop    %edi
51d9af:	5e                   	pop    %esi
51d9b0:	5d                   	pop    %ebp
51d9b1:	c3                   	ret
51d9b2:	cc                   	int3
51d9b3:	cc                   	int3
51d9b4:	cc                   	int3
51d9b5:	cc                   	int3
51d9b6:	cc                   	int3
51d9b7:	cc                   	int3
51d9b8:	cc                   	int3
51d9b9:	cc                   	int3
51d9ba:	cc                   	int3
51d9bb:	cc                   	int3
51d9bc:	cc                   	int3
51d9bd:	cc                   	int3
51d9be:	cc                   	int3
51d9bf:	cc                   	int3
51d9c0:	55                   	push   %ebp
51d9c1:	8b ec                	mov    %esp,%ebp
51d9c3:	53                   	push   %ebx
51d9c4:	56                   	push   %esi
51d9c5:	8b 75 08             	mov    0x8(%ebp),%esi
51d9c8:	57                   	push   %edi
51d9c9:	33 ff                	xor    %edi,%edi
51d9cb:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
51d9cf:	8b 5e 04             	mov    0x4(%esi),%ebx
51d9d2:	74 12                	je     0x51d9e6
51d9d4:	ff 46 0c             	incl   0xc(%esi)
51d9d7:	80 7e 0a 00          	cmpb   $0x0,0xa(%esi)
51d9db:	75 09                	jne    0x51d9e6
51d9dd:	56                   	push   %esi
51d9de:	e8 ed 95 fd ff       	call   0x4f6fd0
51d9e3:	83 c4 04             	add    $0x4,%esp
51d9e6:	f6 43 16 02          	testb  $0x2,0x16(%ebx)
51d9ea:	8b 55 0c             	mov    0xc(%ebp),%edx
51d9ed:	74 16                	je     0x51da05
51d9ef:	0f b6 43 11          	movzbl 0x11(%ebx),%eax
51d9f3:	33 c9                	xor    %ecx,%ecx
51d9f5:	84 d2                	test   %dl,%dl
51d9f7:	0f 95 c1             	setne  %cl
51d9fa:	3b c8                	cmp    %eax,%ecx
51d9fc:	74 07                	je     0x51da05
51d9fe:	bf 08 00 00 00       	mov    $0x8,%edi
51da03:	eb 11                	jmp    0x51da16
51da05:	84 d2                	test   %dl,%dl
51da07:	0f 95 c0             	setne  %al
51da0a:	80 fa 02             	cmp    $0x2,%dl
51da0d:	88 43 11             	mov    %al,0x11(%ebx)
51da10:	0f 94 c0             	sete   %al
51da13:	88 43 12             	mov    %al,0x12(%ebx)
51da16:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
51da1a:	74 0f                	je     0x51da2b
51da1c:	83 46 0c ff          	addl   $0xffffffff,0xc(%esi)
51da20:	75 09                	jne    0x51da2b
51da22:	56                   	push   %esi
51da23:	e8 a8 af 03 00       	call   0x5589d0
51da28:	83 c4 04             	add    $0x4,%esp
51da2b:	8b c7                	mov    %edi,%eax
51da2d:	5f                   	pop    %edi
51da2e:	5e                   	pop    %esi
51da2f:	5b                   	pop    %ebx
51da30:	5d                   	pop    %ebp
51da31:	c3                   	ret
51da32:	cc                   	int3
51da33:	cc                   	int3
51da34:	cc                   	int3
51da35:	cc                   	int3
51da36:	cc                   	int3
51da37:	cc                   	int3
51da38:	cc                   	int3
51da39:	cc                   	int3
51da3a:	cc                   	int3
51da3b:	cc                   	int3
51da3c:	cc                   	int3
51da3d:	cc                   	int3
51da3e:	cc                   	int3
51da3f:	cc                   	int3
51da40:	55                   	push   %ebp
51da41:	8b ec                	mov    %esp,%ebp
51da43:	53                   	push   %ebx
51da44:	56                   	push   %esi
51da45:	57                   	push   %edi
51da46:	8b 7d 08             	mov    0x8(%ebp),%edi
51da49:	80 7f 09 00          	cmpb   $0x0,0x9(%edi)
51da4d:	8b 77 04             	mov    0x4(%edi),%esi
51da50:	74 12                	je     0x51da64
51da52:	ff 47 0c             	incl   0xc(%edi)
51da55:	80 7f 0a 00          	cmpb   $0x0,0xa(%edi)
51da59:	75 09                	jne    0x51da64
51da5b:	57                   	push   %edi
51da5c:	e8 6f 95 fd ff       	call   0x4f6fd0
51da61:	83 c4 04             	add    $0x4,%esp
51da64:	8b 06                	mov    (%esi),%eax
51da66:	8b 5d 0c             	mov    0xc(%ebp),%ebx
51da69:	8b 88 d4 00 00 00    	mov    0xd4(%eax),%ecx
51da6f:	89 4d 08             	mov    %ecx,0x8(%ebp)
51da72:	89 59 10             	mov    %ebx,0x10(%ecx)
51da75:	85 db                	test   %ebx,%ebx
51da77:	79 20                	jns    0x51da99
51da79:	8b 41 1c             	mov    0x1c(%ecx),%eax
51da7c:	03 41 18             	add    0x18(%ecx),%eax
51da7f:	99                   	cltd
51da80:	52                   	push   %edx
51da81:	8b f0                	mov    %eax,%esi
51da83:	ba 00 fc ff ff       	mov    $0xfffffc00,%edx
51da88:	8b c3                	mov    %ebx,%eax
51da8a:	f7 ea                	imul   %edx
51da8c:	56                   	push   %esi
51da8d:	52                   	push   %edx
51da8e:	50                   	push   %eax
51da8f:	e8 ac 40 0c 00       	call   0x5e1b40
51da94:	8b 4d 08             	mov    0x8(%ebp),%ecx
51da97:	8b d8                	mov    %eax,%ebx
51da99:	53                   	push   %ebx
51da9a:	ff 71 2c             	push   0x2c(%ecx)
51da9d:	ff 15 88 18 72 00    	call   *0x721888
51daa3:	83 c4 08             	add    $0x8,%esp
51daa6:	80 7f 09 00          	cmpb   $0x0,0x9(%edi)
51daaa:	74 0f                	je     0x51dabb
51daac:	83 47 0c ff          	addl   $0xffffffff,0xc(%edi)
51dab0:	75 09                	jne    0x51dabb
51dab2:	57                   	push   %edi
51dab3:	e8 18 af 03 00       	call   0x5589d0
51dab8:	83 c4 04             	add    $0x4,%esp
51dabb:	5f                   	pop    %edi
51dabc:	5e                   	pop    %esi
51dabd:	33 c0                	xor    %eax,%eax
51dabf:	5b                   	pop    %ebx
51dac0:	5d                   	pop    %ebp
51dac1:	c3                   	ret
51dac2:	cc                   	int3
51dac3:	cc                   	int3
51dac4:	cc                   	int3
51dac5:	cc                   	int3
51dac6:	cc                   	int3
51dac7:	cc                   	int3
51dac8:	cc                   	int3
51dac9:	cc                   	int3
51daca:	cc                   	int3
51dacb:	cc                   	int3
51dacc:	cc                   	int3
51dacd:	cc                   	int3
51dace:	cc                   	int3
51dacf:	cc                   	int3
51dad0:	55                   	push   %ebp
51dad1:	8b ec                	mov    %esp,%ebp
51dad3:	56                   	push   %esi
51dad4:	8b 75 08             	mov    0x8(%ebp),%esi
51dad7:	57                   	push   %edi
51dad8:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
51dadc:	8b 7e 04             	mov    0x4(%esi),%edi
51dadf:	74 12                	je     0x51daf3
51dae1:	ff 46 0c             	incl   0xc(%esi)
51dae4:	80 7e 0a 00          	cmpb   $0x0,0xa(%esi)
51dae8:	75 09                	jne    0x51daf3
51daea:	56                   	push   %esi
51daeb:	e8 e0 94 fd ff       	call   0x4f6fd0
51daf0:	83 c4 04             	add    $0x4,%esp
51daf3:	8b 0f                	mov    (%edi),%ecx
51daf5:	8b 45 0c             	mov    0xc(%ebp),%eax
51daf8:	51                   	push   %ecx
51daf9:	89 81 80 00 00 00    	mov    %eax,0x80(%ecx)
51daff:	8b 45 10             	mov    0x10(%ebp),%eax
51db02:	89 81 84 00 00 00    	mov    %eax,0x84(%ecx)
51db08:	e8 c3 ef fe ff       	call   0x50cad0
51db0d:	83 c4 04             	add    $0x4,%esp
51db10:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
51db14:	74 0f                	je     0x51db25
51db16:	83 46 0c ff          	addl   $0xffffffff,0xc(%esi)
51db1a:	75 09                	jne    0x51db25
51db1c:	56                   	push   %esi
51db1d:	e8 ae ae 03 00       	call   0x5589d0
51db22:	83 c4 04             	add    $0x4,%esp
51db25:	5f                   	pop    %edi
51db26:	33 c0                	xor    %eax,%eax
51db28:	5e                   	pop    %esi
51db29:	5d                   	pop    %ebp
51db2a:	c3                   	ret
51db2b:	cc                   	int3
51db2c:	cc                   	int3
51db2d:	cc                   	int3
51db2e:	cc                   	int3
51db2f:	cc                   	int3
51db30:	55                   	push   %ebp
51db31:	8b ec                	mov    %esp,%ebp
51db33:	53                   	push   %ebx
51db34:	57                   	push   %edi
51db35:	8b 7d 08             	mov    0x8(%ebp),%edi
51db38:	80 7f 09 00          	cmpb   $0x0,0x9(%edi)
51db3c:	8b 5f 04             	mov    0x4(%edi),%ebx
51db3f:	74 12                	je     0x51db53
51db41:	ff 47 0c             	incl   0xc(%edi)
51db44:	80 7f 0a 00          	cmpb   $0x0,0xa(%edi)
51db48:	75 09                	jne    0x51db53
51db4a:	57                   	push   %edi
51db4b:	e8 80 94 fd ff       	call   0x4f6fd0
51db50:	83 c4 04             	add    $0x4,%esp
51db53:	f6 43 16 02          	testb  $0x2,0x16(%ebx)
51db57:	74 1e                	je     0x51db77
51db59:	80 7f 09 00          	cmpb   $0x0,0x9(%edi)
51db5d:	74 0f                	je     0x51db6e
51db5f:	83 47 0c ff          	addl   $0xffffffff,0xc(%edi)
51db63:	75 09                	jne    0x51db6e
51db65:	57                   	push   %edi
51db66:	e8 65 ae 03 00       	call   0x5589d0
51db6b:	83 c4 04             	add    $0x4,%esp
51db6e:	5f                   	pop    %edi
51db6f:	b8 08 00 00 00       	mov    $0x8,%eax
51db74:	5b                   	pop    %ebx
51db75:	5d                   	pop    %ebp
51db76:	c3                   	ret
51db77:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
51db7b:	7d 09                	jge    0x51db86
51db7d:	8b 43 20             	mov    0x20(%ebx),%eax
51db80:	2b 43 24             	sub    0x24(%ebx),%eax
51db83:	89 45 10             	mov    %eax,0x10(%ebp)
51db86:	8b 4d 0c             	mov    0xc(%ebp),%ecx
51db89:	8d 81 00 fe ff ff    	lea    -0x200(%ecx),%eax
51db8f:	3d 00 fe 00 00       	cmp    $0xfe00,%eax
51db94:	77 13                	ja     0x51dba9
51db96:	8d 41 ff             	lea    -0x1(%ecx),%eax
51db99:	85 c1                	test   %eax,%ecx
51db9b:	75 0c                	jne    0x51dba9
51db9d:	53                   	push   %ebx
51db9e:	89 4b 20             	mov    %ecx,0x20(%ebx)
51dba1:	e8 0a 68 fe ff       	call   0x5043b0
51dba6:	83 c4 04             	add    $0x4,%esp
51dba9:	56                   	push   %esi
51dbaa:	ff 75 10             	push   0x10(%ebp)
51dbad:	8d 73 20             	lea    0x20(%ebx),%esi
51dbb0:	56                   	push   %esi
51dbb1:	ff 33                	push   (%ebx)
51dbb3:	e8 f8 58 01 00       	call   0x5334b0
51dbb8:	8b 16                	mov    (%esi),%edx
51dbba:	83 c4 0c             	add    $0xc,%esp
51dbbd:	89 45 08             	mov    %eax,0x8(%ebp)
51dbc0:	8b 45 10             	mov    0x10(%ebp),%eax
51dbc3:	0f b7 c8             	movzwl %ax,%ecx
51dbc6:	2b d1                	sub    %ecx,%edx
51dbc8:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
51dbcc:	89 53 24             	mov    %edx,0x24(%ebx)
51dbcf:	5e                   	pop    %esi
51dbd0:	74 05                	je     0x51dbd7
51dbd2:	66 83 4b 16 02       	orw    $0x2,0x16(%ebx)
51dbd7:	80 7f 09 00          	cmpb   $0x0,0x9(%edi)
51dbdb:	74 0f                	je     0x51dbec
51dbdd:	83 47 0c ff          	addl   $0xffffffff,0xc(%edi)
51dbe1:	75 09                	jne    0x51dbec
51dbe3:	57                   	push   %edi
51dbe4:	e8 e7 ad 03 00       	call   0x5589d0
51dbe9:	83 c4 04             	add    $0x4,%esp
51dbec:	8b 45 08             	mov    0x8(%ebp),%eax
51dbef:	5f                   	pop    %edi
51dbf0:	5b                   	pop    %ebx
51dbf1:	5d                   	pop    %ebp
51dbf2:	c3                   	ret
51dbf3:	cc                   	int3
51dbf4:	cc                   	int3
51dbf5:	cc                   	int3
51dbf6:	cc                   	int3
51dbf7:	cc                   	int3
51dbf8:	cc                   	int3
51dbf9:	cc                   	int3
51dbfa:	cc                   	int3
51dbfb:	cc                   	int3
51dbfc:	cc                   	int3
51dbfd:	cc                   	int3
51dbfe:	cc                   	int3
51dbff:	cc                   	int3
51dc00:	55                   	push   %ebp
51dc01:	8b ec                	mov    %esp,%ebp
51dc03:	56                   	push   %esi
51dc04:	8b 75 08             	mov    0x8(%ebp),%esi
51dc07:	57                   	push   %edi
51dc08:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
51dc0c:	8b 7e 04             	mov    0x4(%esi),%edi
51dc0f:	74 12                	je     0x51dc23
51dc11:	ff 46 0c             	incl   0xc(%esi)
51dc14:	80 7e 0a 00          	cmpb   $0x0,0xa(%esi)
51dc18:	75 09                	jne    0x51dc23
51dc1a:	56                   	push   %esi
51dc1b:	e8 b0 93 fd ff       	call   0x4f6fd0
51dc20:	83 c4 04             	add    $0x4,%esp
51dc23:	ff 75 0c             	push   0xc(%ebp)
51dc26:	ff 37                	push   (%edi)
51dc28:	e8 d3 56 01 00       	call   0x533300
51dc2d:	83 c4 08             	add    $0x8,%esp
51dc30:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
51dc34:	74 0f                	je     0x51dc45
51dc36:	83 46 0c ff          	addl   $0xffffffff,0xc(%esi)
51dc3a:	75 09                	jne    0x51dc45
51dc3c:	56                   	push   %esi
51dc3d:	e8 8e ad 03 00       	call   0x5589d0
51dc42:	83 c4 04             	add    $0x4,%esp
51dc45:	5f                   	pop    %edi
51dc46:	33 c0                	xor    %eax,%eax