44dbbe:	8d 04 91             	lea    (%ecx,%edx,4),%eax
44dbc1:	8b cf                	mov    %edi,%ecx
44dbc3:	50                   	push   %eax
44dbc4:	55                   	push   %ebp
44dbc5:	ff 15 d4 e2 49 00    	call   *0x49e2d4
44dbcb:	8b d5                	mov    %ebp,%edx
44dbcd:	8b ce                	mov    %esi,%ecx
44dbcf:	ff d7                	call   *%edi
44dbd1:	8b 7c 24 14          	mov    0x14(%esp),%edi
44dbd5:	8b 4c 24 44          	mov    0x44(%esp),%ecx
44dbd9:	29 04 b9             	sub    %eax,(%ecx,%edi,4)
44dbdc:	b8 00 00 00 00       	mov    $0x0,%eax
44dbe1:	83 03 01             	addl   $0x1,(%ebx)
44dbe4:	0f 94 c0             	sete   %al
44dbe7:	01 43 04             	add    %eax,0x4(%ebx)
44dbea:	eb a8                	jmp    0x44db94
44dbec:	8b 6c 24 44          	mov    0x44(%esp),%ebp
44dbf0:	83 ef 02             	sub    $0x2,%edi
44dbf3:	83 eb 08             	sub    $0x8,%ebx
44dbf6:	89 7c 24 14          	mov    %edi,0x14(%esp)
44dbfa:	3b fe                	cmp    %esi,%edi
44dbfc:	0f 83 30 ff ff ff    	jae    0x44db32
44dc02:	8b 44 24 34          	mov    0x34(%esp),%eax
44dc06:	8d 3c b5 00 00 00 00 	lea    0x0(,%esi,4),%edi
44dc0d:	8b 54 24 28          	mov    0x28(%esp),%edx
44dc11:	3b d0                	cmp    %eax,%edx
44dc13:	74 0f                	je     0x44dc24
44dc15:	57                   	push   %edi
44dc16:	50                   	push   %eax
44dc17:	52                   	push   %edx
44dc18:	e8 03 da 01 00       	call   0x46b620
44dc1d:	8b 54 24 34          	mov    0x34(%esp),%edx
44dc21:	83 c4 0c             	add    $0xc,%esp
44dc24:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
44dc28:	33 db                	xor    %ebx,%ebx
44dc2a:	85 c9                	test   %ecx,%ecx
44dc2c:	74 2f                	je     0x44dc5d
44dc2e:	85 f6                	test   %esi,%esi
44dc30:	74 2b                	je     0x44dc5d
44dc32:	8b 6c 24 18          	mov    0x18(%esp),%ebp
44dc36:	83 c7 fc             	add    $0xfffffffc,%edi
44dc39:	03 fa                	add    %edx,%edi
44dc3b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
44dc40:	8b 17                	mov    (%edi),%edx
44dc42:	8d 7f fc             	lea    -0x4(%edi),%edi
44dc45:	8b c2                	mov    %edx,%eax
44dc47:	d3 e8                	shr    %cl,%eax
44dc49:	8b cd                	mov    %ebp,%ecx
44dc4b:	0b c3                	or     %ebx,%eax
44dc4d:	8b da                	mov    %edx,%ebx
44dc4f:	d3 e3                	shl    %cl,%ebx
44dc51:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
44dc55:	89 47 04             	mov    %eax,0x4(%edi)
44dc58:	83 ee 01             	sub    $0x1,%esi
44dc5b:	75 e3                	jne    0x44dc40
44dc5d:	5f                   	pop    %edi
44dc5e:	5e                   	pop    %esi
44dc5f:	5d                   	pop    %ebp
44dc60:	5b                   	pop    %ebx
44dc61:	83 c4 30             	add    $0x30,%esp
44dc64:	c3                   	ret
44dc65:	cc                   	int3
44dc66:	cc                   	int3
44dc67:	cc                   	int3
44dc68:	cc                   	int3
44dc69:	cc                   	int3
44dc6a:	cc                   	int3
44dc6b:	cc                   	int3
44dc6c:	cc                   	int3
44dc6d:	cc                   	int3
44dc6e:	cc                   	int3
44dc6f:	cc                   	int3
44dc70:	85 d2                	test   %edx,%edx
44dc72:	74 1f                	je     0x44dc93
44dc74:	8d 42 ff             	lea    -0x1(%edx),%eax
44dc77:	8d 04 81             	lea    (%ecx,%eax,4),%eax
44dc7a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
44dc80:	83 78 fc 00          	cmpl   $0x0,-0x4(%eax)
44dc84:	75 0d                	jne    0x44dc93
44dc86:	83 38 00             	cmpl   $0x0,(%eax)
44dc89:	75 08                	jne    0x44dc93
44dc8b:	83 e8 08             	sub    $0x8,%eax
44dc8e:	83 ea 02             	sub    $0x2,%edx
44dc91:	75 ed                	jne    0x44dc80
44dc93:	8b c2                	mov    %edx,%eax
44dc95:	c3                   	ret
44dc96:	cc                   	int3
44dc97:	cc                   	int3
44dc98:	cc                   	int3
44dc99:	cc                   	int3
44dc9a:	cc                   	int3
44dc9b:	cc                   	int3
44dc9c:	cc                   	int3
44dc9d:	cc                   	int3
44dc9e:	cc                   	int3
44dc9f:	cc                   	int3
44dca0:	83 ec 38             	sub    $0x38,%esp
44dca3:	53                   	push   %ebx
44dca4:	89 4c 24 28          	mov    %ecx,0x28(%esp)
44dca8:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
44dcac:	8b d9                	mov    %ecx,%ebx
44dcae:	89 54 24 08          	mov    %edx,0x8(%esp)
44dcb2:	89 4c 24 24          	mov    %ecx,0x24(%esp)
44dcb6:	55                   	push   %ebp
44dcb7:	8d 04 8d 00 00 00 00 	lea    0x0(,%ecx,4),%eax
44dcbe:	bd 02 00 00 00       	mov    $0x2,%ebp
44dcc3:	89 44 24 30          	mov    %eax,0x30(%esp)
44dcc7:	89 6c 24 24          	mov    %ebp,0x24(%esp)
44dccb:	56                   	push   %esi
44dccc:	8d 34 ca             	lea    (%edx,%ecx,8),%esi
44dccf:	89 74 24 14          	mov    %esi,0x14(%esp)
44dcd3:	57                   	push   %edi
44dcd4:	8d 3c 10             	lea    (%eax,%edx,1),%edi
44dcd7:	89 7c 24 28          	mov    %edi,0x28(%esp)
44dcdb:	8d 04 49             	lea    (%ecx,%ecx,2),%eax
44dcde:	8d 04 82             	lea    (%edx,%eax,4),%eax
44dce1:	89 44 24 1c          	mov    %eax,0x1c(%esp)
44dce5:	85 c9                	test   %ecx,%ecx
44dce7:	74 20                	je     0x44dd09
44dce9:	8b 44 24 54          	mov    0x54(%esp),%eax
44dced:	8d 04 88             	lea    (%eax,%ecx,4),%eax
44dcf0:	83 c0 fc             	add    $0xfffffffc,%eax
44dcf3:	83 78 fc 00          	cmpl   $0x0,-0x4(%eax)
44dcf7:	75 0c                	jne    0x44dd05
44dcf9:	83 38 00             	cmpl   $0x0,(%eax)
44dcfc:	75 07                	jne    0x44dd05
44dcfe:	83 e8 08             	sub    $0x8,%eax
44dd01:	2b dd                	sub    %ebp,%ebx
44dd03:	75 ee                	jne    0x44dcf3
44dd05:	89 5c 24 30          	mov    %ebx,0x30(%esp)
44dd09:	32 c0                	xor    %al,%al
44dd0b:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%esp)
44dd12:	00
44dd13:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
44dd16:	88 44 24 13          	mov    %al,0x13(%esp)
44dd1a:	85 c9                	test   %ecx,%ecx
44dd1c:	74 0a                	je     0x44dd28
44dd1e:	33 c0                	xor    %eax,%eax
44dd20:	8b fa                	mov    %edx,%edi
44dd22:	f3 ab                	rep stos %eax,%es:(%edi)
44dd24:	8b 7c 24 28          	mov    0x28(%esp),%edi
44dd28:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
44dd2c:	c7 02 01 00 00 00    	movl   $0x1,(%edx)
44dd32:	3b f1                	cmp    %ecx,%esi
44dd34:	74 12                	je     0x44dd48
44dd36:	8b 44 24 50          	mov    0x50(%esp),%eax
44dd3a:	c1 e0 02             	shl    $0x2,%eax
44dd3d:	50                   	push   %eax
44dd3e:	51                   	push   %ecx
44dd3f:	56                   	push   %esi
44dd40:	e8 db d8 01 00       	call   0x46b620
44dd45:	83 c4 0c             	add    $0xc,%esp
44dd48:	8b 44 24 1c          	mov    0x1c(%esp),%eax
44dd4c:	8b 4c 24 54          	mov    0x54(%esp),%ecx
44dd50:	3b c1                	cmp    %ecx,%eax
44dd52:	74 0e                	je     0x44dd62
44dd54:	ff 74 24 38          	push   0x38(%esp)
44dd58:	51                   	push   %ecx
44dd59:	50                   	push   %eax
44dd5a:	e8 c1 d8 01 00       	call   0x46b620
44dd5f:	83 c4 0c             	add    $0xc,%esp
44dd62:	8b 06                	mov    (%esi),%eax
44dd64:	85 c0                	test   %eax,%eax
44dd66:	0f 85 ca 00 00 00    	jne    0x44de36
44dd6c:	0f 1f 40 00          	nopl   0x0(%eax)
44dd70:	8b d3                	mov    %ebx,%edx
44dd72:	8b ce                	mov    %esi,%ecx
44dd74:	e8 f7 fe ff ff       	call   0x44dc70
44dd79:	85 c0                	test   %eax,%eax
44dd7b:	0f 84 df 02 00 00    	je     0x44e060
44dd81:	bf 01 00 00 00       	mov    $0x1,%edi
44dd86:	3b df                	cmp    %edi,%ebx
44dd88:	0f 42 fb             	cmovb  %ebx,%edi
44dd8b:	85 ff                	test   %edi,%edi
44dd8d:	74 3f                	je     0x44ddce
44dd8f:	8d 2c bd 00 00 00 00 	lea    0x0(,%edi,4),%ebp
44dd96:	3b fb                	cmp    %ebx,%edi
44dd98:	73 1a                	jae    0x44ddb4
44dd9a:	8b d6                	mov    %esi,%edx
44dd9c:	8b cf                	mov    %edi,%ecx
44dd9e:	03 f5                	add    %ebp,%esi
44dda0:	8b 06                	mov    (%esi),%eax
44dda2:	8d 52 04             	lea    0x4(%edx),%edx
44dda5:	41                   	inc    %ecx
44dda6:	89 42 fc             	mov    %eax,-0x4(%edx)
44dda9:	8d 76 04             	lea    0x4(%esi),%esi
44ddac:	3b cb                	cmp    %ebx,%ecx
44ddae:	72 f0                	jb     0x44dda0
44ddb0:	8b 74 24 18          	mov    0x18(%esp),%esi
44ddb4:	8b c3                	mov    %ebx,%eax
44ddb6:	2b c7                	sub    %edi,%eax
44ddb8:	8d 14 86             	lea    (%esi,%eax,4),%edx
44ddbb:	85 ff                	test   %edi,%edi
44ddbd:	74 0b                	je     0x44ddca
44ddbf:	c1 ed 02             	shr    $0x2,%ebp
44ddc2:	8b fa                	mov    %edx,%edi
44ddc4:	8b cd                	mov    %ebp,%ecx
44ddc6:	33 c0                	xor    %eax,%eax
44ddc8:	f3 ab                	rep stos %eax,%es:(%edi)
44ddca:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
44ddce:	8b 7c 24 28          	mov    0x28(%esp),%edi
44ddd2:	be 01 00 00 00       	mov    $0x1,%esi
44ddd7:	8b 44 af fc          	mov    -0x4(%edi,%ebp,4),%eax
44dddb:	f7 d8                	neg    %eax
44dddd:	1b c0                	sbb    %eax,%eax
44dddf:	83 e0 02             	and    $0x2,%eax
44dde2:	03 e8                	add    %eax,%ebp
44dde4:	3b ee                	cmp    %esi,%ebp
44dde6:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
44ddea:	0f 42 f5             	cmovb  %ebp,%esi
44dded:	85 f6                	test   %esi,%esi
44ddef:	74 2a                	je     0x44de1b
44ddf1:	8d 45 ff             	lea    -0x1(%ebp),%eax
44ddf4:	3b c6                	cmp    %esi,%eax
44ddf6:	72 15                	jb     0x44de0d
44ddf8:	8b c8                	mov    %eax,%ecx
44ddfa:	2b ce                	sub    %esi,%ecx
44ddfc:	8d 14 8f             	lea    (%edi,%ecx,4),%edx
44ddff:	90                   	nop
44de00:	8b 0a                	mov    (%edx),%ecx
44de02:	8d 52 fc             	lea    -0x4(%edx),%edx
44de05:	89 0c 87             	mov    %ecx,(%edi,%eax,4)
44de08:	48                   	dec    %eax
44de09:	3b c6                	cmp    %esi,%eax
44de0b:	73 f3                	jae    0x44de00
44de0d:	85 f6                	test   %esi,%esi
44de0f:	74 0a                	je     0x44de1b
44de11:	8b ce                	mov    %esi,%ecx
44de13:	33 c0                	xor    %eax,%eax
44de15:	f3 ab                	rep stos %eax,%es:(%edi)
44de17:	8b 7c 24 28          	mov    0x28(%esp),%edi
44de1b:	8b 74 24 18          	mov    0x18(%esp),%esi
44de1f:	8b 54 24 20          	mov    0x20(%esp),%edx
44de23:	83 c2 20             	add    $0x20,%edx
44de26:	89 54 24 20          	mov    %edx,0x20(%esp)
44de2a:	8b 06                	mov    (%esi),%eax
44de2c:	85 c0                	test   %eax,%eax
44de2e:	0f 84 3c ff ff ff    	je     0x44dd70
44de34:	eb 04                	jmp    0x44de3a
44de36:	8b 54 24 20          	mov    0x20(%esp),%edx
44de3a:	0f bc c8             	bsf    %eax,%ecx
44de3d:	03 d1                	add    %ecx,%edx
44de3f:	d3 e8                	shr    %cl,%eax
44de41:	89 4c 24 24          	mov    %ecx,0x24(%esp)
44de45:	89 54 24 20          	mov    %edx,0x20(%esp)
44de49:	83 f8 01             	cmp    $0x1,%eax
44de4c:	75 64                	jne    0x44deb2
44de4e:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
44de52:	75 5e                	jne    0x44deb2
44de54:	8d 4b fe             	lea    -0x2(%ebx),%ecx
44de57:	85 c9                	test   %ecx,%ecx
44de59:	74 19                	je     0x44de74
44de5b:	8d 41 01             	lea    0x1(%ecx),%eax
44de5e:	8d 04 86             	lea    (%esi,%eax,4),%eax
44de61:	83 78 fc 00          	cmpl   $0x0,-0x4(%eax)
44de65:	75 47                	jne    0x44deae
44de67:	83 38 00             	cmpl   $0x0,(%eax)
44de6a:	75 42                	jne    0x44deae
44de6c:	83 e8 08             	sub    $0x8,%eax
44de6f:	83 e9 02             	sub    $0x2,%ecx
44de72:	75 ed                	jne    0x44de61
44de74:	80 7c 24 13 00       	cmpb   $0x0,0x13(%esp)
44de79:	0f 84 01 02 00 00    	je     0x44e080
44de7f:	ff 74 24 14          	push   0x14(%esp)
44de83:	8b 44 24 58          	mov    0x58(%esp),%eax
44de87:	8b 35 5c 4e 4c 00    	mov    0x4c4e5c,%esi
44de8d:	8b ce                	mov    %esi,%ecx
44de8f:	50                   	push   %eax
44de90:	ff 15 d4 e2 49 00    	call   *0x49e2d4
44de96:	8b 54 24 3c          	mov    0x3c(%esp),%edx
44de9a:	8b 4c 24 60          	mov    0x60(%esp),%ecx
44de9e:	ff d6                	call   *%esi
44dea0:	8b 54 24 20          	mov    0x20(%esp),%edx
44dea4:	8b c2                	mov    %edx,%eax
44dea6:	5f                   	pop    %edi
44dea7:	5e                   	pop    %esi
44dea8:	5d                   	pop    %ebp
44dea9:	5b                   	pop    %ebx
44deaa:	83 c4 38             	add    $0x38,%esp
44dead:	c3                   	ret
44deae:	8b 4c 24 24          	mov    0x24(%esp),%ecx
44deb2:	c7 44 24 3c 00 00 00 	movl   $0x0,0x3c(%esp)
44deb9:	00
44deba:	85 c9                	test   %ecx,%ecx
44debc:	74 52                	je     0x44df10
44debe:	89 5c 24 40          	mov    %ebx,0x40(%esp)
44dec2:	85 db                	test   %ebx,%ebx
44dec4:	74 4a                	je     0x44df10
44dec6:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
44deca:	8d 34 9e             	lea    (%esi,%ebx,4),%esi
44decd:	8b 5c 24 24          	mov    0x24(%esp),%ebx
44ded1:	b8 20 00 00 00       	mov    $0x20,%eax
44ded6:	8b 6c 24 40          	mov    0x40(%esp),%ebp
44deda:	2b c1                	sub    %ecx,%eax
44dedc:	89 44 24 44          	mov    %eax,0x44(%esp)
44dee0:	83 c6 fc             	add    $0xfffffffc,%esi
44dee3:	8b 16                	mov    (%esi),%edx
44dee5:	8d 76 fc             	lea    -0x4(%esi),%esi
44dee8:	8b cb                	mov    %ebx,%ecx
44deea:	8b c2                	mov    %edx,%eax
44deec:	d3 e8                	shr    %cl,%eax
44deee:	8b 4c 24 44          	mov    0x44(%esp),%ecx
44def2:	0b c7                	or     %edi,%eax
44def4:	8b fa                	mov    %edx,%edi
44def6:	89 46 04             	mov    %eax,0x4(%esi)
44def9:	d3 e7                	shl    %cl,%edi
44defb:	83 ed 01             	sub    $0x1,%ebp
44defe:	75 e3                	jne    0x44dee3
44df00:	8b 5c 24 30          	mov    0x30(%esp),%ebx
44df04:	8b 7c 24 28          	mov    0x28(%esp),%edi
44df08:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
44df0c:	8b 4c 24 24          	mov    0x24(%esp),%ecx
44df10:	33 f6                	xor    %esi,%esi
44df12:	85 c9                	test   %ecx,%ecx
44df14:	74 32                	je     0x44df48
44df16:	85 ed                	test   %ebp,%ebp
44df18:	74 2e                	je     0x44df48
44df1a:	b8 20 00 00 00       	mov    $0x20,%eax
44df1f:	8b de                	mov    %esi,%ebx
44df21:	2b c1                	sub    %ecx,%eax
44df23:	89 44 24 40          	mov    %eax,0x40(%esp)
44df27:	8b 14 9f             	mov    (%edi,%ebx,4),%edx
44df2a:	8b c2                	mov    %edx,%eax
44df2c:	d3 e0                	shl    %cl,%eax
44df2e:	8b 4c 24 40          	mov    0x40(%esp),%ecx
44df32:	0b c6                	or     %esi,%eax
44df34:	89 04 9f             	mov    %eax,(%edi,%ebx,4)
44df37:	8b f2                	mov    %edx,%esi
44df39:	d3 ee                	shr    %cl,%esi
44df3b:	43                   	inc    %ebx
44df3c:	8b 4c 24 24          	mov    0x24(%esp),%ecx
44df40:	3b dd                	cmp    %ebp,%ebx
44df42:	72 e3                	jb     0x44df27
44df44:	8b 5c 24 30          	mov    0x30(%esp),%ebx
44df48:	01 34 af             	add    %esi,(%edi,%ebp,4)
44df4b:	8d 04 9d 00 00 00 00 	lea    0x0(,%ebx,4),%eax
44df52:	f7 de                	neg    %esi
44df54:	8b cb                	mov    %ebx,%ecx
44df56:	1b f6                	sbb    %esi,%esi
44df58:	83 e6 02             	and    $0x2,%esi
44df5b:	03 ee                	add    %esi,%ebp
44df5d:	85 db                	test   %ebx,%ebx
44df5f:	74 36                	je     0x44df97
44df61:	8b 74 24 1c          	mov    0x1c(%esp),%esi
44df65:	89 44 24 24          	mov    %eax,0x24(%esp)
44df69:	03 44 24 18          	add    0x18(%esp),%eax
44df6d:	2b 74 24 18          	sub    0x18(%esp),%esi
44df71:	89 74 24 44          	mov    %esi,0x44(%esp)
44df75:	8b 50 fc             	mov    -0x4(%eax),%edx
44df78:	8d 40 fc             	lea    -0x4(%eax),%eax