44d984:	75 06                	jne    0x44d98c
44d986:	89 44 24 18          	mov    %eax,0x18(%esp)
44d98a:	eb 35                	jmp    0x44d9c1
44d98c:	33 ff                	xor    %edi,%edi
44d98e:	bd 20 00 00 00       	mov    $0x20,%ebp
44d993:	8b d0                	mov    %eax,%edx
44d995:	8d 0c 2f             	lea    (%edi,%ebp,1),%ecx
44d998:	d1 e9                	shr    $1,%ecx
44d99a:	d3 ea                	shr    %cl,%edx
44d99c:	8b c1                	mov    %ecx,%eax
44d99e:	85 d2                	test   %edx,%edx
44d9a0:	0f 44 c7             	cmove  %edi,%eax
44d9a3:	0f 44 e9             	cmove  %ecx,%ebp
44d9a6:	8b f8                	mov    %eax,%edi
44d9a8:	8b c5                	mov    %ebp,%eax
44d9aa:	2b c7                	sub    %edi,%eax
44d9ac:	83 f8 01             	cmp    $0x1,%eax
44d9af:	8b 44 24 1c          	mov    0x1c(%esp),%eax
44d9b3:	77 de                	ja     0x44d993
44d9b5:	89 6c 24 18          	mov    %ebp,0x18(%esp)
44d9b9:	8b 6c 24 44          	mov    0x44(%esp),%ebp
44d9bd:	8b 44 24 18          	mov    0x18(%esp),%eax
44d9c1:	b9 20 00 00 00       	mov    $0x20,%ecx
44d9c6:	8b d6                	mov    %esi,%edx
44d9c8:	2b c8                	sub    %eax,%ecx
44d9ca:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
44d9ce:	51                   	push   %ecx
44d9cf:	8b cb                	mov    %ebx,%ecx
44d9d1:	e8 6a 48 ff ff       	call   0x442240
44d9d6:	8b 44 24 50          	mov    0x50(%esp),%eax
44d9da:	83 c4 04             	add    $0x4,%esp
44d9dd:	8b 4c 24 14          	mov    0x14(%esp),%ecx
44d9e1:	03 cd                	add    %ebp,%ecx
44d9e3:	89 4c 24 34          	mov    %ecx,0x34(%esp)
44d9e7:	8d 3c 85 00 00 00 00 	lea    0x0(,%eax,4),%edi
44d9ee:	8b 44 24 48          	mov    0x48(%esp),%eax
44d9f2:	c7 44 2f 04 00 00 00 	movl   $0x0,0x4(%edi,%ebp,1)
44d9f9:	00
44d9fa:	c7 04 2f 00 00 00 00 	movl   $0x0,(%edi,%ebp,1)
44da01:	c7 45 00 00 00 00 00 	movl   $0x0,0x0(%ebp)
44da08:	3b c8                	cmp    %eax,%ecx
44da0a:	74 0b                	je     0x44da17
44da0c:	57                   	push   %edi
44da0d:	50                   	push   %eax
44da0e:	51                   	push   %ecx
44da0f:	e8 0c dc 01 00       	call   0x46b620
44da14:	83 c4 0c             	add    $0xc,%esp
44da17:	ff 74 24 1c          	push   0x1c(%esp)
44da1b:	8b 54 24 14          	mov    0x14(%esp),%edx
44da1f:	8b cd                	mov    %ebp,%ecx
44da21:	e8 1a 48 ff ff       	call   0x442240
44da26:	83 c4 04             	add    $0x4,%esp
44da29:	83 7c 2f 04 00       	cmpl   $0x0,0x4(%edi,%ebp,1)
44da2e:	0f 85 9d 00 00 00    	jne    0x44dad1
44da34:	83 3c 2f 01          	cmpl   $0x1,(%edi,%ebp,1)
44da38:	0f 87 93 00 00 00    	ja     0x44dad1
44da3e:	8b 44 24 4c          	mov    0x4c(%esp),%eax
44da42:	8b 54 24 20          	mov    0x20(%esp),%edx
44da46:	2b c6                	sub    %esi,%eax
44da48:	c1 e0 02             	shl    $0x2,%eax
44da4b:	89 44 24 30          	mov    %eax,0x30(%esp)
44da4f:	8d 0c 10             	lea    (%eax,%edx,1),%ecx
44da52:	c7 04 10 00 00 00 00 	movl   $0x0,(%eax,%edx,1)
44da59:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
44da5d:	c7 44 10 04 00 00 00 	movl   $0x0,0x4(%eax,%edx,1)
44da64:	00
44da65:	83 3c 2f 00          	cmpl   $0x0,(%edi,%ebp,1)
44da69:	8d 14 28             	lea    (%eax,%ebp,1),%edx
44da6c:	89 54 24 14          	mov    %edx,0x14(%esp)
44da70:	75 2d                	jne    0x44da9f
44da72:	8b ce                	mov    %esi,%ecx
44da74:	85 f6                	test   %esi,%esi
44da76:	74 27                	je     0x44da9f
44da78:	8d 04 b5 00 00 00 00 	lea    0x0(,%esi,4),%eax
44da7f:	8b ea                	mov    %edx,%ebp
44da81:	03 c3                	add    %ebx,%eax
44da83:	2b eb                	sub    %ebx,%ebp
44da85:	8b 54 28 fc          	mov    -0x4(%eax,%ebp,1),%edx
44da89:	8d 40 fc             	lea    -0x4(%eax),%eax
44da8c:	49                   	dec    %ecx
44da8d:	3b 10                	cmp    (%eax),%edx
44da8f:	77 06                	ja     0x44da97
44da91:	72 48                	jb     0x44dadb
44da93:	85 c9                	test   %ecx,%ecx
44da95:	75 ee                	jne    0x44da85
44da97:	8b 54 24 14          	mov    0x14(%esp),%edx
44da9b:	8b 6c 24 44          	mov    0x44(%esp),%ebp
44da9f:	8b 3d 5c 4e 4c 00    	mov    0x4c4e5c,%edi
44daa5:	8b cf                	mov    %edi,%ecx
44daa7:	53                   	push   %ebx
44daa8:	52                   	push   %edx
44daa9:	ff 15 d4 e2 49 00    	call   *0x49e2d4
44daaf:	8b 54 24 1c          	mov    0x1c(%esp),%edx
44dab3:	8b ce                	mov    %esi,%ecx
44dab5:	ff d7                	call   *%edi
44dab7:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
44dabb:	8d 3c 8d 00 00 00 00 	lea    0x0(,%ecx,4),%edi
44dac2:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
44dac6:	29 04 2f             	sub    %eax,(%edi,%ebp,1)
44dac9:	8b 44 24 30          	mov    0x30(%esp),%eax
44dacd:	ff 01                	incl   (%ecx)
44dacf:	eb 94                	jmp    0x44da65
44dad1:	8b 44 24 10          	mov    0x10(%esp),%eax
44dad5:	89 44 24 4c          	mov    %eax,0x4c(%esp)
44dad9:	eb 04                	jmp    0x44dadf
44dadb:	8b 6c 24 44          	mov    0x44(%esp),%ebp
44dadf:	8b 44 b3 f8          	mov    -0x8(%ebx,%esi,4),%eax
44dae3:	33 c9                	xor    %ecx,%ecx
44dae5:	8b 7c 24 4c          	mov    0x4c(%esp),%edi
44dae9:	83 c0 01             	add    $0x1,%eax
44daec:	89 44 24 38          	mov    %eax,0x38(%esp)
44daf0:	8d 04 b5 00 00 00 00 	lea    0x0(,%esi,4),%eax
44daf7:	0f 94 c1             	sete   %cl
44dafa:	83 c7 fe             	add    $0xfffffffe,%edi
44dafd:	03 4c 18 fc          	add    -0x4(%eax,%ebx,1),%ecx
44db01:	89 4c 24 3c          	mov    %ecx,0x3c(%esp)
44db05:	89 7c 24 14          	mov    %edi,0x14(%esp)
44db09:	3b fe                	cmp    %esi,%edi
44db0b:	0f 82 f1 00 00 00    	jb     0x44dc02
44db11:	8b 4c 24 24          	mov    0x24(%esp),%ecx
44db15:	8d 46 02             	lea    0x2(%esi),%eax
44db18:	8d 04 81             	lea    (%ecx,%eax,4),%eax
44db1b:	8b 4c 24 20          	mov    0x20(%esp),%ecx
44db1f:	89 44 24 2c          	mov    %eax,0x2c(%esp)
44db23:	8b c7                	mov    %edi,%eax
44db25:	2b c6                	sub    %esi,%eax
44db27:	8d 1c 81             	lea    (%ecx,%eax,4),%ebx
44db2a:	8b c5                	mov    %ebp,%eax
44db2c:	2b c1                	sub    %ecx,%eax
44db2e:	89 44 24 30          	mov    %eax,0x30(%esp)
44db32:	8d 7f fe             	lea    -0x2(%edi),%edi
44db35:	8b cb                	mov    %ebx,%ecx
44db37:	8d 44 24 38          	lea    0x38(%esp),%eax
44db3b:	8d 14 bd 00 00 00 00 	lea    0x0(,%edi,4),%edx
44db42:	50                   	push   %eax
44db43:	03 d5                	add    %ebp,%edx
44db45:	e8 16 fd ff ff       	call   0x44d860
44db4a:	8b 4c 24 48          	mov    0x48(%esp),%ecx
44db4e:	83 c4 04             	add    $0x4,%esp
44db51:	8b 54 24 10          	mov    0x10(%esp),%edx
44db55:	8b 6c 24 30          	mov    0x30(%esp),%ebp
44db59:	8b 7c 24 24          	mov    0x24(%esp),%edi
44db5d:	03 eb                	add    %ebx,%ebp
44db5f:	56                   	push   %esi
44db60:	8d 04 91             	lea    (%ecx,%edx,4),%eax
44db63:	8b 54 24 30          	mov    0x30(%esp),%edx
44db67:	50                   	push   %eax
44db68:	6a 02                	push   $0x2
44db6a:	53                   	push   %ebx
44db6b:	8b cf                	mov    %edi,%ecx
44db6d:	e8 be f7 ff ff       	call   0x44d330
44db72:	83 c4 10             	add    $0x10,%esp
44db75:	57                   	push   %edi
44db76:	8b 3d 5c 4e 4c 00    	mov    0x4c4e5c,%edi
44db7c:	8b cf                	mov    %edi,%ecx
44db7e:	55                   	push   %ebp
44db7f:	ff 15 d4 e2 49 00    	call   *0x49e2d4
44db85:	8b d5                	mov    %ebp,%edx
44db87:	8d 4e 02             	lea    0x2(%esi),%ecx
44db8a:	ff d7                	call   *%edi
44db8c:	8b 7c 24 14          	mov    0x14(%esp),%edi
44db90:	8b 4c 24 44          	mov    0x44(%esp),%ecx
44db94:	83 3c b9 00          	cmpl   $0x0,(%ecx,%edi,4)
44db98:	75 1a                	jne    0x44dbb4
44db9a:	8b 54 24 10          	mov    0x10(%esp),%edx
44db9e:	56                   	push   %esi
44db9f:	8d 14 91             	lea    (%ecx,%edx,4),%edx
44dba2:	8b cd                	mov    %ebp,%ecx
44dba4:	e8 f7 47 ff ff       	call   0x4423a0
44dba9:	83 c4 04             	add    $0x4,%esp
44dbac:	85 c0                	test   %eax,%eax
44dbae:	78 3c                	js     0x44dbec
44dbb0:	8b 4c 24 44          	mov    0x44(%esp),%ecx
44dbb4:	8b 54 24 10          	mov    0x10(%esp),%edx
44dbb8:	8b 3d 5c 4e 4c 00    	mov    0x4c4e5c,%edi
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