54dc54:	89 55 f0             	mov    %edx,-0x10(%ebp)
54dc57:	85 d2                	test   %edx,%edx
54dc59:	0f 84 23 01 00 00    	je     0x54dd82
54dc5f:	8a 87 c8 00 00 00    	mov    0xc8(%edi),%al
54dc65:	8b 4d 08             	mov    0x8(%ebp),%ecx
54dc68:	c6 87 c8 00 00 00 00 	movb   $0x0,0xc8(%edi)
54dc6f:	ff 72 20             	push   0x20(%edx)
54dc72:	8b 7f 28             	mov    0x28(%edi),%edi
54dc75:	51                   	push   %ecx
54dc76:	88 45 ff             	mov    %al,-0x1(%ebp)
54dc79:	e8 92 f0 fe ff       	call   0x53cd10
54dc7e:	8b 45 f8             	mov    -0x8(%ebp),%eax
54dc81:	83 ce ff             	or     $0xffffffff,%esi
54dc84:	6a 40                	push   $0x40
54dc86:	52                   	push   %edx
54dc87:	51                   	push   %ecx
54dc88:	66 89 30             	mov    %si,(%eax)
54dc8b:	33 c0                	xor    %eax,%eax
54dc8d:	8b b3 50 01 00 00    	mov    0x150(%ebx),%esi
54dc93:	ff 83 18 01 00 00    	incl   0x118(%ebx)
54dc99:	66 89 83 1c 01 00 00 	mov    %ax,0x11c(%ebx)
54dca0:	89 83 50 01 00 00    	mov    %eax,0x150(%ebx)
54dca6:	e8 95 a8 fe ff       	call   0x538540
54dcab:	8b 4d 08             	mov    0x8(%ebp),%ecx
54dcae:	83 c4 14             	add    $0x14,%esp
54dcb1:	89 b3 50 01 00 00    	mov    %esi,0x150(%ebx)
54dcb7:	8b 75 0c             	mov    0xc(%ebp),%esi
54dcba:	89 45 f4             	mov    %eax,-0xc(%ebp)
54dcbd:	89 79 28             	mov    %edi,0x28(%ecx)
54dcc0:	8b f8                	mov    %eax,%edi
54dcc2:	85 ff                	test   %edi,%edi
54dcc4:	75 12                	jne    0x54dcd8
54dcc6:	8b 4d f8             	mov    -0x8(%ebp),%ecx
54dcc9:	8b 7d 08             	mov    0x8(%ebp),%edi
54dccc:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
54dcd3:	66 89 01             	mov    %ax,(%ecx)
54dcd6:	eb 46                	jmp    0x54dd1e
54dcd8:	8b 4e 18             	mov    0x18(%esi),%ecx
54dcdb:	85 c9                	test   %ecx,%ecx
54dcdd:	74 69                	je     0x54dd48
54dcdf:	8b 7d 08             	mov    0x8(%ebp),%edi
54dce2:	8d 46 04             	lea    0x4(%esi),%eax
54dce5:	50                   	push   %eax
54dce6:	8d 46 2a             	lea    0x2a(%esi),%eax
54dce9:	50                   	push   %eax
54dcea:	51                   	push   %ecx
54dceb:	57                   	push   %edi
54dcec:	e8 0f 18 fd ff       	call   0x51f500
54dcf1:	83 c4 10             	add    $0x10,%esp
54dcf4:	80 7b 51 00          	cmpb   $0x0,0x51(%ebx)
54dcf8:	75 21                	jne    0x54dd1b
54dcfa:	83 7f 24 00          	cmpl   $0x0,0x24(%edi)
54dcfe:	75 1b                	jne    0x54dd1b
54dd00:	8b 55 f0             	mov    -0x10(%ebp),%edx
54dd03:	0f bf 46 2a          	movswl 0x2a(%esi),%eax
54dd07:	8b 4a 1c             	mov    0x1c(%edx),%ecx
54dd0a:	3b 01                	cmp    (%ecx),%eax
54dd0c:	75 0d                	jne    0x54dd1b
54dd0e:	6a 40                	push   $0x40
54dd10:	52                   	push   %edx
54dd11:	56                   	push   %esi
54dd12:	57                   	push   %edi
54dd13:	e8 e8 e2 fe ff       	call   0x53c000
54dd18:	83 c4 10             	add    $0x10,%esp
54dd1b:	8d 4e 2a             	lea    0x2a(%esi),%ecx
54dd1e:	66 8b 01             	mov    (%ecx),%ax
54dd21:	66 89 46 2c          	mov    %ax,0x2c(%esi)
54dd25:	8b 45 f4             	mov    -0xc(%ebp),%eax
54dd28:	50                   	push   %eax
54dd29:	53                   	push   %ebx
54dd2a:	e8 91 44 fd ff       	call   0x5221c0
54dd2f:	ff 75 f0             	push   -0x10(%ebp)
54dd32:	53                   	push   %ebx
54dd33:	e8 58 e4 fe ff       	call   0x53c190
54dd38:	83 c4 10             	add    $0x10,%esp
54dd3b:	83 83 18 01 00 00 ff 	addl   $0xffffffff,0x118(%ebx)
54dd42:	74 22                	je     0x54dd66
54dd44:	33 c0                	xor    %eax,%eax
54dd46:	eb 25                	jmp    0x54dd6d
54dd48:	66 8b 47 2a          	mov    0x2a(%edi),%ax
54dd4c:	8d 4e 2a             	lea    0x2a(%esi),%ecx
54dd4f:	66 89 01             	mov    %ax,(%ecx)
54dd52:	8b 47 04             	mov    0x4(%edi),%eax
54dd55:	89 46 04             	mov    %eax,0x4(%esi)
54dd58:	33 c0                	xor    %eax,%eax
54dd5a:	66 89 47 2a          	mov    %ax,0x2a(%edi)
54dd5e:	89 47 04             	mov    %eax,0x4(%edi)
54dd61:	8b 7d 08             	mov    0x8(%ebp),%edi
54dd64:	eb b8                	jmp    0x54dd1e
54dd66:	0f b7 83 1e 01 00 00 	movzwl 0x11e(%ebx),%eax
54dd6d:	66 89 83 1c 01 00 00 	mov    %ax,0x11c(%ebx)
54dd74:	8a 45 ff             	mov    -0x1(%ebp),%al
54dd77:	88 87 c8 00 00 00    	mov    %al,0xc8(%edi)
54dd7d:	8b 7d ec             	mov    -0x14(%ebp),%edi
54dd80:	eb 05                	jmp    0x54dd87
54dd82:	bf 01 00 00 00       	mov    $0x1,%edi
54dd87:	8b 46 48             	mov    0x48(%esi),%eax
54dd8a:	66 83 48 4e 02       	orw    $0x2,0x4e(%eax)
54dd8f:	80 7b 51 00          	cmpb   $0x0,0x51(%ebx)
54dd93:	74 17                	je     0x54ddac
54dd95:	56                   	push   %esi
54dd96:	53                   	push   %ebx
54dd97:	e8 a4 3b fd ff       	call   0x521940
54dd9c:	83 c4 08             	add    $0x8,%esp
54dd9f:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
54dda6:	33 c9                	xor    %ecx,%ecx
54dda8:	66 89 4e 2a          	mov    %cx,0x2a(%esi)
54ddac:	8b c7                	mov    %edi,%eax
54ddae:	5f                   	pop    %edi
54ddaf:	5e                   	pop    %esi
54ddb0:	5b                   	pop    %ebx
54ddb1:	8b e5                	mov    %ebp,%esp
54ddb3:	5d                   	pop    %ebp
54ddb4:	c3                   	ret
54ddb5:	cc                   	int3
54ddb6:	cc                   	int3
54ddb7:	cc                   	int3
54ddb8:	cc                   	int3
54ddb9:	cc                   	int3
54ddba:	cc                   	int3
54ddbb:	cc                   	int3
54ddbc:	cc                   	int3
54ddbd:	cc                   	int3
54ddbe:	cc                   	int3
54ddbf:	cc                   	int3
54ddc0:	55                   	push   %ebp
54ddc1:	8b ec                	mov    %esp,%ebp
54ddc3:	8b 55 08             	mov    0x8(%ebp),%edx
54ddc6:	83 ba f4 00 00 00 00 	cmpl   $0x0,0xf4(%edx)
54ddcd:	75 16                	jne    0x54dde5
54ddcf:	8b 4d 0c             	mov    0xc(%ebp),%ecx
54ddd2:	8b 01                	mov    (%ecx),%eax
54ddd4:	89 82 f4 00 00 00    	mov    %eax,0xf4(%edx)
54ddda:	8b 41 04             	mov    0x4(%ecx),%eax
54dddd:	89 82 f8 00 00 00    	mov    %eax,0xf8(%edx)
54dde3:	5d                   	pop    %ebp
54dde4:	c3                   	ret
54dde5:	8b 45 0c             	mov    0xc(%ebp),%eax
54dde8:	8b 48 04             	mov    0x4(%eax),%ecx
54ddeb:	2b 8a f4 00 00 00    	sub    0xf4(%edx),%ecx
54ddf1:	03 08                	add    (%eax),%ecx
54ddf3:	89 8a f8 00 00 00    	mov    %ecx,0xf8(%edx)
54ddf9:	5d                   	pop    %ebp
54ddfa:	c3                   	ret
54ddfb:	cc                   	int3
54ddfc:	cc                   	int3
54ddfd:	cc                   	int3
54ddfe:	cc                   	int3
54ddff:	cc                   	int3
54de00:	55                   	push   %ebp
54de01:	8b ec                	mov    %esp,%ebp
54de03:	56                   	push   %esi
54de04:	8b 75 08             	mov    0x8(%ebp),%esi
54de07:	8b 8e f4 00 00 00    	mov    0xf4(%esi),%ecx
54de0d:	85 c9                	test   %ecx,%ecx
54de0f:	74 2a                	je     0x54de3b
54de11:	83 be e4 00 00 00 00 	cmpl   $0x0,0xe4(%esi)
54de18:	74 21                	je     0x54de3b
54de1a:	8b 86 f8 00 00 00    	mov    0xf8(%esi),%eax
54de20:	99                   	cltd
54de21:	52                   	push   %edx
54de22:	50                   	push   %eax
54de23:	51                   	push   %ecx
54de24:	ff 36                	push   (%esi)
54de26:	e8 e5 38 fd ff       	call   0x521710
54de2b:	50                   	push   %eax
54de2c:	ff b6 e4 00 00 00    	push   0xe4(%esi)
54de32:	56                   	push   %esi
54de33:	e8 38 41 fa ff       	call   0x4f1f70
54de38:	83 c4 1c             	add    $0x1c,%esp
54de3b:	c7 86 f4 00 00 00 00 	movl   $0x0,0xf4(%esi)
54de42:	00 00 00
54de45:	c7 86 f8 00 00 00 00 	movl   $0x0,0xf8(%esi)
54de4c:	00 00 00
54de4f:	5e                   	pop    %esi
54de50:	5d                   	pop    %ebp
54de51:	c3                   	ret
54de52:	cc                   	int3
54de53:	cc                   	int3
54de54:	cc                   	int3
54de55:	cc                   	int3
54de56:	cc                   	int3
54de57:	cc                   	int3
54de58:	cc                   	int3
54de59:	cc                   	int3
54de5a:	cc                   	int3
54de5b:	cc                   	int3
54de5c:	cc                   	int3
54de5d:	cc                   	int3
54de5e:	cc                   	int3
54de5f:	cc                   	int3
54de60:	55                   	push   %ebp
54de61:	8b ec                	mov    %esp,%ebp
54de63:	53                   	push   %ebx
54de64:	57                   	push   %edi
54de65:	8b 7d 08             	mov    0x8(%ebp),%edi
54de68:	33 d2                	xor    %edx,%edx
54de6a:	8b 9f 64 01 00 00    	mov    0x164(%edi),%ebx
54de70:	85 db                	test   %ebx,%ebx
54de72:	7e 0f                	jle    0x54de83
54de74:	39 97 7c 01 00 00    	cmp    %edx,0x17c(%edi)
54de7a:	75 07                	jne    0x54de83
54de7c:	5f                   	pop    %edi
54de7d:	8d 42 06             	lea    0x6(%edx),%eax
54de80:	5b                   	pop    %ebx
54de81:	5d                   	pop    %ebp
54de82:	c3                   	ret
54de83:	56                   	push   %esi
54de84:	8b 75 0c             	mov    0xc(%ebp),%esi
54de87:	85 f6                	test   %esi,%esi
54de89:	0f 84 93 00 00 00    	je     0x54df22
54de8f:	8b 46 08             	mov    0x8(%esi),%eax
54de92:	8b 00                	mov    (%eax),%eax
54de94:	89 45 08             	mov    %eax,0x8(%ebp)
54de97:	39 50 38             	cmp    %edx,0x38(%eax)
54de9a:	74 7f                	je     0x54df1b
54de9c:	33 c9                	xor    %ecx,%ecx
54de9e:	85 db                	test   %ebx,%ebx
54dea0:	7e 12                	jle    0x54deb4
54dea2:	8b 87 7c 01 00 00    	mov    0x17c(%edi),%eax
54dea8:	39 30                	cmp    %esi,(%eax)
54deaa:	74 76                	je     0x54df22
54deac:	41                   	inc    %ecx
54dead:	83 c0 04             	add    $0x4,%eax
54deb0:	3b cb                	cmp    %ebx,%ecx
54deb2:	7c f4                	jl     0x54dea8
54deb4:	57                   	push   %edi
54deb5:	e8 a6 87 fb ff       	call   0x506660
54deba:	8b d0                	mov    %eax,%edx
54debc:	83 c4 04             	add    $0x4,%esp
54debf:	85 d2                	test   %edx,%edx
54dec1:	75 58                	jne    0x54df1b
54dec3:	8b 45 08             	mov    0x8(%ebp),%eax
54dec6:	ff 76 08             	push   0x8(%esi)
54dec9:	8b 40 38             	mov    0x38(%eax),%eax
54decc:	ff d0                	call   *%eax
54dece:	8b d0                	mov    %eax,%edx
54ded0:	83 c4 04             	add    $0x4,%esp
54ded3:	85 d2                	test   %edx,%edx
54ded5:	75 44                	jne    0x54df1b
54ded7:	8b 8f 64 01 00 00    	mov    0x164(%edi),%ecx
54dedd:	8b 87 7c 01 00 00    	mov    0x17c(%edi),%eax
54dee3:	8b 9f e0 01 00 00    	mov    0x1e0(%edi),%ebx
54dee9:	03 9f dc 01 00 00    	add    0x1dc(%edi),%ebx
54deef:	89 34 88             	mov    %esi,(%eax,%ecx,4)
54def2:	ff 87 64 01 00 00    	incl   0x164(%edi)
54def8:	ff 46 0c             	incl   0xc(%esi)
54defb:	85 db                	test   %ebx,%ebx
54defd:	74 1c                	je     0x54df1b
54deff:	8b 4d 08             	mov    0x8(%ebp),%ecx
54df02:	39 51 50             	cmp    %edx,0x50(%ecx)
54df05:	74 14                	je     0x54df1b
54df07:	8d 43 ff             	lea    -0x1(%ebx),%eax
54df0a:	89 5e 14             	mov    %ebx,0x14(%esi)
54df0d:	50                   	push   %eax
54df0e:	ff 76 08             	push   0x8(%esi)
54df11:	8b 41 50             	mov    0x50(%ecx),%eax
54df14:	ff d0                	call   *%eax
54df16:	83 c4 08             	add    $0x8,%esp
54df19:	8b d0                	mov    %eax,%edx
54df1b:	5e                   	pop    %esi
54df1c:	5f                   	pop    %edi
54df1d:	8b c2                	mov    %edx,%eax
54df1f:	5b                   	pop    %ebx
54df20:	5d                   	pop    %ebp
54df21:	c3                   	ret
54df22:	5e                   	pop    %esi
54df23:	5f                   	pop    %edi
54df24:	33 c0                	xor    %eax,%eax
54df26:	5b                   	pop    %ebx
54df27:	5d                   	pop    %ebp
54df28:	c3                   	ret
54df29:	cc                   	int3
54df2a:	cc                   	int3
54df2b:	cc                   	int3
54df2c:	cc                   	int3
54df2d:	cc                   	int3
54df2e:	cc                   	int3
54df2f:	cc                   	int3
54df30:	55                   	push   %ebp
54df31:	8b ec                	mov    %esp,%ebp
54df33:	51                   	push   %ecx
54df34:	56                   	push   %esi
54df35:	57                   	push   %edi
54df36:	ff 75 18             	push   0x18(%ebp)
54df39:	8b 7d 08             	mov    0x8(%ebp),%edi
54df3c:	6a 01                	push   $0x1
54df3e:	6a 00                	push   $0x0
54df40:	6a 00                	push   $0x0
54df42:	ff 75 10             	push   0x10(%ebp)
54df45:	ff 75 0c             	push   0xc(%ebp)
54df48:	57                   	push   %edi
54df49:	e8 e2 f4 fe ff       	call   0x53d430
54df4e:	8b b7 e4 00 00 00    	mov    0xe4(%edi),%esi
54df54:	83 c4 1c             	add    $0x1c,%esp
54df57:	85 f6                	test   %esi,%esi
54df59:	0f 84 e6 00 00 00    	je     0x54e045
54df5f:	53                   	push   %ebx
54df60:	ff 75 14             	push   0x14(%ebp)
54df63:	8b 1f                	mov    (%edi),%ebx
54df65:	53                   	push   %ebx
54df66:	e8 c5 36 fe ff       	call   0x531630
54df6b:	50                   	push   %eax
54df6c:	56                   	push   %esi
54df6d:	57                   	push   %edi
54df6e:	e8 fd 3f fa ff       	call   0x4f1f70
54df73:	8b 46 38             	mov    0x38(%esi),%eax
54df76:	83 c4 14             	add    $0x14,%esp
54df79:	8d 0c 85 08 00 00 00 	lea    0x8(,%eax,4),%ecx
54df80:	83 c0 03             	add    $0x3,%eax
54df83:	89 4d fc             	mov    %ecx,-0x4(%ebp)
54df86:	8b 0f                	mov    (%edi),%ecx
54df88:	89 4d 08             	mov    %ecx,0x8(%ebp)
54df8b:	3b 41 74             	cmp    0x74(%ecx),%eax
54df8e:	7c 13                	jl     0x54dfa3
54df90:	ff 36                	push   (%esi)
54df92:	68 60 9e 6b 00       	push   $0x6b9e60
54df97:	57                   	push   %edi
54df98:	e8 c3 52 fd ff       	call   0x523260
54df9d:	8b 4d 08             	mov    0x8(%ebp),%ecx
54dfa0:	83 c4 0c             	add    $0xc,%esp
54dfa3:	6a 00                	push   $0x0
54dfa5:	ff 75 fc             	push   -0x4(%ebp)
54dfa8:	ff 76 3c             	push   0x3c(%esi)
54dfab:	51                   	push   %ecx
54dfac:	e8 af 35 fd ff       	call   0x521560
54dfb1:	83 c4 10             	add    $0x10,%esp
54dfb4:	85 c0                	test   %eax,%eax
54dfb6:	74 1b                	je     0x54dfd3
54dfb8:	8b 56 38             	mov    0x38(%esi),%edx
54dfbb:	8d 4a 01             	lea    0x1(%edx),%ecx
54dfbe:	89 4e 38             	mov    %ecx,0x38(%esi)
54dfc1:	c7 04 90 00 00 00 00 	movl   $0x0,(%eax,%edx,4)
54dfc8:	c7 44 90 04 00 00 00 	movl   $0x0,0x4(%eax,%edx,4)
54dfcf:	00
54dfd0:	89 46 3c             	mov    %eax,0x3c(%esi)
54dfd3:	ff 36                	push   (%esi)
54dfd5:	53                   	push   %ebx
54dfd6:	e8 d5 36 fd ff       	call   0x5216b0
54dfdb:	50                   	push   %eax
54dfdc:	56                   	push   %esi
54dfdd:	57                   	push   %edi
54dfde:	e8 8d 3f fa ff       	call   0x4f1f70
54dfe3:	8b 4d 14             	mov    0x14(%ebp),%ecx
54dfe6:	83 c4 14             	add    $0x14,%esp
54dfe9:	8b 41 04             	mov    0x4(%ecx),%eax
54dfec:	2b 87 b4 00 00 00    	sub    0xb4(%edi),%eax
54dff2:	03 01                	add    (%ecx),%eax
54dff4:	89 87 b8 00 00 00    	mov    %eax,0xb8(%edi)
54dffa:	8b 46 3c             	mov    0x3c(%esi),%eax