54ba4d:	89 0a                	mov    %ecx,(%edx)
54ba4f:	c3                   	ret
54ba50:	cc                   	int3
54ba51:	cc                   	int3
54ba52:	cc                   	int3
54ba53:	cc                   	int3
54ba54:	cc                   	int3
54ba55:	cc                   	int3
54ba56:	cc                   	int3
54ba57:	cc                   	int3
54ba58:	cc                   	int3
54ba59:	cc                   	int3
54ba5a:	cc                   	int3
54ba5b:	cc                   	int3
54ba5c:	cc                   	int3
54ba5d:	cc                   	int3
54ba5e:	cc                   	int3
54ba5f:	cc                   	int3
54ba60:	8b 54 24 10          	mov    0x10(%esp),%edx
54ba64:	56                   	push   %esi
54ba65:	8b 74 24 1c          	mov    0x1c(%esp),%esi
54ba69:	85 f6                	test   %esi,%esi
54ba6b:	74 63                	je     0x54bad0
54ba6d:	53                   	push   %ebx
54ba6e:	55                   	push   %ebp
54ba6f:	57                   	push   %edi
54ba70:	8b 7c 24 24          	mov    0x24(%esp),%edi
54ba74:	bd ff ff 00 00       	mov    $0xffff,%ebp
54ba79:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
54ba80:	85 d2                	test   %edx,%edx
54ba82:	74 3c                	je     0x54bac0
54ba84:	8b 42 20             	mov    0x20(%edx),%eax
54ba87:	0f b7 1f             	movzwl (%edi),%ebx
54ba8a:	83 38 00             	cmpl   $0x0,(%eax)
54ba8d:	74 1d                	je     0x54baac
54ba8f:	8b 4a 30             	mov    0x30(%edx),%ecx
54ba92:	8b 01                	mov    (%ecx),%eax
54ba94:	85 c0                	test   %eax,%eax
54ba96:	7e 14                	jle    0x54baac
54ba98:	48                   	dec    %eax
54ba99:	89 01                	mov    %eax,(%ecx)
54ba9b:	8b 4a 20             	mov    0x20(%edx),%ecx
54ba9e:	8b 11                	mov    (%ecx),%edx
54baa0:	8d 42 02             	lea    0x2(%edx),%eax
54baa3:	89 01                	mov    %eax,(%ecx)
54baa5:	8b c3                	mov    %ebx,%eax
54baa7:	66 89 1a             	mov    %bx,(%edx)
54baaa:	eb 0b                	jmp    0x54bab7
54baac:	8b 02                	mov    (%edx),%eax
54baae:	8b ca                	mov    %edx,%ecx
54bab0:	53                   	push   %ebx
54bab1:	ff 50 0c             	call   *0xc(%eax)
54bab4:	0f b7 c0             	movzwl %ax,%eax
54bab7:	8b 54 24 20          	mov    0x20(%esp),%edx
54babb:	66 3b e8             	cmp    %ax,%bp
54babe:	75 05                	jne    0x54bac5
54bac0:	c6 44 24 1c 01       	movb   $0x1,0x1c(%esp)
54bac5:	83 c7 02             	add    $0x2,%edi
54bac8:	83 ee 01             	sub    $0x1,%esi
54bacb:	75 b3                	jne    0x54ba80
54bacd:	5f                   	pop    %edi
54bace:	5d                   	pop    %ebp
54bacf:	5b                   	pop    %ebx
54bad0:	8b 44 24 0c          	mov    0xc(%esp),%eax
54bad4:	8b 4c 24 10          	mov    0x10(%esp),%ecx
54bad8:	5e                   	pop    %esi
54bad9:	89 08                	mov    %ecx,(%eax)
54badb:	89 50 04             	mov    %edx,0x4(%eax)
54bade:	c3                   	ret
54badf:	cc                   	int3
54bae0:	cc                   	int3
54bae1:	cc                   	int3
54bae2:	cc                   	int3
54bae3:	cc                   	int3
54bae4:	cc                   	int3
54bae5:	cc                   	int3
54bae6:	cc                   	int3
54bae7:	cc                   	int3
54bae8:	cc                   	int3
54bae9:	cc                   	int3
54baea:	cc                   	int3
54baeb:	cc                   	int3
54baec:	cc                   	int3
54baed:	cc                   	int3
54baee:	cc                   	int3
54baef:	cc                   	int3
54baf0:	cc                   	int3
54baf1:	cc                   	int3
54baf2:	cc                   	int3
54baf3:	cc                   	int3
54baf4:	cc                   	int3
54baf5:	cc                   	int3
54baf6:	cc                   	int3
54baf7:	cc                   	int3
54baf8:	cc                   	int3
54baf9:	cc                   	int3
54bafa:	cc                   	int3
54bafb:	cc                   	int3
54bafc:	cc                   	int3
54bafd:	cc                   	int3
54bafe:	cc                   	int3
54baff:	cc                   	int3
54bb00:	8b 54 24 10          	mov    0x10(%esp),%edx
54bb04:	56                   	push   %esi
54bb05:	8b 74 24 1c          	mov    0x1c(%esp),%esi
54bb09:	85 f6                	test   %esi,%esi
54bb0b:	74 55                	je     0x54bb62
54bb0d:	53                   	push   %ebx
54bb0e:	57                   	push   %edi
54bb0f:	8b 7c 24 20          	mov    0x20(%esp),%edi
54bb13:	bb ff ff 00 00       	mov    $0xffff,%ebx
54bb18:	85 d2                	test   %edx,%edx
54bb1a:	74 3a                	je     0x54bb56
54bb1c:	8b 42 20             	mov    0x20(%edx),%eax
54bb1f:	83 38 00             	cmpl   $0x0,(%eax)
54bb22:	74 1e                	je     0x54bb42
54bb24:	8b 4a 30             	mov    0x30(%edx),%ecx
54bb27:	8b 01                	mov    (%ecx),%eax
54bb29:	85 c0                	test   %eax,%eax
54bb2b:	7e 15                	jle    0x54bb42
54bb2d:	48                   	dec    %eax
54bb2e:	89 01                	mov    %eax,(%ecx)
54bb30:	8b 4a 20             	mov    0x20(%edx),%ecx
54bb33:	8b 11                	mov    (%ecx),%edx
54bb35:	8d 42 02             	lea    0x2(%edx),%eax
54bb38:	89 01                	mov    %eax,(%ecx)
54bb3a:	66 89 3a             	mov    %di,(%edx)
54bb3d:	0f b7 c7             	movzwl %di,%eax
54bb40:	eb 0b                	jmp    0x54bb4d
54bb42:	8b 02                	mov    (%edx),%eax
54bb44:	8b ca                	mov    %edx,%ecx
54bb46:	57                   	push   %edi
54bb47:	ff 50 0c             	call   *0xc(%eax)
54bb4a:	0f b7 c0             	movzwl %ax,%eax
54bb4d:	8b 54 24 1c          	mov    0x1c(%esp),%edx
54bb51:	66 3b d8             	cmp    %ax,%bx
54bb54:	75 05                	jne    0x54bb5b
54bb56:	c6 44 24 18 01       	movb   $0x1,0x18(%esp)
54bb5b:	83 ee 01             	sub    $0x1,%esi
54bb5e:	75 b8                	jne    0x54bb18
54bb60:	5f                   	pop    %edi
54bb61:	5b                   	pop    %ebx
54bb62:	8b 44 24 0c          	mov    0xc(%esp),%eax
54bb66:	8b 4c 24 10          	mov    0x10(%esp),%ecx
54bb6a:	5e                   	pop    %esi
54bb6b:	89 08                	mov    %ecx,(%eax)
54bb6d:	89 50 04             	mov    %edx,0x4(%eax)
54bb70:	c3                   	ret
54bb71:	cc                   	int3
54bb72:	cc                   	int3
54bb73:	cc                   	int3
54bb74:	cc                   	int3
54bb75:	cc                   	int3
54bb76:	cc                   	int3
54bb77:	cc                   	int3
54bb78:	cc                   	int3
54bb79:	cc                   	int3
54bb7a:	cc                   	int3
54bb7b:	cc                   	int3
54bb7c:	cc                   	int3
54bb7d:	cc                   	int3
54bb7e:	cc                   	int3
54bb7f:	cc                   	int3
54bb80:	cc                   	int3
54bb81:	cc                   	int3
54bb82:	cc                   	int3
54bb83:	cc                   	int3
54bb84:	cc                   	int3
54bb85:	cc                   	int3
54bb86:	cc                   	int3
54bb87:	cc                   	int3
54bb88:	cc                   	int3
54bb89:	cc                   	int3
54bb8a:	cc                   	int3
54bb8b:	cc                   	int3
54bb8c:	cc                   	int3
54bb8d:	cc                   	int3
54bb8e:	cc                   	int3
54bb8f:	cc                   	int3
54bb90:	56                   	push   %esi
54bb91:	8b f1                	mov    %ecx,%esi
54bb93:	f6 46 3c 01          	testb  $0x1,0x3c(%esi)
54bb97:	74 33                	je     0x54bbcc
54bb99:	8b 46 20             	mov    0x20(%esi),%eax
54bb9c:	8b 08                	mov    (%eax),%ecx
54bb9e:	85 c9                	test   %ecx,%ecx
54bba0:	74 0a                	je     0x54bbac
54bba2:	8b 46 30             	mov    0x30(%esi),%eax
54bba5:	8b 00                	mov    (%eax),%eax
54bba7:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
54bbaa:	eb 0d                	jmp    0x54bbb9
54bbac:	8b 46 2c             	mov    0x2c(%esi),%eax
54bbaf:	8b 08                	mov    (%eax),%ecx
54bbb1:	8b 46 1c             	mov    0x1c(%esi),%eax
54bbb4:	8b 00                	mov    (%eax),%eax
54bbb6:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
54bbb9:	8b 46 0c             	mov    0xc(%esi),%eax
54bbbc:	8b 00                	mov    (%eax),%eax
54bbbe:	2b c8                	sub    %eax,%ecx
54bbc0:	d1 f9                	sar    $1,%ecx
54bbc2:	51                   	push   %ecx
54bbc3:	50                   	push   %eax
54bbc4:	8d 4e 40             	lea    0x40(%esi),%ecx
54bbc7:	e8 25 25 ed ff       	call   0x41e0f1
54bbcc:	8b 46 0c             	mov    0xc(%esi),%eax
54bbcf:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
54bbd5:	8b 46 1c             	mov    0x1c(%esi),%eax
54bbd8:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
54bbde:	8b 46 2c             	mov    0x2c(%esi),%eax
54bbe1:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
54bbe7:	8b 46 10             	mov    0x10(%esi),%eax
54bbea:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
54bbf0:	8b 46 20             	mov    0x20(%esi),%eax
54bbf3:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
54bbf9:	8b 46 30             	mov    0x30(%esi),%eax
54bbfc:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
54bc02:	83 66 3c fe          	andl   $0xfffffffe,0x3c(%esi)
54bc06:	c7 46 38 00 00 00 00 	movl   $0x0,0x38(%esi)
54bc0d:	5e                   	pop    %esi
54bc0e:	c3                   	ret
54bc0f:	cc                   	int3
54bc10:	cc                   	int3
54bc11:	cc                   	int3
54bc12:	cc                   	int3
54bc13:	cc                   	int3
54bc14:	cc                   	int3
54bc15:	cc                   	int3
54bc16:	cc                   	int3
54bc17:	cc                   	int3
54bc18:	cc                   	int3
54bc19:	cc                   	int3
54bc1a:	cc                   	int3
54bc1b:	cc                   	int3
54bc1c:	cc                   	int3
54bc1d:	cc                   	int3
54bc1e:	cc                   	int3
54bc1f:	cc                   	int3
54bc20:	cc                   	int3
54bc21:	cc                   	int3
54bc22:	cc                   	int3
54bc23:	cc                   	int3
54bc24:	cc                   	int3
54bc25:	cc                   	int3
54bc26:	cc                   	int3
54bc27:	cc                   	int3
54bc28:	cc                   	int3
54bc29:	cc                   	int3
54bc2a:	cc                   	int3
54bc2b:	cc                   	int3
54bc2c:	cc                   	int3
54bc2d:	cc                   	int3
54bc2e:	cc                   	int3
54bc2f:	cc                   	int3
54bc30:	56                   	push   %esi
54bc31:	8b f1                	mov    %ecx,%esi
54bc33:	ff 76 08             	push   0x8(%esi)
54bc36:	e8 97 9c ee ff       	call   0x4358d2
54bc3b:	ff 76 10             	push   0x10(%esi)
54bc3e:	e8 8f 9c ee ff       	call   0x4358d2
54bc43:	ff 76 14             	push   0x14(%esi)
54bc46:	e8 87 9c ee ff       	call   0x4358d2
54bc4b:	83 c4 0c             	add    $0xc,%esp
54bc4e:	5e                   	pop    %esi
54bc4f:	c3                   	ret
54bc50:	cc                   	int3
54bc51:	cc                   	int3
54bc52:	cc                   	int3
54bc53:	cc                   	int3
54bc54:	cc                   	int3
54bc55:	cc                   	int3
54bc56:	cc                   	int3
54bc57:	cc                   	int3
54bc58:	cc                   	int3
54bc59:	cc                   	int3
54bc5a:	cc                   	int3
54bc5b:	cc                   	int3
54bc5c:	cc                   	int3
54bc5d:	cc                   	int3
54bc5e:	cc                   	int3
54bc5f:	cc                   	int3
54bc60:	c3                   	ret
54bc61:	cc                   	int3
54bc62:	cc                   	int3
54bc63:	cc                   	int3
54bc64:	cc                   	int3
54bc65:	cc                   	int3
54bc66:	cc                   	int3
54bc67:	cc                   	int3
54bc68:	cc                   	int3
54bc69:	cc                   	int3
54bc6a:	cc                   	int3
54bc6b:	cc                   	int3
54bc6c:	cc                   	int3
54bc6d:	cc                   	int3
54bc6e:	cc                   	int3
54bc6f:	cc                   	int3
54bc70:	8b 44 24 04          	mov    0x4(%esp),%eax
54bc74:	c2 04 00             	ret    $0x4
54bc77:	cc                   	int3
54bc78:	cc                   	int3
54bc79:	cc                   	int3
54bc7a:	cc                   	int3
54bc7b:	cc                   	int3
54bc7c:	cc                   	int3
54bc7d:	cc                   	int3
54bc7e:	cc                   	int3
54bc7f:	cc                   	int3
54bc80:	8b 54 24 04          	mov    0x4(%esp),%edx
54bc84:	56                   	push   %esi
54bc85:	8b f1                	mov    %ecx,%esi
54bc87:	66 83 3a 00          	cmpw   $0x0,(%edx)
54bc8b:	75 0d                	jne    0x54bc9a
54bc8d:	33 c0                	xor    %eax,%eax
54bc8f:	50                   	push   %eax
54bc90:	52                   	push   %edx
54bc91:	e8 b0 50 ee ff       	call   0x430d46
54bc96:	5e                   	pop    %esi
54bc97:	c2 04 00             	ret    $0x4
54bc9a:	8b c2                	mov    %edx,%eax
54bc9c:	57                   	push   %edi
54bc9d:	8d 78 02             	lea    0x2(%eax),%edi
54bca0:	66 8b 08             	mov    (%eax),%cx
54bca3:	83 c0 02             	add    $0x2,%eax
54bca6:	66 85 c9             	test   %cx,%cx
54bca9:	75 f5                	jne    0x54bca0
54bcab:	2b c7                	sub    %edi,%eax
54bcad:	8b ce                	mov    %esi,%ecx
54bcaf:	5f                   	pop    %edi
54bcb0:	d1 f8                	sar    $1,%eax
54bcb2:	50                   	push   %eax
54bcb3:	52                   	push   %edx
54bcb4:	e8 8d 50 ee ff       	call   0x430d46
54bcb9:	5e                   	pop    %esi
54bcba:	c2 04 00             	ret    $0x4
54bcbd:	cc                   	int3
54bcbe:	cc                   	int3
54bcbf:	cc                   	int3
54bcc0:	cc                   	int3
54bcc1:	cc                   	int3
54bcc2:	cc                   	int3
54bcc3:	cc                   	int3
54bcc4:	cc                   	int3
54bcc5:	cc                   	int3
54bcc6:	cc                   	int3
54bcc7:	cc                   	int3
54bcc8:	cc                   	int3
54bcc9:	cc                   	int3
54bcca:	cc                   	int3
54bccb:	cc                   	int3
54bccc:	cc                   	int3