44d7a5:	56                   	push   %esi
44d7a6:	8b 74 24 18          	mov    0x18(%esp),%esi
44d7aa:	8b da                	mov    %edx,%ebx
44d7ac:	57                   	push   %edi
44d7ad:	8b 7c 24 28          	mov    0x28(%esp),%edi
44d7b1:	8b c1                	mov    %ecx,%eax
44d7b3:	57                   	push   %edi
44d7b4:	ff 74 24 28          	push   0x28(%esp)
44d7b8:	89 5c 24 18          	mov    %ebx,0x18(%esp)
44d7bc:	56                   	push   %esi
44d7bd:	89 44 24 20          	mov    %eax,0x20(%esp)
44d7c1:	e8 5a f7 ff ff       	call   0x44cf20
44d7c6:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
44d7ca:	8d 2c bd 00 00 00 00 	lea    0x0(,%edi,4),%ebp
44d7d1:	57                   	push   %edi
44d7d2:	03 eb                	add    %ebx,%ebp
44d7d4:	8b 5c 24 30          	mov    0x30(%esp),%ebx
44d7d8:	53                   	push   %ebx
44d7d9:	ff 74 24 28          	push   0x28(%esp)
44d7dd:	8b d5                	mov    %ebp,%edx
44d7df:	56                   	push   %esi
44d7e0:	e8 1b f8 ff ff       	call   0x44d000
44d7e5:	83 c4 1c             	add    $0x1c,%esp
44d7e8:	8d 04 bd 00 00 00 00 	lea    0x0(,%edi,4),%eax
44d7ef:	03 c6                	add    %esi,%eax
44d7f1:	8b 35 5c 4e 4c 00    	mov    0x4c4e5c,%esi
44d7f7:	8b ce                	mov    %esi,%ecx
44d7f9:	ff 74 24 10          	push   0x10(%esp)
44d7fd:	50                   	push   %eax
44d7fe:	ff 15 d4 e2 49 00    	call   *0x49e2d4
44d804:	8b 54 24 18          	mov    0x18(%esp),%edx
44d808:	8b cf                	mov    %edi,%ecx
44d80a:	ff d6                	call   *%esi
44d80c:	8b 35 58 4e 4c 00    	mov    0x4c4e58,%esi
44d812:	8b f8                	mov    %eax,%edi
44d814:	53                   	push   %ebx
44d815:	ff 74 24 14          	push   0x14(%esp)
44d819:	8b ce                	mov    %esi,%ecx
44d81b:	ff 15 d4 e2 49 00    	call   *0x49e2d4
44d821:	8b 5c 24 30          	mov    0x30(%esp),%ebx
44d825:	8b d5                	mov    %ebp,%edx
44d827:	8b cb                	mov    %ebx,%ecx
44d829:	ff d6                	call   *%esi
44d82b:	8b 44 24 10          	mov    0x10(%esp),%eax
44d82f:	f7 df                	neg    %edi
44d831:	23 fb                	and    %ebx,%edi
44d833:	8d 14 b8             	lea    (%eax,%edi,4),%edx
44d836:	8b 44 24 14          	mov    0x14(%esp),%eax
44d83a:	3b c2                	cmp    %edx,%eax
44d83c:	74 12                	je     0x44d850
44d83e:	8d 0c 9d 00 00 00 00 	lea    0x0(,%ebx,4),%ecx
44d845:	51                   	push   %ecx
44d846:	52                   	push   %edx
44d847:	50                   	push   %eax
44d848:	e8 d3 dd 01 00       	call   0x46b620
44d84d:	83 c4 0c             	add    $0xc,%esp
44d850:	5f                   	pop    %edi
44d851:	5e                   	pop    %esi
44d852:	5d                   	pop    %ebp
44d853:	5b                   	pop    %ebx
44d854:	83 c4 08             	add    $0x8,%esp
44d857:	c3                   	ret
44d858:	cc                   	int3
44d859:	cc                   	int3
44d85a:	cc                   	int3
44d85b:	cc                   	int3
44d85c:	cc                   	int3
44d85d:	cc                   	int3
44d85e:	cc                   	int3
44d85f:	cc                   	int3
44d860:	55                   	push   %ebp
44d861:	8b ec                	mov    %esp,%ebp
44d863:	83 e4 f8             	and    $0xfffffff8,%esp
44d866:	83 ec 1c             	sub    $0x1c,%esp
44d869:	8b 45 08             	mov    0x8(%ebp),%eax
44d86c:	53                   	push   %ebx
44d86d:	56                   	push   %esi
44d86e:	8b 72 0c             	mov    0xc(%edx),%esi
44d871:	8b 18                	mov    (%eax),%ebx
44d873:	8b 40 04             	mov    0x4(%eax),%eax
44d876:	89 44 24 08          	mov    %eax,0x8(%esp)
44d87a:	8b 02                	mov    (%edx),%eax
44d87c:	89 44 24 0c          	mov    %eax,0xc(%esp)
44d880:	8b 42 04             	mov    0x4(%edx),%eax
44d883:	57                   	push   %edi
44d884:	89 44 24 14          	mov    %eax,0x14(%esp)
44d888:	8b f9                	mov    %ecx,%edi
44d88a:	8b 4a 08             	mov    0x8(%edx),%ecx
44d88d:	8b c3                	mov    %ebx,%eax
44d88f:	8b 54 24 0c          	mov    0xc(%esp),%edx
44d893:	0b c2                	or     %edx,%eax
44d895:	75 0c                	jne    0x44d8a3
44d897:	89 0f                	mov    %ecx,(%edi)
44d899:	89 77 04             	mov    %esi,0x4(%edi)
44d89c:	5f                   	pop    %edi
44d89d:	5e                   	pop    %esi
44d89e:	5b                   	pop    %ebx
44d89f:	8b e5                	mov    %ebp,%esp
44d8a1:	5d                   	pop    %ebp
44d8a2:	c3                   	ret
44d8a3:	8b 44 24 10          	mov    0x10(%esp),%eax
44d8a7:	51                   	push   %ecx
44d8a8:	89 44 24 1c          	mov    %eax,0x1c(%esp)
44d8ac:	8b 44 24 18          	mov    0x18(%esp),%eax
44d8b0:	89 4c 24 24          	mov    %ecx,0x24(%esp)
44d8b4:	8d 4c 24 20          	lea    0x20(%esp),%ecx
44d8b8:	52                   	push   %edx
44d8b9:	8b d3                	mov    %ebx,%edx
44d8bb:	89 44 24 24          	mov    %eax,0x24(%esp)
44d8bf:	89 74 24 2c          	mov    %esi,0x2c(%esp)
44d8c3:	e8 d8 63 00 00       	call   0x453ca0
44d8c8:	83 c4 04             	add    $0x4,%esp
44d8cb:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
44d8cf:	8b d3                	mov    %ebx,%edx
44d8d1:	8b f0                	mov    %eax,%esi
44d8d3:	ff 74 24 10          	push   0x10(%esp)
44d8d7:	e8 c4 63 00 00       	call   0x453ca0
44d8dc:	83 c4 08             	add    $0x8,%esp
44d8df:	89 77 04             	mov    %esi,0x4(%edi)
44d8e2:	89 07                	mov    %eax,(%edi)
44d8e4:	5f                   	pop    %edi
44d8e5:	5e                   	pop    %esi
44d8e6:	5b                   	pop    %ebx
44d8e7:	8b e5                	mov    %ebp,%esp
44d8e9:	5d                   	pop    %ebp
44d8ea:	c3                   	ret
44d8eb:	cc                   	int3
44d8ec:	cc                   	int3
44d8ed:	cc                   	int3
44d8ee:	cc                   	int3
44d8ef:	cc                   	int3
44d8f0:	83 ec 30             	sub    $0x30,%esp
44d8f3:	89 4c 24 18          	mov    %ecx,0x18(%esp)
44d8f7:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
44d8fb:	53                   	push   %ebx
44d8fc:	55                   	push   %ebp
44d8fd:	8b 6c 24 3c          	mov    0x3c(%esp),%ebp
44d901:	8d 41 02             	lea    0x2(%ecx),%eax
44d904:	89 54 24 18          	mov    %edx,0x18(%esp)
44d908:	8b 54 24 48          	mov    0x48(%esp),%edx
44d90c:	8d 1c 85 00 00 00 00 	lea    0x0(,%eax,4),%ebx
44d913:	89 44 24 08          	mov    %eax,0x8(%esp)
44d917:	03 dd                	add    %ebp,%ebx
44d919:	8d 41 02             	lea    0x2(%ecx),%eax
44d91c:	33 c9                	xor    %ecx,%ecx
44d91e:	56                   	push   %esi
44d91f:	8b 74 24 50          	mov    0x50(%esp),%esi
44d923:	03 c6                	add    %esi,%eax
44d925:	57                   	push   %edi
44d926:	8d 04 85 00 00 00 00 	lea    0x0(,%eax,4),%eax
44d92d:	03 c5                	add    %ebp,%eax
44d92f:	89 44 24 24          	mov    %eax,0x24(%esp)
44d933:	8d 04 b5 00 00 00 00 	lea    0x0(,%esi,4),%eax
44d93a:	39 4c 10 fc          	cmp    %ecx,-0x4(%eax,%edx,1)
44d93e:	c7 44 18 fc 00 00 00 	movl   $0x0,-0x4(%eax,%ebx,1)
44d945:	00
44d946:	0f 94 c1             	sete   %cl
44d949:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
44d94f:	8d 04 8d 00 00 00 00 	lea    0x0(,%ecx,4),%eax
44d956:	8d 3c 18             	lea    (%eax,%ebx,1),%edi
44d959:	89 44 24 14          	mov    %eax,0x14(%esp)
44d95d:	3b fa                	cmp    %edx,%edi
44d95f:	74 12                	je     0x44d973
44d961:	8b c6                	mov    %esi,%eax
44d963:	2b c1                	sub    %ecx,%eax
44d965:	c1 e0 02             	shl    $0x2,%eax
44d968:	50                   	push   %eax
44d969:	52                   	push   %edx
44d96a:	57                   	push   %edi
44d96b:	e8 b0 dc 01 00       	call   0x46b620
44d970:	83 c4 0c             	add    $0xc,%esp
44d973:	8d 04 b5 00 00 00 00 	lea    0x0(,%esi,4),%eax
44d97a:	8b 44 18 fc          	mov    -0x4(%eax,%ebx,1),%eax
44d97e:	89 44 24 1c          	mov    %eax,0x1c(%esp)
44d982:	85 c0                	test   %eax,%eax
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