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
44df7b:	49                   	dec    %ecx
44df7c:	3b 14 06             	cmp    (%esi,%eax,1),%edx
44df7f:	0f 87 cd 00 00 00    	ja     0x44e052
44df85:	0f 82 bf 00 00 00    	jb     0x44e04a
44df8b:	8b 74 24 44          	mov    0x44(%esp),%esi
44df8f:	85 c9                	test   %ecx,%ecx
44df91:	75 e2                	jne    0x44df75
44df93:	8b 44 24 24          	mov    0x24(%esp),%eax
44df97:	33 c9                	xor    %ecx,%ecx
44df99:	89 44 24 24          	mov    %eax,0x24(%esp)
44df9d:	8b 74 24 18          	mov    0x18(%esp),%esi
44dfa1:	83 f9 ff             	cmp    $0xffffffff,%ecx
44dfa4:	8b c6                	mov    %esi,%eax
44dfa6:	0f 94 c2             	sete   %dl
44dfa9:	2b 44 24 1c          	sub    0x1c(%esp),%eax
44dfad:	c1 f8 02             	sar    $0x2,%eax
44dfb0:	30 54 24 13          	xor    %dl,0x13(%esp)
44dfb4:	0f b6 ca             	movzbl %dl,%ecx
44dfb7:	0f af c1             	imul   %ecx,%eax
44dfba:	c1 e0 02             	shl    $0x2,%eax
44dfbd:	01 44 24 1c          	add    %eax,0x1c(%esp)
44dfc1:	2b f0                	sub    %eax,%esi
44dfc3:	8b 44 24 14          	mov    0x14(%esp),%eax
44dfc7:	ff 74 24 1c          	push   0x1c(%esp)
44dfcb:	2b c7                	sub    %edi,%eax
44dfcd:	89 74 24 1c          	mov    %esi,0x1c(%esp)
44dfd1:	c1 f8 02             	sar    $0x2,%eax
44dfd4:	0f af c1             	imul   %ecx,%eax
44dfd7:	8b 4c 24 28          	mov    0x28(%esp),%ecx
44dfdb:	56                   	push   %esi
44dfdc:	c1 e0 02             	shl    $0x2,%eax
44dfdf:	29 44 24 1c          	sub    %eax,0x1c(%esp)
44dfe3:	03 f8                	add    %eax,%edi
44dfe5:	8b 44 9e f8          	mov    -0x8(%esi,%ebx,4),%eax
44dfe9:	0b 44 31 fc          	or     -0x4(%ecx,%esi,1),%eax
44dfed:	8b 35 5c 4e 4c 00    	mov    0x4c4e5c,%esi
44dff3:	f7 d8                	neg    %eax
44dff5:	8b ce                	mov    %esi,%ecx
44dff7:	89 7c 24 30          	mov    %edi,0x30(%esp)
44dffb:	1b c0                	sbb    %eax,%eax
44dffd:	83 e0 fe             	and    $0xfffffffe,%eax
44e000:	83 c0 02             	add    $0x2,%eax
44e003:	2b d8                	sub    %eax,%ebx
44e005:	89 5c 24 38          	mov    %ebx,0x38(%esp)
44e009:	ff 15 d4 e2 49 00    	call   *0x49e2d4
44e00f:	8b 54 24 20          	mov    0x20(%esp),%edx
44e013:	8b cb                	mov    %ebx,%ecx
44e015:	ff d6                	call   *%esi
44e017:	8b 35 58 4e 4c 00    	mov    0x4c4e58,%esi
44e01d:	8b ce                	mov    %esi,%ecx
44e01f:	57                   	push   %edi
44e020:	ff 74 24 18          	push   0x18(%esp)
44e024:	ff 15 d4 e2 49 00    	call   *0x49e2d4
44e02a:	8b 54 24 1c          	mov    0x1c(%esp),%edx
44e02e:	8b cd                	mov    %ebp,%ecx
44e030:	ff d6                	call   *%esi
44e032:	8b 4c 24 14          	mov    0x14(%esp),%ecx
44e036:	8b 74 24 18          	mov    0x18(%esp),%esi
44e03a:	01 04 a9             	add    %eax,(%ecx,%ebp,4)
44e03d:	8d 6c 45 00          	lea    0x0(%ebp,%eax,2),%ebp
44e041:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
44e045:	e9 18 fd ff ff       	jmp    0x44dd62
44e04a:	83 c9 ff             	or     $0xffffffff,%ecx
44e04d:	e9 4b ff ff ff       	jmp    0x44df9d
44e052:	8b 44 24 24          	mov    0x24(%esp),%eax
44e056:	b9 01 00 00 00       	mov    $0x1,%ecx
44e05b:	e9 39 ff ff ff       	jmp    0x44df99
44e060:	83 7c 24 58 00       	cmpl   $0x0,0x58(%esp)
44e065:	76 0f                	jbe    0x44e076
44e067:	8b 4c 24 38          	mov    0x38(%esp),%ecx
44e06b:	8b 7c 24 34          	mov    0x34(%esp),%edi
44e06f:	c1 e9 02             	shr    $0x2,%ecx
44e072:	33 c0                	xor    %eax,%eax
44e074:	f3 ab                	rep stos %eax,%es:(%edi)
44e076:	5f                   	pop    %edi
44e077:	5e                   	pop    %esi
44e078:	5d                   	pop    %ebp
44e079:	33 c0                	xor    %eax,%eax
44e07b:	5b                   	pop    %ebx
44e07c:	83 c4 38             	add    $0x38,%esp
44e07f:	c3                   	ret
44e080:	8b 44 24 14          	mov    0x14(%esp),%eax
44e084:	8b 7c 24 34          	mov    0x34(%esp),%edi
44e088:	3b f8                	cmp    %eax,%edi
44e08a:	74 12                	je     0x44e09e
44e08c:	ff 74 24 38          	push   0x38(%esp)
44e090:	50                   	push   %eax
44e091:	57                   	push   %edi
44e092:	e8 89 d5 01 00       	call   0x46b620
44e097:	8b 54 24 2c          	mov    0x2c(%esp),%edx
44e09b:	83 c4 0c             	add    $0xc,%esp
44e09e:	5f                   	pop    %edi
44e09f:	5e                   	pop    %esi
44e0a0:	5d                   	pop    %ebp
44e0a1:	8b c2                	mov    %edx,%eax
44e0a3:	5b                   	pop    %ebx
44e0a4:	83 c4 38             	add    $0x38,%esp
44e0a7:	c3                   	ret
44e0a8:	cc                   	int3
44e0a9:	cc                   	int3
44e0aa:	cc                   	int3
44e0ab:	cc                   	int3
44e0ac:	cc                   	int3
44e0ad:	cc                   	int3
44e0ae:	cc                   	int3
44e0af:	cc                   	int3
44e0b0:	83 ec 08             	sub    $0x8,%esp
44e0b3:	53                   	push   %ebx
44e0b4:	56                   	push   %esi
44e0b5:	8b c2                	mov    %edx,%eax
44e0b7:	8b 54 24 1c          	mov    0x1c(%esp),%edx
44e0bb:	57                   	push   %edi
44e0bc:	8b f9                	mov    %ecx,%edi
44e0be:	89 7c 24 10          	mov    %edi,0x10(%esp)
44e0c2:	8d 34 95 00 00 00 00 	lea    0x0(,%edx,4),%esi
44e0c9:	3b f8                	cmp    %eax,%edi
44e0cb:	74 0f                	je     0x44e0dc
44e0cd:	56                   	push   %esi
44e0ce:	50                   	push   %eax
44e0cf:	57                   	push   %edi
44e0d0:	e8 4b d5 01 00       	call   0x46b620
44e0d5:	8b 54 24 2c          	mov    0x2c(%esp),%edx
44e0d9:	83 c4 0c             	add    $0xc,%esp
44e0dc:	8b 5c 24 18          	mov    0x18(%esp),%ebx
44e0e0:	85 db                	test   %ebx,%ebx
44e0e2:	0f 84 9d 00 00 00    	je     0x44e185
44e0e8:	55                   	push   %ebp
44e0e9:	8d 2c 3e             	lea    (%esi,%edi,1),%ebp
44e0ec:	0f 1f 40 00          	nopl   0x0(%eax)
44e0f0:	4b                   	dec    %ebx
44e0f1:	f6 07 01             	testb  $0x1,(%edi)
44e0f4:	75 29                	jne    0x44e11f
44e0f6:	33 f6                	xor    %esi,%esi
44e0f8:	8b fa                	mov    %edx,%edi
44e0fa:	85 d2                	test   %edx,%edx
44e0fc:	74 7a                	je     0x44e178
44e0fe:	8d 45 fc             	lea    -0x4(%ebp),%eax
44e101:	8b 10                	mov    (%eax),%edx
44e103:	8d 40 fc             	lea    -0x4(%eax),%eax
44e106:	8b ca                	mov    %edx,%ecx
44e108:	d1 e9                	shr    $1,%ecx
44e10a:	0b ce                	or     %esi,%ecx
44e10c:	8b f2                	mov    %edx,%esi
44e10e:	c1 e6 1f             	shl    $0x1f,%esi
44e111:	89 48 04             	mov    %ecx,0x4(%eax)
44e114:	83 ef 01             	sub    $0x1,%edi
44e117:	75 e8                	jne    0x44e101
44e119:	8b 54 24 24          	mov    0x24(%esp),%edx
44e11d:	eb 59                	jmp    0x44e178
44e11f:	ff 74 24 20          	push   0x20(%esp)
44e123:	8b 35 58 4e 4c 00    	mov    0x4c4e58,%esi
44e129:	8b ce                	mov    %esi,%ecx
44e12b:	57                   	push   %edi
44e12c:	ff 15 d4 e2 49 00    	call   *0x49e2d4
44e132:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
44e136:	8b d7                	mov    %edi,%edx
44e138:	ff d6                	call   *%esi
44e13a:	8b 54 24 24          	mov    0x24(%esp),%edx
44e13e:	8b c8                	mov    %eax,%ecx
44e140:	33 f6                	xor    %esi,%esi
44e142:	89 4c 24 10          	mov    %ecx,0x10(%esp)
44e146:	8b fa                	mov    %edx,%edi
44e148:	85 d2                	test   %edx,%edx
44e14a:	74 24                	je     0x44e170
44e14c:	8d 55 fc             	lea    -0x4(%ebp),%edx
44e14f:	90                   	nop
44e150:	8b 0a                	mov    (%edx),%ecx
44e152:	8d 52 fc             	lea    -0x4(%edx),%edx
44e155:	8b c1                	mov    %ecx,%eax
44e157:	d1 e8                	shr    $1,%eax
44e159:	0b c6                	or     %esi,%eax
44e15b:	8b f1                	mov    %ecx,%esi
44e15d:	c1 e6 1f             	shl    $0x1f,%esi
44e160:	89 42 04             	mov    %eax,0x4(%edx)
44e163:	83 ef 01             	sub    $0x1,%edi