44aaed:	33 c9                	xor    %ecx,%ecx
44aaef:	41                   	inc    %ecx
44aaf0:	39 4d e4             	cmp    %ecx,-0x1c(%ebp)
44aaf3:	75 0c                	jne    0x44ab01
44aaf5:	8a d9                	mov    %cl,%bl
44aaf7:	88 5d cc             	mov    %bl,-0x34(%ebp)
44aafa:	8b 45 f0             	mov    -0x10(%ebp),%eax
44aafd:	89 07                	mov    %eax,(%edi)
44aaff:	eb 1b                	jmp    0x44ab1c
44ab01:	8b 7d f0             	mov    -0x10(%ebp),%edi
44ab04:	85 ff                	test   %edi,%edi
44ab06:	74 14                	je     0x44ab1c
44ab08:	8b 07                	mov    (%edi),%eax
44ab0a:	51                   	push   %ecx
44ab0b:	8b 30                	mov    (%eax),%esi
44ab0d:	8b ce                	mov    %esi,%ecx
44ab0f:	ff 15 c4 12 45 00    	call   *0x4512c4
44ab15:	8b cf                	mov    %edi,%ecx
44ab17:	ff d6                	call   *%esi
44ab19:	33 c9                	xor    %ecx,%ecx
44ab1b:	41                   	inc    %ecx
44ab1c:	89 4d ec             	mov    %ecx,-0x14(%ebp)
44ab1f:	83 e1 fe             	and    $0xfffffffe,%ecx
44ab22:	89 4d ec             	mov    %ecx,-0x14(%ebp)
44ab25:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
44ab29:	84 db                	test   %bl,%bl
44ab2b:	75 08                	jne    0x44ab35
44ab2d:	ff 75 f0             	push   -0x10(%ebp)
44ab30:	e8 db d8 ff ff       	call   0x448410
44ab35:	e8 01 4b fd ff       	call   0x41f63b
44ab3a:	c2 08 00             	ret    $0x8
44ab3d:	6a 24                	push   $0x24
44ab3f:	b8 0d 44 42 00       	mov    $0x42440d,%eax
44ab44:	e8 24 4b fd ff       	call   0x41f66d
44ab49:	8b 7d 08             	mov    0x8(%ebp),%edi
44ab4c:	33 db                	xor    %ebx,%ebx
44ab4e:	89 5d ec             	mov    %ebx,-0x14(%ebp)
44ab51:	8b 37                	mov    (%edi),%esi
44ab53:	85 f6                	test   %esi,%esi
44ab55:	0f 84 d4 01 00 00    	je     0x44ad2f
44ab5b:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
44ab5e:	0f 84 cb 01 00 00    	je     0x44ad2f
44ab64:	8b 76 18             	mov    0x18(%esi),%esi
44ab67:	33 c0                	xor    %eax,%eax
44ab69:	40                   	inc    %eax
44ab6a:	89 75 e0             	mov    %esi,-0x20(%ebp)
44ab6d:	6a 1c                	push   $0x1c
44ab6f:	89 45 e8             	mov    %eax,-0x18(%ebp)
44ab72:	e8 64 36 fd ff       	call   0x41e1db
44ab77:	59                   	pop    %ecx
44ab78:	89 45 e4             	mov    %eax,-0x1c(%ebp)
44ab7b:	89 5d fc             	mov    %ebx,-0x4(%ebp)
44ab7e:	85 c0                	test   %eax,%eax
44ab80:	74 0c                	je     0x44ab8e
44ab82:	56                   	push   %esi
44ab83:	53                   	push   %ebx
44ab84:	53                   	push   %ebx
44ab85:	8b c8                	mov    %eax,%ecx
44ab87:	e8 5b d9 ff ff       	call   0x4484e7
44ab8c:	eb 02                	jmp    0x44ab90
44ab8e:	8b c3                	mov    %ebx,%eax
44ab90:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
44ab94:	89 45 f0             	mov    %eax,-0x10(%ebp)
44ab97:	6a 02                	push   $0x2
44ab99:	58                   	pop    %eax
44ab9a:	89 45 fc             	mov    %eax,-0x4(%ebp)
44ab9d:	88 5d d0             	mov    %bl,-0x30(%ebp)
44aba0:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
44aba7:	8d 4d f0             	lea    -0x10(%ebp),%ecx
44abaa:	c7 45 d4 10 84 44 00 	movl   $0x448410,-0x2c(%ebp)
44abb1:	89 4d d8             	mov    %ecx,-0x28(%ebp)
44abb4:	88 45 fc             	mov    %al,-0x4(%ebp)
44abb7:	33 c9                	xor    %ecx,%ecx
44abb9:	89 45 ec             	mov    %eax,-0x14(%ebp)
44abbc:	41                   	inc    %ecx
44abbd:	89 45 ec             	mov    %eax,-0x14(%ebp)
44abc0:	83 e0 fd             	and    $0xfffffffd,%eax
44abc3:	89 45 ec             	mov    %eax,-0x14(%ebp)
44abc6:	89 4d fc             	mov    %ecx,-0x4(%ebp)
44abc9:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
44abcd:	89 4d ec             	mov    %ecx,-0x14(%ebp)
44abd0:	0f 84 d1 00 00 00    	je     0x44aca7
44abd6:	6a 1c                	push   $0x1c
44abd8:	e8 fe 35 fd ff       	call   0x41e1db
44abdd:	8b f0                	mov    %eax,%esi
44abdf:	59                   	pop    %ecx
44abe0:	89 75 e4             	mov    %esi,-0x1c(%ebp)
44abe3:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
44abe7:	85 f6                	test   %esi,%esi
44abe9:	74 1f                	je     0x44ac0a
44abeb:	ff 75 f0             	push   -0x10(%ebp)
44abee:	8b ce                	mov    %esi,%ecx
44abf0:	ff 75 0c             	push   0xc(%ebp)
44abf3:	6a 0a                	push   $0xa
44abf5:	e8 ac 36 fd ff       	call   0x41e2a6
44abfa:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
44abfe:	c7 06 f8 20 40 00    	movl   $0x4020f8,(%esi)
44ac04:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
44ac08:	eb 02                	jmp    0x44ac0c
44ac0a:	8b f3                	mov    %ebx,%esi
44ac0c:	33 c0                	xor    %eax,%eax
44ac0e:	40                   	inc    %eax
44ac0f:	88 45 fc             	mov    %al,-0x4(%ebp)
44ac12:	85 f6                	test   %esi,%esi
44ac14:	74 0d                	je     0x44ac23
44ac16:	8b 45 f0             	mov    -0x10(%ebp),%eax
44ac19:	89 70 10             	mov    %esi,0x10(%eax)
44ac1c:	8b 07                	mov    (%edi),%eax
44ac1e:	89 58 10             	mov    %ebx,0x10(%eax)
44ac21:	eb 04                	jmp    0x44ac27
44ac23:	83 4d e8 ff          	orl    $0xffffffff,-0x18(%ebp)
44ac27:	8b 45 0c             	mov    0xc(%ebp),%eax
44ac2a:	8b 00                	mov    (%eax),%eax
44ac2c:	8b 70 04             	mov    0x4(%eax),%esi
44ac2f:	8b ce                	mov    %esi,%ecx
44ac31:	ff 15 c4 12 45 00    	call   *0x4512c4
44ac37:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44ac3a:	ff d6                	call   *%esi
44ac3c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
44ac3f:	85 c0                	test   %eax,%eax
44ac41:	74 5d                	je     0x44aca0
44ac43:	6a 1c                	push   $0x1c
44ac45:	e8 91 35 fd ff       	call   0x41e1db
44ac4a:	8b f0                	mov    %eax,%esi
44ac4c:	59                   	pop    %ecx
44ac4d:	89 75 dc             	mov    %esi,-0x24(%ebp)
44ac50:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
44ac54:	85 f6                	test   %esi,%esi
44ac56:	74 1f                	je     0x44ac77
44ac58:	ff 75 f0             	push   -0x10(%ebp)
44ac5b:	8b ce                	mov    %esi,%ecx
44ac5d:	ff 75 e4             	push   -0x1c(%ebp)
44ac60:	6a 09                	push   $0x9
44ac62:	e8 3f 36 fd ff       	call   0x41e2a6
44ac67:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
44ac6b:	c7 06 10 21 40 00    	movl   $0x402110,(%esi)
44ac71:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
44ac75:	eb 02                	jmp    0x44ac79
44ac77:	8b f3                	mov    %ebx,%esi
44ac79:	33 c9                	xor    %ecx,%ecx
44ac7b:	41                   	inc    %ecx
44ac7c:	88 4d fc             	mov    %cl,-0x4(%ebp)
44ac7f:	85 f6                	test   %esi,%esi
44ac81:	74 08                	je     0x44ac8b
44ac83:	8b 45 f0             	mov    -0x10(%ebp),%eax
44ac86:	89 70 14             	mov    %esi,0x14(%eax)
44ac89:	eb 1c                	jmp    0x44aca7
44ac8b:	8b 45 e4             	mov    -0x1c(%ebp),%eax
44ac8e:	51                   	push   %ecx
44ac8f:	8b 00                	mov    (%eax),%eax
44ac91:	8b 30                	mov    (%eax),%esi
44ac93:	8b ce                	mov    %esi,%ecx
44ac95:	ff 15 c4 12 45 00    	call   *0x4512c4
44ac9b:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
44ac9e:	ff d6                	call   *%esi
44aca0:	83 4d e8 ff          	orl    $0xffffffff,-0x18(%ebp)
44aca4:	33 c9                	xor    %ecx,%ecx
44aca6:	41                   	inc    %ecx
44aca7:	8b 55 e0             	mov    -0x20(%ebp),%edx
44acaa:	85 d2                	test   %edx,%edx
44acac:	74 12                	je     0x44acc0
44acae:	8b 42 10             	mov    0x10(%edx),%eax
44acb1:	3b 07                	cmp    (%edi),%eax
44acb3:	8b 45 f0             	mov    -0x10(%ebp),%eax
44acb6:	75 05                	jne    0x44acbd
44acb8:	89 42 10             	mov    %eax,0x10(%edx)
44acbb:	eb 03                	jmp    0x44acc0
44acbd:	89 42 14             	mov    %eax,0x14(%edx)
44acc0:	8b 07                	mov    (%edi),%eax
44acc2:	89 58 14             	mov    %ebx,0x14(%eax)
44acc5:	8b 07                	mov    (%edi),%eax
44acc7:	89 58 0c             	mov    %ebx,0xc(%eax)
44acca:	8b 07                	mov    (%edi),%eax
44accc:	89 45 e0             	mov    %eax,-0x20(%ebp)
44accf:	85 c0                	test   %eax,%eax
44acd1:	74 12                	je     0x44ace5
44acd3:	8b 00                	mov    (%eax),%eax
44acd5:	51                   	push   %ecx
44acd6:	8b 30                	mov    (%eax),%esi
44acd8:	8b ce                	mov    %esi,%ecx
44acda:	ff 15 c4 12 45 00    	call   *0x4512c4
44ace0:	8b 4d e0             	mov    -0x20(%ebp),%ecx
44ace3:	ff d6                	call   *%esi
44ace5:	33 c9                	xor    %ecx,%ecx
44ace7:	89 1f                	mov    %ebx,(%edi)
44ace9:	41                   	inc    %ecx
44acea:	39 4d e8             	cmp    %ecx,-0x18(%ebp)
44aced:	75 0c                	jne    0x44acfb
44acef:	8a d9                	mov    %cl,%bl
44acf1:	88 5d d0             	mov    %bl,-0x30(%ebp)
44acf4:	8b 45 f0             	mov    -0x10(%ebp),%eax
44acf7:	89 07                	mov    %eax,(%edi)
44acf9:	eb 1b                	jmp    0x44ad16
44acfb:	8b 7d f0             	mov    -0x10(%ebp),%edi
44acfe:	85 ff                	test   %edi,%edi
44ad00:	74 14                	je     0x44ad16
44ad02:	8b 07                	mov    (%edi),%eax
44ad04:	51                   	push   %ecx
44ad05:	8b 30                	mov    (%eax),%esi
44ad07:	8b ce                	mov    %esi,%ecx
44ad09:	ff 15 c4 12 45 00    	call   *0x4512c4
44ad0f:	8b cf                	mov    %edi,%ecx
44ad11:	ff d6                	call   *%esi
44ad13:	33 c9                	xor    %ecx,%ecx
44ad15:	41                   	inc    %ecx
44ad16:	89 4d ec             	mov    %ecx,-0x14(%ebp)
44ad19:	83 e1 fe             	and    $0xfffffffe,%ecx
44ad1c:	89 4d ec             	mov    %ecx,-0x14(%ebp)
44ad1f:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
44ad23:	84 db                	test   %bl,%bl
44ad25:	75 08                	jne    0x44ad2f
44ad27:	ff 75 f0             	push   -0x10(%ebp)
44ad2a:	e8 e1 d6 ff ff       	call   0x448410
44ad2f:	e8 07 49 fd ff       	call   0x41f63b
44ad34:	c2 08 00             	ret    $0x8
44ad37:	8b ff                	mov    %edi,%edi
44ad39:	55                   	push   %ebp
44ad3a:	8b ec                	mov    %esp,%ebp
44ad3c:	51                   	push   %ecx
44ad3d:	51                   	push   %ecx
44ad3e:	57                   	push   %edi
44ad3f:	8b 7d 08             	mov    0x8(%ebp),%edi
44ad42:	8b 0f                	mov    (%edi),%ecx
44ad44:	85 c9                	test   %ecx,%ecx
44ad46:	74 7b                	je     0x44adc3
44ad48:	53                   	push   %ebx
44ad49:	8b 5d 0c             	mov    0xc(%ebp),%ebx
44ad4c:	85 db                	test   %ebx,%ebx
44ad4e:	74 72                	je     0x44adc2
44ad50:	8b 53 10             	mov    0x10(%ebx),%edx
44ad53:	8b 49 18             	mov    0x18(%ecx),%ecx
44ad56:	89 55 f8             	mov    %edx,-0x8(%ebp)
44ad59:	89 4a 18             	mov    %ecx,0x18(%edx)
44ad5c:	85 c9                	test   %ecx,%ecx
44ad5e:	74 0f                	je     0x44ad6f
44ad60:	8b 41 10             	mov    0x10(%ecx),%eax
44ad63:	3b 07                	cmp    (%edi),%eax
44ad65:	75 05                	jne    0x44ad6c
44ad67:	89 51 10             	mov    %edx,0x10(%ecx)
44ad6a:	eb 03                	jmp    0x44ad6f
44ad6c:	89 51 14             	mov    %edx,0x14(%ecx)
44ad6f:	8b 07                	mov    (%edi),%eax
44ad71:	33 c9                	xor    %ecx,%ecx
44ad73:	56                   	push   %esi
44ad74:	89 48 10             	mov    %ecx,0x10(%eax)
44ad77:	8b 07                	mov    (%edi),%eax
44ad79:	89 48 14             	mov    %ecx,0x14(%eax)
44ad7c:	8b 07                	mov    (%edi),%eax
44ad7e:	89 48 0c             	mov    %ecx,0xc(%eax)
44ad81:	89 4b 10             	mov    %ecx,0x10(%ebx)
44ad84:	89 4b 14             	mov    %ecx,0x14(%ebx)
44ad87:	89 4b 0c             	mov    %ecx,0xc(%ebx)
44ad8a:	8b 07                	mov    (%edi),%eax
44ad8c:	89 45 fc             	mov    %eax,-0x4(%ebp)
44ad8f:	85 c0                	test   %eax,%eax
44ad91:	74 15                	je     0x44ada8
44ad93:	8b 00                	mov    (%eax),%eax
44ad95:	6a 01                	push   $0x1
44ad97:	8b 30                	mov    (%eax),%esi
44ad99:	8b ce                	mov    %esi,%ecx
44ad9b:	ff 15 c4 12 45 00    	call   *0x4512c4
44ada1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44ada4:	ff d6                	call   *%esi
44ada6:	33 c9                	xor    %ecx,%ecx
44ada8:	89 0f                	mov    %ecx,(%edi)
44adaa:	8b 03                	mov    (%ebx),%eax
44adac:	6a 01                	push   $0x1
44adae:	8b 30                	mov    (%eax),%esi
44adb0:	8b ce                	mov    %esi,%ecx
44adb2:	ff 15 c4 12 45 00    	call   *0x4512c4
44adb8:	8b cb                	mov    %ebx,%ecx
44adba:	ff d6                	call   *%esi
44adbc:	8b 45 f8             	mov    -0x8(%ebp),%eax
44adbf:	89 07                	mov    %eax,(%edi)
44adc1:	5e                   	pop    %esi
44adc2:	5b                   	pop    %ebx
44adc3:	5f                   	pop    %edi
44adc4:	c9                   	leave
44adc5:	c2 08 00             	ret    $0x8
44adc8:	6a 10                	push   $0x10
44adca:	b8 3a 44 42 00       	mov    $0x42443a,%eax
44adcf:	e8 99 48 fd ff       	call   0x41f66d
44add4:	8b 5d 08             	mov    0x8(%ebp),%ebx
44add7:	8b 03                	mov    (%ebx),%eax
44add9:	85 c0                	test   %eax,%eax
44addb:	0f 84 e0 00 00 00    	je     0x44aec1
44ade1:	8b 75 0c             	mov    0xc(%ebp),%esi
44ade4:	85 f6                	test   %esi,%esi
44ade6:	0f 84 d5 00 00 00    	je     0x44aec1
44adec:	8b 4e 10             	mov    0x10(%esi),%ecx
44adef:	8b 40 18             	mov    0x18(%eax),%eax
44adf2:	6a 1c                	push   $0x1c
44adf4:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
44adfb:	89 4d f0             	mov    %ecx,-0x10(%ebp)
44adfe:	89 45 ec             	mov    %eax,-0x14(%ebp)
44ae01:	e8 d5 33 fd ff       	call   0x41e1db
44ae06:	8b f8                	mov    %eax,%edi
44ae08:	59                   	pop    %ecx
44ae09:	89 7d e4             	mov    %edi,-0x1c(%ebp)
44ae0c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
44ae10:	85 ff                	test   %edi,%edi
44ae12:	74 1f                	je     0x44ae33
44ae14:	ff 75 ec             	push   -0x14(%ebp)
44ae17:	8b cf                	mov    %edi,%ecx
44ae19:	ff 75 f0             	push   -0x10(%ebp)
44ae1c:	6a 06                	push   $0x6
44ae1e:	e8 83 34 fd ff       	call   0x41e2a6
44ae23:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
44ae27:	c7 07 58 21 40 00    	movl   $0x402158,(%edi)
44ae2d:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
44ae31:	eb 02                	jmp    0x44ae35
44ae33:	33 ff                	xor    %edi,%edi
44ae35:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
44ae39:	85 ff                	test   %edi,%edi
44ae3b:	75 06                	jne    0x44ae43
44ae3d:	83 4d e8 ff          	orl    $0xffffffff,-0x18(%ebp)
44ae41:	eb 21                	jmp    0x44ae64
44ae43:	8b 45 f0             	mov    -0x10(%ebp),%eax
44ae46:	85 c0                	test   %eax,%eax
44ae48:	74 16                	je     0x44ae60
44ae4a:	8b 00                	mov    (%eax),%eax
44ae4c:	6a 01                	push   $0x1
44ae4e:	8b 30                	mov    (%eax),%esi
44ae50:	8b ce                	mov    %esi,%ecx
44ae52:	ff 15 c4 12 45 00    	call   *0x4512c4
44ae58:	8b 4d f0             	mov    -0x10(%ebp),%ecx
44ae5b:	ff d6                	call   *%esi
44ae5d:	8b 75 0c             	mov    0xc(%ebp),%esi
44ae60:	83 66 10 00          	andl   $0x0,0x10(%esi)
44ae64:	8b 4d ec             	mov    -0x14(%ebp),%ecx
44ae67:	85 c9                	test   %ecx,%ecx
44ae69:	74 0f                	je     0x44ae7a
44ae6b:	8b 41 10             	mov    0x10(%ecx),%eax
44ae6e:	3b 03                	cmp    (%ebx),%eax
44ae70:	75 05                	jne    0x44ae77
44ae72:	89 79 10             	mov    %edi,0x10(%ecx)
44ae75:	eb 03                	jmp    0x44ae7a
44ae77:	89 79 14             	mov    %edi,0x14(%ecx)
44ae7a:	83 66 14 00          	andl   $0x0,0x14(%esi)
44ae7e:	83 66 0c 00          	andl   $0x0,0xc(%esi)
44ae82:	8b 03                	mov    (%ebx),%eax
44ae84:	89 45 ec             	mov    %eax,-0x14(%ebp)
44ae87:	85 c0                	test   %eax,%eax
44ae89:	74 13                	je     0x44ae9e
44ae8b:	8b 00                	mov    (%eax),%eax
44ae8d:	6a 01                	push   $0x1
44ae8f:	8b 30                	mov    (%eax),%esi
44ae91:	8b ce                	mov    %esi,%ecx
44ae93:	ff 15 c4 12 45 00    	call   *0x4512c4
44ae99:	8b 4d ec             	mov    -0x14(%ebp),%ecx