45a79f:	ff 15 5c 72 4a 00    	call   *0x4a725c
45a7a5:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
45a7ab:	85 c0                	test   %eax,%eax
45a7ad:	74 07                	je     0x45a7b6
45a7af:	50                   	push   %eax
45a7b0:	ff 15 5c 72 4a 00    	call   *0x4a725c
45a7b6:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
45a7bc:	85 c0                	test   %eax,%eax
45a7be:	74 0b                	je     0x45a7cb
45a7c0:	57                   	push   %edi
45a7c1:	50                   	push   %eax
45a7c2:	ff 75 a8             	push   -0x58(%ebp)
45a7c5:	ff 15 6c 71 4a 00    	call   *0x4a716c
45a7cb:	8b 85 2c ff ff ff    	mov    -0xd4(%ebp),%eax
45a7d1:	85 c0                	test   %eax,%eax
45a7d3:	74 19                	je     0x45a7ee
45a7d5:	57                   	push   %edi
45a7d6:	50                   	push   %eax
45a7d7:	ff 75 98             	push   -0x68(%ebp)
45a7da:	ff 15 6c 71 4a 00    	call   *0x4a716c
45a7e0:	eb 0c                	jmp    0x45a7ee
45a7e2:	6a 01                	push   $0x1
45a7e4:	b9 e0 55 4a 00       	mov    $0x4a55e0,%ecx
45a7e9:	e8 b9 34 ff ff       	call   0x44dca7
45a7ee:	8b 45 a8             	mov    -0x58(%ebp),%eax
45a7f1:	85 c0                	test   %eax,%eax
45a7f3:	74 07                	je     0x45a7fc
45a7f5:	50                   	push   %eax
45a7f6:	ff 15 80 71 4a 00    	call   *0x4a7180
45a7fc:	8b 45 98             	mov    -0x68(%ebp),%eax
45a7ff:	85 c0                	test   %eax,%eax
45a801:	74 07                	je     0x45a80a
45a803:	50                   	push   %eax
45a804:	ff 15 80 71 4a 00    	call   *0x4a7180
45a80a:	8b 45 94             	mov    -0x6c(%ebp),%eax
45a80d:	85 c0                	test   %eax,%eax
45a80f:	74 07                	je     0x45a818
45a811:	50                   	push   %eax
45a812:	ff 15 60 71 4a 00    	call   *0x4a7160
45a818:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
45a81e:	85 c0                	test   %eax,%eax
45a820:	74 07                	je     0x45a829
45a822:	50                   	push   %eax
45a823:	ff 15 60 71 4a 00    	call   *0x4a7160
45a829:	8b ce                	mov    %esi,%ecx
45a82b:	ff 15 a4 75 4a 00    	call   *0x4a75a4
45a831:	83 7d 84 00          	cmpl   $0x0,-0x7c(%ebp)
45a835:	8b 45 90             	mov    -0x70(%ebp),%eax
45a838:	75 5d                	jne    0x45a897
45a83a:	85 c0                	test   %eax,%eax
45a83c:	74 0d                	je     0x45a84b
45a83e:	57                   	push   %edi
45a83f:	50                   	push   %eax
45a840:	b9 b4 48 4a 00       	mov    $0x4a48b4,%ecx
45a845:	ff 15 98 75 4a 00    	call   *0x4a7598
45a84b:	8b 45 b0             	mov    -0x50(%ebp),%eax
45a84e:	85 c0                	test   %eax,%eax
45a850:	74 0e                	je     0x45a860
45a852:	57                   	push   %edi
45a853:	50                   	push   %eax
45a854:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
45a85a:	ff 15 98 75 4a 00    	call   *0x4a7598
45a860:	8b 85 50 ff ff ff    	mov    -0xb0(%ebp),%eax
45a866:	85 c0                	test   %eax,%eax
45a868:	74 03                	je     0x45a86d
45a86a:	8b 78 04             	mov    0x4(%eax),%edi
45a86d:	57                   	push   %edi
45a86e:	ff b5 44 ff ff ff    	push   -0xbc(%ebp)
45a874:	ff 15 90 75 4a 00    	call   *0x4a7590
45a87a:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
45a880:	ff 15 9c 75 4a 00    	call   *0x4a759c
45a886:	8d 8d 60 ff ff ff    	lea    -0xa0(%ebp),%ecx
45a88c:	ff 15 28 75 4a 00    	call   *0x4a7528
45a892:	e9 20 04 00 00       	jmp    0x45acb7
45a897:	85 c0                	test   %eax,%eax
45a899:	74 0d                	je     0x45a8a8
45a89b:	57                   	push   %edi
45a89c:	50                   	push   %eax
45a89d:	b9 b4 48 4a 00       	mov    $0x4a48b4,%ecx
45a8a2:	ff 15 98 75 4a 00    	call   *0x4a7598
45a8a8:	83 3d 30 49 4a 00 00 	cmpl   $0x0,0x4a4930
45a8af:	0f 85 25 01 00 00    	jne    0x45a9da
45a8b5:	83 3d 44 65 4a 00 00 	cmpl   $0x0,0x4a6544
45a8bc:	0f 85 18 01 00 00    	jne    0x45a9da
45a8c2:	6a 01                	push   $0x1
45a8c4:	68 98 fd 40 00       	push   $0x40fd98
45a8c9:	e8 87 ee 00 00       	call   0x469755
45a8ce:	8b 45 a0             	mov    -0x60(%ebp),%eax
45a8d1:	8b 7d 9c             	mov    -0x64(%ebp),%edi
45a8d4:	8b 75 ac             	mov    -0x54(%ebp),%esi
45a8d7:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
45a8dd:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
45a8e3:	50                   	push   %eax
45a8e4:	51                   	push   %ecx
45a8e5:	8b 4f 48             	mov    0x48(%edi),%ecx
45a8e8:	89 b5 7c ff ff ff    	mov    %esi,-0x84(%ebp)
45a8ee:	8b 49 04             	mov    0x4(%ecx),%ecx
45a8f1:	e8 11 50 fc ff       	call   0x41f907
45a8f6:	8b 47 48             	mov    0x48(%edi),%eax
45a8f9:	8b 4d a0             	mov    -0x60(%ebp),%ecx
45a8fc:	89 48 2c             	mov    %ecx,0x2c(%eax)
45a8ff:	8b 47 48             	mov    0x48(%edi),%eax
45a902:	89 70 30             	mov    %esi,0x30(%eax)
45a905:	8b 4f 48             	mov    0x48(%edi),%ecx
45a908:	e8 13 37 fd ff       	call   0x42e020
45a90d:	8b 47 48             	mov    0x48(%edi),%eax
45a910:	33 c9                	xor    %ecx,%ecx
45a912:	68 20 00 cc 00       	push   $0xcc0020
45a917:	51                   	push   %ecx
45a918:	51                   	push   %ecx
45a919:	ff b5 44 ff ff ff    	push   -0xbc(%ebp)
45a91f:	ff 70 30             	push   0x30(%eax)
45a922:	ff 70 2c             	push   0x2c(%eax)
45a925:	8b 45 80             	mov    -0x80(%ebp),%eax
45a928:	51                   	push   %ecx
45a929:	51                   	push   %ecx
45a92a:	ff 70 04             	push   0x4(%eax)
45a92d:	ff 15 7c 71 4a 00    	call   *0x4a717c
45a933:	8b 85 50 ff ff ff    	mov    -0xb0(%ebp),%eax
45a939:	33 f6                	xor    %esi,%esi
45a93b:	85 c0                	test   %eax,%eax
45a93d:	75 04                	jne    0x45a943
45a93f:	8b c6                	mov    %esi,%eax
45a941:	eb 03                	jmp    0x45a946
45a943:	8b 40 04             	mov    0x4(%eax),%eax
45a946:	50                   	push   %eax
45a947:	ff b5 44 ff ff ff    	push   -0xbc(%ebp)
45a94d:	ff 15 90 75 4a 00    	call   *0x4a7590
45a953:	8b 45 b0             	mov    -0x50(%ebp),%eax
45a956:	85 c0                	test   %eax,%eax
45a958:	74 0e                	je     0x45a968
45a95a:	56                   	push   %esi
45a95b:	50                   	push   %eax
45a95c:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
45a962:	ff 15 98 75 4a 00    	call   *0x4a7598
45a968:	8d 8d 60 ff ff ff    	lea    -0xa0(%ebp),%ecx
45a96e:	ff 15 28 75 4a 00    	call   *0x4a7528
45a974:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
45a977:	8b c1                	mov    %ecx,%eax
45a979:	8b 55 c8             	mov    -0x38(%ebp),%edx
45a97c:	2b c2                	sub    %edx,%eax
45a97e:	03 45 d0             	add    -0x30(%ebp),%eax
45a981:	89 55 e0             	mov    %edx,-0x20(%ebp)
45a984:	2b d1                	sub    %ecx,%edx
45a986:	03 55 cc             	add    -0x34(%ebp),%edx
45a989:	89 4d dc             	mov    %ecx,-0x24(%ebp)
45a98c:	8b 4f 48             	mov    0x48(%edi),%ecx
45a98f:	89 55 e8             	mov    %edx,-0x18(%ebp)
45a992:	8d 55 dc             	lea    -0x24(%ebp),%edx
45a995:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45a998:	e8 3f 24 fd ff       	call   0x42cddc
45a99d:	8b 4f 48             	mov    0x48(%edi),%ecx
45a9a0:	8d 55 dc             	lea    -0x24(%ebp),%edx
45a9a3:	e8 01 25 fd ff       	call   0x42cea9
45a9a8:	8d 45 dc             	lea    -0x24(%ebp),%eax
45a9ab:	8b cf                	mov    %edi,%ecx
45a9ad:	50                   	push   %eax
45a9ae:	e8 30 b7 fd ff       	call   0x4360e3
45a9b3:	e8 7a ee 00 00       	call   0x469832
45a9b8:	8b 4f 48             	mov    0x48(%edi),%ecx
45a9bb:	e8 b7 23 fd ff       	call   0x42cd77
45a9c0:	6a 01                	push   $0x1
45a9c2:	56                   	push   %esi
45a9c3:	ff 77 20             	push   0x20(%edi)
45a9c6:	ff 15 d8 7d 4a 00    	call   *0x4a7dd8
45a9cc:	ff 77 20             	push   0x20(%edi)
45a9cf:	ff 15 a0 7d 4a 00    	call   *0x4a7da0
45a9d5:	e9 af 02 00 00       	jmp    0x45ac89
45a9da:	8b 45 b0             	mov    -0x50(%ebp),%eax
45a9dd:	85 c0                	test   %eax,%eax
45a9df:	74 0e                	je     0x45a9ef
45a9e1:	57                   	push   %edi
45a9e2:	50                   	push   %eax
45a9e3:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
45a9e9:	ff 15 98 75 4a 00    	call   *0x4a7598
45a9ef:	8b 85 50 ff ff ff    	mov    -0xb0(%ebp),%eax
45a9f5:	85 c0                	test   %eax,%eax
45a9f7:	75 04                	jne    0x45a9fd
45a9f9:	8b c7                	mov    %edi,%eax
45a9fb:	eb 03                	jmp    0x45aa00
45a9fd:	8b 40 04             	mov    0x4(%eax),%eax
45aa00:	50                   	push   %eax
45aa01:	ff b5 44 ff ff ff    	push   -0xbc(%ebp)
45aa07:	ff 15 90 75 4a 00    	call   *0x4a7590
45aa0d:	89 bd 5c ff ff ff    	mov    %edi,-0xa4(%ebp)
45aa13:	c7 85 58 ff ff ff 1c 	movl   $0x40141c,-0xa8(%ebp)
45aa1a:	14 40 00
45aa1d:	57                   	push   %edi
45aa1e:	6a 01                	push   $0x1
45aa20:	6a 01                	push   $0x1
45aa22:	ff 75 ac             	push   -0x54(%ebp)
45aa25:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
45aa29:	ff 75 a0             	push   -0x60(%ebp)
45aa2c:	ff 15 5c 71 4a 00    	call   *0x4a715c
45aa32:	50                   	push   %eax
45aa33:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
45aa39:	ff 15 8c 75 4a 00    	call   *0x4a758c
45aa3f:	85 c0                	test   %eax,%eax
45aa41:	75 26                	jne    0x45aa69
45aa43:	6a 01                	push   $0x1
45aa45:	b9 e0 55 4a 00       	mov    $0x4a55e0,%ecx
45aa4a:	e8 2a 32 ff ff       	call   0x44dc79
45aa4f:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
45aa55:	c7 85 58 ff ff ff 1c 	movl   $0x40141c,-0xa8(%ebp)
45aa5c:	14 40 00
45aa5f:	e8 6f 53 fc ff       	call   0x41fdd3
45aa64:	e9 4e 02 00 00       	jmp    0x45acb7
45aa69:	ff b5 64 ff ff ff    	push   -0x9c(%ebp)
45aa6f:	ff 35 b8 48 4a 00    	push   0x4a48b8
45aa75:	ff 15 90 75 4a 00    	call   *0x4a7590
45aa7b:	b9 c4 48 4a 00       	mov    $0x4a48c4,%ecx
45aa80:	ff 15 28 75 4a 00    	call   *0x4a7528
45aa86:	8d 8d 60 ff ff ff    	lea    -0xa0(%ebp),%ecx
45aa8c:	ff 15 c4 76 4a 00    	call   *0x4a76c4
45aa92:	50                   	push   %eax
45aa93:	b9 c4 48 4a 00       	mov    $0x4a48c4,%ecx
45aa98:	ff 15 8c 75 4a 00    	call   *0x4a758c
45aa9e:	ff b5 5c ff ff ff    	push   -0xa4(%ebp)
45aaa4:	8b 45 a0             	mov    -0x60(%ebp),%eax
45aaa7:	ff 35 d8 48 4a 00    	push   0x4a48d8
45aaad:	a3 cc 48 4a 00       	mov    %eax,0x4a48cc
45aab2:	8b 45 ac             	mov    -0x54(%ebp),%eax
45aab5:	a3 d0 48 4a 00       	mov    %eax,0x4a48d0
45aaba:	ff 15 90 75 4a 00    	call   *0x4a7590
45aac0:	b9 e4 48 4a 00       	mov    $0x4a48e4,%ecx
45aac5:	ff 15 28 75 4a 00    	call   *0x4a7528
45aacb:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
45aad1:	ff 15 c4 76 4a 00    	call   *0x4a76c4
45aad7:	50                   	push   %eax
45aad8:	b9 e4 48 4a 00       	mov    $0x4a48e4,%ecx
45aadd:	ff 15 8c 75 4a 00    	call   *0x4a758c
45aae3:	51                   	push   %ecx
45aae4:	b9 a0 48 4a 00       	mov    $0x4a48a0,%ecx
45aae9:	e8 b6 f7 fc ff       	call   0x42a2a4
45aaee:	83 3d 50 49 4a 00 00 	cmpl   $0x0,0x4a4950
45aaf5:	0f 84 6a 01 00 00    	je     0x45ac65
45aafb:	6a 10                	push   $0x10
45aafd:	89 7d 80             	mov    %edi,-0x80(%ebp)
45ab00:	ff 15 08 c0 4a 00    	call   *0x4ac008
45ab06:	8b f0                	mov    %eax,%esi
45ab08:	89 b5 7c ff ff ff    	mov    %esi,-0x84(%ebp)
45ab0e:	85 f6                	test   %esi,%esi
45ab10:	74 26                	je     0x45ab38
45ab12:	8b 0d 4c 49 4a 00    	mov    0x4a494c,%ecx
45ab18:	e8 bc ea fd ff       	call   0x4395d9
45ab1d:	50                   	push   %eax
45ab1e:	ff 35 54 49 4a 00    	push   0x4a4954
45ab24:	8b ce                	mov    %esi,%ecx
45ab26:	ff 35 58 49 4a 00    	push   0x4a4958
45ab2c:	e8 cb ea fd ff       	call   0x4395fc
45ab31:	8b f0                	mov    %eax,%esi
45ab33:	89 75 b0             	mov    %esi,-0x50(%ebp)
45ab36:	eb 05                	jmp    0x45ab3d
45ab38:	8b f7                	mov    %edi,%esi
45ab3a:	89 7d b0             	mov    %edi,-0x50(%ebp)
45ab3d:	56                   	push   %esi
45ab3e:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
45ab44:	e8 5f ea fd ff       	call   0x4395a8
45ab49:	6a 01                	push   $0x1
45ab4b:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
45ab51:	ff 15 4c c0 4a 00    	call   *0x4ac04c
45ab57:	85 c0                	test   %eax,%eax
45ab59:	74 06                	je     0x45ab61
45ab5b:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
45ab61:	83 7b 08 5a          	cmpl   $0x5a,0x8(%ebx)
45ab65:	8b ce                	mov    %esi,%ecx
45ab67:	75 43                	jne    0x45abac
45ab69:	e8 13 ea fd ff       	call   0x439581
45ab6e:	8b ce                	mov    %esi,%ecx
45ab70:	89 45 d4             	mov    %eax,-0x2c(%ebp)
45ab73:	89 7d d8             	mov    %edi,-0x28(%ebp)
45ab76:	e8 df e9 fd ff       	call   0x43955a
45ab7b:	8b 4d b0             	mov    -0x50(%ebp),%ecx
45ab7e:	8b f0                	mov    %eax,%esi
45ab80:	e8 fc e9 fd ff       	call   0x439581
45ab85:	51                   	push   %ecx
45ab86:	89 45 dc             	mov    %eax,-0x24(%ebp)
45ab89:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
45ab8f:	8d 45 d4             	lea    -0x2c(%ebp),%eax
45ab92:	89 75 e0             	mov    %esi,-0x20(%ebp)
45ab95:	50                   	push   %eax
45ab96:	ff 35 4c 49 4a 00    	push   0x4a494c
45ab9c:	89 7d e4             	mov    %edi,-0x1c(%ebp)
45ab9f:	89 7d e8             	mov    %edi,-0x18(%ebp)
45aba2:	e8 7f e9 fd ff       	call   0x439526
45aba7:	8b 7d b0             	mov    -0x50(%ebp),%edi
45abaa:	eb 40                	jmp    0x45abec
45abac:	e8 a9 e9 fd ff       	call   0x43955a
45abb1:	8b ce                	mov    %esi,%ecx
45abb3:	89 7d d4             	mov    %edi,-0x2c(%ebp)
45abb6:	89 45 d8             	mov    %eax,-0x28(%ebp)
45abb9:	89 7d dc             	mov    %edi,-0x24(%ebp)
45abbc:	89 7d e0             	mov    %edi,-0x20(%ebp)
45abbf:	e8 96 e9 fd ff       	call   0x43955a
45abc4:	8b 7d b0             	mov    -0x50(%ebp),%edi
45abc7:	8b f0                	mov    %eax,%esi
45abc9:	8b cf                	mov    %edi,%ecx
45abcb:	e8 b1 e9 fd ff       	call   0x439581
45abd0:	51                   	push   %ecx
45abd1:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45abd4:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
45abda:	8d 45 d4             	lea    -0x2c(%ebp),%eax
45abdd:	89 75 e8             	mov    %esi,-0x18(%ebp)
45abe0:	50                   	push   %eax
45abe1:	ff 35 4c 49 4a 00    	push   0x4a494c
45abe7:	e8 3a e9 fd ff       	call   0x439526
45abec:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
45abf2:	ff 15 2c c0 4a 00    	call   *0x4ac02c
45abf8:	68 00 00 00 ff       	push   $0xff000000
45abfd:	8d 45 80             	lea    -0x80(%ebp),%eax
45ac00:	50                   	push   %eax
45ac01:	ff 77 04             	push   0x4(%edi)
45ac04:	ff 15 24 c0 4a 00    	call   *0x4ac024
45ac0a:	85 c0                	test   %eax,%eax
45ac0c:	74 03                	je     0x45ac11
45ac0e:	89 47 08             	mov    %eax,0x8(%edi)
45ac11:	8b cf                	mov    %edi,%ecx
45ac13:	e8 69 e9 fd ff       	call   0x439581
45ac18:	8b cf                	mov    %edi,%ecx
45ac1a:	a3 54 49 4a 00       	mov    %eax,0x4a4954
45ac1f:	e8 36 e9 fd ff       	call   0x43955a
45ac24:	a3 58 49 4a 00       	mov    %eax,0x4a4958
45ac29:	a1 4c 49 4a 00       	mov    0x4a494c,%eax
45ac2e:	85 c0                	test   %eax,%eax
45ac30:	74 16                	je     0x45ac48
45ac32:	8b 00                	mov    (%eax),%eax
45ac34:	6a 01                	push   $0x1
45ac36:	8b 30                	mov    (%eax),%esi
45ac38:	8b ce                	mov    %esi,%ecx
45ac3a:	ff 15 2c 81 4a 00    	call   *0x4a812c
45ac40:	8b 0d 4c 49 4a 00    	mov    0x4a494c,%ecx
45ac46:	ff d6                	call   *%esi
45ac48:	ff 35 50 49 4a 00    	push   0x4a4950
45ac4e:	89 3d 4c 49 4a 00    	mov    %edi,0x4a494c
45ac54:	ff 15 60 71 4a 00    	call   *0x4a7160
45ac5a:	8b 45 80             	mov    -0x80(%ebp),%eax
45ac5d:	8b 75 9c             	mov    -0x64(%ebp),%esi
45ac60:	a3 50 49 4a 00       	mov    %eax,0x4a4950
45ac65:	8d 45 b4             	lea    -0x4c(%ebp),%eax
45ac68:	8b ce                	mov    %esi,%ecx
45ac6a:	50                   	push   %eax
45ac6b:	e8 b7 ba fd ff       	call   0x436727
45ac70:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
45ac74:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
45ac7a:	c7 85 58 ff ff ff 1c 	movl   $0x40141c,-0xa8(%ebp)
45ac81:	14 40 00
45ac84:	e8 4a 51 fc ff       	call   0x41fdd3
45ac89:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
45ac8f:	ff 15 9c 75 4a 00    	call   *0x4a759c
45ac95:	eb 20                	jmp    0x45acb7