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
51dc48:	5e                   	pop    %esi
51dc49:	5d                   	pop    %ebp
51dc4a:	c3                   	ret
51dc4b:	cc                   	int3
51dc4c:	cc                   	int3
51dc4d:	cc                   	int3
51dc4e:	cc                   	int3
51dc4f:	cc                   	int3
51dc50:	55                   	push   %ebp
51dc51:	8b ec                	mov    %esp,%ebp
51dc53:	56                   	push   %esi
51dc54:	8b 75 08             	mov    0x8(%ebp),%esi
51dc57:	57                   	push   %edi
51dc58:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
51dc5c:	8b 7e 04             	mov    0x4(%esi),%edi
51dc5f:	74 12                	je     0x51dc73
51dc61:	ff 46 0c             	incl   0xc(%esi)
51dc64:	80 7e 0a 00          	cmpb   $0x0,0xa(%esi)
51dc68:	75 09                	jne    0x51dc73
51dc6a:	56                   	push   %esi
51dc6b:	e8 60 93 fd ff       	call   0x4f6fd0
51dc70:	83 c4 04             	add    $0x4,%esp
51dc73:	8b 07                	mov    (%edi),%eax
51dc75:	ff 75 0c             	push   0xc(%ebp)
51dc78:	ff b0 d4 00 00 00    	push   0xd4(%eax)
51dc7e:	e8 ad 6a 01 00       	call   0x534730
51dc83:	83 c4 08             	add    $0x8,%esp
51dc86:	8b f8                	mov    %eax,%edi
51dc88:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
51dc8c:	74 0f                	je     0x51dc9d
51dc8e:	83 46 0c ff          	addl   $0xffffffff,0xc(%esi)
51dc92:	75 09                	jne    0x51dc9d
51dc94:	56                   	push   %esi
51dc95:	e8 36 ad 03 00       	call   0x5589d0
51dc9a:	83 c4 04             	add    $0x4,%esp
51dc9d:	8b c7                	mov    %edi,%eax
51dc9f:	5f                   	pop    %edi
51dca0:	5e                   	pop    %esi
51dca1:	5d                   	pop    %ebp
51dca2:	c3                   	ret
51dca3:	cc                   	int3
51dca4:	cc                   	int3
51dca5:	cc                   	int3
51dca6:	cc                   	int3
51dca7:	cc                   	int3
51dca8:	cc                   	int3
51dca9:	cc                   	int3
51dcaa:	cc                   	int3
51dcab:	cc                   	int3
51dcac:	cc                   	int3
51dcad:	cc                   	int3
51dcae:	cc                   	int3
51dcaf:	cc                   	int3
51dcb0:	55                   	push   %ebp
51dcb1:	8b ec                	mov    %esp,%ebp
51dcb3:	8b 4d 08             	mov    0x8(%ebp),%ecx
51dcb6:	b8 df ff 00 00       	mov    $0xffdf,%eax
51dcbb:	53                   	push   %ebx
51dcbc:	8b 5d 0c             	mov    0xc(%ebp),%ebx
51dcbf:	56                   	push   %esi
51dcc0:	8b 71 04             	mov    0x4(%ecx),%esi
51dcc3:	66 21 46 16          	and    %ax,0x16(%esi)
51dcc7:	66 8b 46 16          	mov    0x16(%esi),%ax
51dccb:	83 fb 01             	cmp    $0x1,%ebx
51dcce:	75 07                	jne    0x51dcd7
51dcd0:	83 c8 20             	or     $0x20,%eax
51dcd3:	66 89 46 16          	mov    %ax,0x16(%esi)
51dcd7:	6a 00                	push   $0x0
51dcd9:	6a 00                	push   $0x0
51dcdb:	51                   	push   %ecx
51dcdc:	e8 6f ce ff ff       	call   0x51ab50
51dce1:	83 c4 0c             	add    $0xc,%esp
51dce4:	85 c0                	test   %eax,%eax
51dce6:	75 3d                	jne    0x51dd25
51dce8:	8b 4e 0c             	mov    0xc(%esi),%ecx
51dceb:	57                   	push   %edi
51dcec:	8b 79 38             	mov    0x38(%ecx),%edi
51dcef:	38 5f 12             	cmp    %bl,0x12(%edi)
51dcf2:	75 05                	jne    0x51dcf9
51dcf4:	38 5f 13             	cmp    %bl,0x13(%edi)
51dcf7:	74 2b                	je     0x51dd24
51dcf9:	6a 00                	push   $0x0
51dcfb:	6a 02                	push   $0x2
51dcfd:	ff 75 08             	push   0x8(%ebp)
51dd00:	e8 4b ce ff ff       	call   0x51ab50
51dd05:	83 c4 0c             	add    $0xc,%esp
51dd08:	85 c0                	test   %eax,%eax
51dd0a:	75 18                	jne    0x51dd24
51dd0c:	8b 46 0c             	mov    0xc(%esi),%eax
51dd0f:	ff 70 48             	push   0x48(%eax)
51dd12:	e8 29 5c 01 00       	call   0x533940
51dd17:	83 c4 04             	add    $0x4,%esp
51dd1a:	85 c0                	test   %eax,%eax
51dd1c:	75 06                	jne    0x51dd24
51dd1e:	88 5f 12             	mov    %bl,0x12(%edi)
51dd21:	88 5f 13             	mov    %bl,0x13(%edi)
51dd24:	5f                   	pop    %edi
51dd25:	b9 df ff 00 00       	mov    $0xffdf,%ecx
51dd2a:	66 21 4e 16          	and    %cx,0x16(%esi)
51dd2e:	5e                   	pop    %esi
51dd2f:	5b                   	pop    %ebx
51dd30:	5d                   	pop    %ebp
51dd31:	c3                   	ret
51dd32:	cc                   	int3
51dd33:	cc                   	int3
51dd34:	cc                   	int3
51dd35:	cc                   	int3
51dd36:	cc                   	int3
51dd37:	cc                   	int3
51dd38:	cc                   	int3
51dd39:	cc                   	int3
51dd3a:	cc                   	int3
51dd3b:	cc                   	int3
51dd3c:	cc                   	int3
51dd3d:	cc                   	int3
51dd3e:	cc                   	int3
51dd3f:	cc                   	int3
51dd40:	55                   	push   %ebp
51dd41:	8b ec                	mov    %esp,%ebp
51dd43:	53                   	push   %ebx
51dd44:	8b 5d 08             	mov    0x8(%ebp),%ebx
51dd47:	57                   	push   %edi
51dd48:	33 ff                	xor    %edi,%edi
51dd4a:	85 db                	test   %ebx,%ebx
51dd4c:	0f 84 25 01 00 00    	je     0x51de77
51dd52:	80 7b 09 00          	cmpb   $0x0,0x9(%ebx)
51dd56:	74 12                	je     0x51dd6a
51dd58:	ff 43 0c             	incl   0xc(%ebx)
51dd5b:	80 7b 0a 00          	cmpb   $0x0,0xa(%ebx)
51dd5f:	75 09                	jne    0x51dd6a
51dd61:	53                   	push   %ebx
51dd62:	e8 69 92 fd ff       	call   0x4f6fd0
51dd67:	83 c4 04             	add    $0x4,%esp
51dd6a:	56                   	push   %esi
51dd6b:	8b 73 04             	mov    0x4(%ebx),%esi
51dd6e:	8b 76 08             	mov    0x8(%esi),%esi
51dd71:	85 f6                	test   %esi,%esi
51dd73:	0f 84 e8 00 00 00    	je     0x51de61
51dd79:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
51dd80:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
51dd84:	74 58                	je     0x51ddde
51dd86:	8a 4e 01             	mov    0x1(%esi),%cl
51dd89:	f6 c1 01             	test   $0x1,%cl
51dd8c:	75 50                	jne    0x51ddde
51dd8e:	8a 06                	mov    (%esi),%al
51dd90:	84 c0                	test   %al,%al
51dd92:	74 08                	je     0x51dd9c
51dd94:	3c 02                	cmp    $0x2,%al
51dd96:	0f 85 ae 00 00 00    	jne    0x51de4a
51dd9c:	f6 c1 40             	test   $0x40,%cl
51dd9f:	0f 85 d8 00 00 00    	jne    0x51de7d
51dda5:	3c 02                	cmp    $0x2,%al
51dda7:	75 05                	jne    0x51ddae
51dda9:	c6 06 00             	movb   $0x0,(%esi)
51ddac:	eb 07                	jmp    0x51ddb5
51ddae:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
51ddb5:	56                   	push   %esi
51ddb6:	e8 75 73 ff ff       	call   0x515130
51ddbb:	8b f8                	mov    %eax,%edi
51ddbd:	83 c4 04             	add    $0x4,%esp
51ddc0:	85 ff                	test   %edi,%edi
51ddc2:	75 0c                	jne    0x51ddd0
51ddc4:	56                   	push   %esi
51ddc5:	e8 36 9b fd ff       	call   0x4f7900
51ddca:	83 c4 04             	add    $0x4,%esp
51ddcd:	c6 06 03             	movb   $0x3,(%esi)
51ddd0:	80 66 01 f1          	andb   $0xf1,0x1(%esi)
51ddd4:	85 ff                	test   %edi,%edi
51ddd6:	0f 85 a6 00 00 00    	jne    0x51de82
51dddc:	eb 6c                	jmp    0x51de4a
51ddde:	8b 5e 10             	mov    0x10(%esi),%ebx
51dde1:	85 db                	test   %ebx,%ebx
51dde3:	74 55                	je     0x51de3a
51dde5:	83 3d 10 18 72 00 00 	cmpl   $0x0,0x721810
51ddec:	74 42                	je     0x51de30