43a8ab:	8b c8                	mov    %eax,%ecx
43a8ad:	ff 15 a4 12 45 00    	call   *0x4512a4
43a8b3:	a1 00 f0 44 00       	mov    0x44f000,%eax
43a8b8:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
43a8bd:	74 20                	je     0x43a8df
43a8bf:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
43a8c3:	74 1a                	je     0x43a8df
43a8c5:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
43a8c9:	72 14                	jb     0x43a8df
43a8cb:	57                   	push   %edi
43a8cc:	ff 70 14             	push   0x14(%eax)
43a8cf:	ba a8 7b 40 00       	mov    $0x407ba8,%edx
43a8d4:	ff 70 10             	push   0x10(%eax)
43a8d7:	6a 5a                	push   $0x5a
43a8d9:	59                   	pop    %ecx
43a8da:	e8 e7 5e ff ff       	call   0x4307c6
43a8df:	8b c7                	mov    %edi,%eax
43a8e1:	e8 55 4d fe ff       	call   0x41f63b
43a8e6:	c2 18 00             	ret    $0x18
43a8e9:	6a 1c                	push   $0x1c
43a8eb:	b8 2f 3d 42 00       	mov    $0x423d2f,%eax
43a8f0:	e8 78 4d fe ff       	call   0x41f66d
43a8f5:	8b f1                	mov    %ecx,%esi
43a8f7:	89 75 f0             	mov    %esi,-0x10(%ebp)
43a8fa:	8b 5d 10             	mov    0x10(%ebp),%ebx
43a8fd:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
43a901:	81 e3 ff fd ff ff    	and    $0xfffffdff,%ebx
43a907:	8b 4d 14             	mov    0x14(%ebp),%ecx
43a90a:	85 c9                	test   %ecx,%ecx
43a90c:	74 19                	je     0x43a927
43a90e:	8b 01                	mov    (%ecx),%eax
43a910:	8d 55 e4             	lea    -0x1c(%ebp),%edx
43a913:	52                   	push   %edx
43a914:	51                   	push   %ecx
43a915:	8b 70 0c             	mov    0xc(%eax),%esi
43a918:	8b ce                	mov    %esi,%ecx
43a91a:	ff 15 c4 12 45 00    	call   *0x4512c4
43a920:	ff d6                	call   *%esi
43a922:	8b 75 f0             	mov    -0x10(%ebp),%esi
43a925:	eb 02                	jmp    0x43a929
43a927:	33 c0                	xor    %eax,%eax
43a929:	85 c0                	test   %eax,%eax
43a92b:	0f 88 27 02 00 00    	js     0x43ab58
43a931:	ff 75 0c             	push   0xc(%ebp)
43a934:	ff 15 10 30 45 00    	call   *0x453010
43a93a:	8b f8                	mov    %eax,%edi
43a93c:	89 7d e0             	mov    %edi,-0x20(%ebp)
43a93f:	85 ff                	test   %edi,%edi
43a941:	0f 84 11 02 00 00    	je     0x43ab58
43a947:	6a 68                	push   $0x68
43a949:	e8 8d 38 fe ff       	call   0x41e1db
43a94e:	59                   	pop    %ecx
43a94f:	89 45 dc             	mov    %eax,-0x24(%ebp)
43a952:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43a956:	85 c0                	test   %eax,%eax
43a958:	74 26                	je     0x43a980
43a95a:	51                   	push   %ecx
43a95b:	8b d6                	mov    %esi,%edx
43a95d:	8d 8e 84 00 00 00    	lea    0x84(%esi),%ecx
43a963:	f7 da                	neg    %edx
43a965:	1b d2                	sbb    %edx,%edx
43a967:	23 d1                	and    %ecx,%edx
43a969:	52                   	push   %edx
43a96a:	56                   	push   %esi
43a96b:	ff 75 18             	push   0x18(%ebp)
43a96e:	56                   	push   %esi
43a96f:	57                   	push   %edi
43a970:	53                   	push   %ebx
43a971:	51                   	push   %ecx
43a972:	8b c8                	mov    %eax,%ecx
43a974:	e8 ab 49 00 00       	call   0x43f324
43a979:	8b f8                	mov    %eax,%edi
43a97b:	89 45 ec             	mov    %eax,-0x14(%ebp)
43a97e:	eb 05                	jmp    0x43a985
43a980:	33 ff                	xor    %edi,%edi
43a982:	89 7d ec             	mov    %edi,-0x14(%ebp)
43a985:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
43a989:	85 ff                	test   %edi,%edi
43a98b:	0f 84 be 01 00 00    	je     0x43ab4f
43a991:	8b 07                	mov    (%edi),%eax
43a993:	57                   	push   %edi
43a994:	8b 70 04             	mov    0x4(%eax),%esi
43a997:	8b ce                	mov    %esi,%ecx
43a999:	ff 15 c4 12 45 00    	call   *0x4512c4
43a99f:	ff d6                	call   *%esi
43a9a1:	8b 07                	mov    (%edi),%eax
43a9a3:	8b 70 28             	mov    0x28(%eax),%esi
43a9a6:	8b ce                	mov    %esi,%ecx
43a9a8:	ff 15 c4 12 45 00    	call   *0x4512c4
43a9ae:	8b cf                	mov    %edi,%ecx
43a9b0:	ff d6                	call   *%esi
43a9b2:	8b f8                	mov    %eax,%edi
43a9b4:	85 ff                	test   %edi,%edi
43a9b6:	0f 88 7e 01 00 00    	js     0x43ab3a
43a9bc:	8b 7d f0             	mov    -0x10(%ebp),%edi
43a9bf:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
43a9c3:	81 c7 84 00 00 00    	add    $0x84,%edi
43a9c9:	89 7d e8             	mov    %edi,-0x18(%ebp)
43a9cc:	8b 07                	mov    (%edi),%eax
43a9ce:	8b 70 18             	mov    0x18(%eax),%esi
43a9d1:	8b ce                	mov    %esi,%ecx
43a9d3:	ff 15 c4 12 45 00    	call   *0x4512c4
43a9d9:	8b cf                	mov    %edi,%ecx
43a9db:	ff d6                	call   *%esi
43a9dd:	8b 0f                	mov    (%edi),%ecx
43a9df:	8d 45 dc             	lea    -0x24(%ebp),%eax
43a9e2:	8b 7d ec             	mov    -0x14(%ebp),%edi
43a9e5:	50                   	push   %eax
43a9e6:	8b 71 20             	mov    0x20(%ecx),%esi
43a9e9:	8b ce                	mov    %esi,%ecx
43a9eb:	8d 47 08             	lea    0x8(%edi),%eax
43a9ee:	50                   	push   %eax
43a9ef:	ff 15 c4 12 45 00    	call   *0x4512c4
43a9f5:	8b 4d e8             	mov    -0x18(%ebp),%ecx
43a9f8:	ff d6                	call   *%esi
43a9fa:	8b 55 e8             	mov    -0x18(%ebp),%edx
43a9fd:	8b 12                	mov    (%edx),%edx
43a9ff:	8b 72 1c             	mov    0x1c(%edx),%esi
43aa02:	8b ce                	mov    %esi,%ecx
43aa04:	85 c0                	test   %eax,%eax
43aa06:	0f 85 07 01 00 00    	jne    0x43ab13
43aa0c:	ff 15 c4 12 45 00    	call   *0x4512c4
43aa12:	8b 4d e8             	mov    -0x18(%ebp),%ecx
43aa15:	ff d6                	call   *%esi
43aa17:	8b 75 f0             	mov    -0x10(%ebp),%esi
43aa1a:	8b 86 34 01 00 00    	mov    0x134(%esi),%eax
43aa20:	83 b8 a0 06 00 00 00 	cmpl   $0x0,0x6a0(%eax)
43aa27:	75 09                	jne    0x43aa32
43aa29:	8b 5d 10             	mov    0x10(%ebp),%ebx
43aa2c:	81 e3 7f fd ff ff    	and    $0xfffffd7f,%ebx
43aa32:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
43aa36:	74 08                	je     0x43aa40
43aa38:	ff 15 60 30 45 00    	call   *0x453060
43aa3e:	eb 02                	jmp    0x43aa42
43aa40:	33 c0                	xor    %eax,%eax
43aa42:	85 c0                	test   %eax,%eax
43aa44:	78 4c                	js     0x43aa92
43aa46:	a1 2c 0a 45 00       	mov    0x450a2c,%eax
43aa4b:	85 c0                	test   %eax,%eax
43aa4d:	74 0e                	je     0x43aa5d
43aa4f:	83 80 a8 00 00 00 01 	addl   $0x1,0xa8(%eax)
43aa56:	83 90 ac 00 00 00 00 	adcl   $0x0,0xac(%eax)
43aa5d:	8b 45 1c             	mov    0x1c(%ebp),%eax
43aa60:	83 86 70 01 00 00 01 	addl   $0x1,0x170(%esi)
43aa67:	57                   	push   %edi
43aa68:	ff 75 e4             	push   -0x1c(%ebp)
43aa6b:	83 96 74 01 00 00 00 	adcl   $0x0,0x174(%esi)
43aa72:	8b 30                	mov    (%eax),%esi
43aa74:	53                   	push   %ebx
43aa75:	ff 75 e0             	push   -0x20(%ebp)
43aa78:	8b 4e 44             	mov    0x44(%esi),%ecx
43aa7b:	50                   	push   %eax
43aa7c:	ff 15 c4 12 45 00    	call   *0x4512c4
43aa82:	ff 56 44             	call   *0x44(%esi)
43aa85:	8b f8                	mov    %eax,%edi
43aa87:	ff 15 64 30 45 00    	call   *0x453064
43aa8d:	8b 75 f0             	mov    -0x10(%ebp),%esi
43aa90:	eb 05                	jmp    0x43aa97
43aa92:	bf 03 10 04 80       	mov    $0x80041003,%edi
43aa97:	81 ff 35 10 04 80    	cmp    $0x80041035,%edi
43aa9d:	74 08                	je     0x43aaa7
43aa9f:	81 ff 08 10 04 80    	cmp    $0x80041008,%edi
43aaa5:	75 7c                	jne    0x43ab23
43aaa7:	81 e3 7f ff ff ff    	and    $0xffffff7f,%ebx
43aaad:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
43aab1:	74 08                	je     0x43aabb
43aab3:	ff 15 60 30 45 00    	call   *0x453060
43aab9:	eb 02                	jmp    0x43aabd
43aabb:	33 c0                	xor    %eax,%eax
43aabd:	85 c0                	test   %eax,%eax
43aabf:	78 4b                	js     0x43ab0c
43aac1:	a1 2c 0a 45 00       	mov    0x450a2c,%eax
43aac6:	85 c0                	test   %eax,%eax
43aac8:	74 0e                	je     0x43aad8
43aaca:	83 80 a8 00 00 00 01 	addl   $0x1,0xa8(%eax)
43aad1:	83 90 ac 00 00 00 00 	adcl   $0x0,0xac(%eax)
43aad8:	ff 75 ec             	push   -0x14(%ebp)
43aadb:	8b 45 1c             	mov    0x1c(%ebp),%eax
43aade:	83 86 70 01 00 00 01 	addl   $0x1,0x170(%esi)
43aae5:	ff 75 e4             	push   -0x1c(%ebp)
43aae8:	83 96 74 01 00 00 00 	adcl   $0x0,0x174(%esi)
43aaef:	8b 30                	mov    (%eax),%esi
43aaf1:	53                   	push   %ebx
43aaf2:	ff 75 e0             	push   -0x20(%ebp)
43aaf5:	8b 4e 44             	mov    0x44(%esi),%ecx
43aaf8:	50                   	push   %eax
43aaf9:	ff 15 c4 12 45 00    	call   *0x4512c4
43aaff:	ff 56 44             	call   *0x44(%esi)
43ab02:	8b f8                	mov    %eax,%edi
43ab04:	ff 15 64 30 45 00    	call   *0x453064
43ab0a:	eb 17                	jmp    0x43ab23
43ab0c:	bf 03 10 04 80       	mov    $0x80041003,%edi
43ab11:	eb 10                	jmp    0x43ab23
43ab13:	ff 15 c4 12 45 00    	call   *0x4512c4
43ab19:	8b 4d e8             	mov    -0x18(%ebp),%ecx
43ab1c:	ff d6                	call   *%esi
43ab1e:	bf 06 10 04 80       	mov    $0x80041006,%edi
43ab23:	85 ff                	test   %edi,%edi
43ab25:	79 13                	jns    0x43ab3a
43ab27:	ff 75 ec             	push   -0x14(%ebp)
43ab2a:	57                   	push   %edi
43ab2b:	51                   	push   %ecx
43ab2c:	51                   	push   %ecx
43ab2d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43ab30:	68 c8 b2 40 00       	push   $0x40b2c8
43ab35:	e8 29 3e fe ff       	call   0x41e963
43ab3a:	8b 4d ec             	mov    -0x14(%ebp),%ecx
43ab3d:	51                   	push   %ecx
43ab3e:	8b 01                	mov    (%ecx),%eax
43ab40:	8b 70 08             	mov    0x8(%eax),%esi
43ab43:	8b ce                	mov    %esi,%ecx
43ab45:	ff 15 c4 12 45 00    	call   *0x4512c4
43ab4b:	ff d6                	call   *%esi
43ab4d:	eb 0e                	jmp    0x43ab5d
43ab4f:	ff 75 e0             	push   -0x20(%ebp)
43ab52:	ff 15 0c 30 45 00    	call   *0x45300c
43ab58:	bf 06 10 04 80       	mov    $0x80041006,%edi
43ab5d:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
43ab60:	85 c9                	test   %ecx,%ecx
43ab62:	74 10                	je     0x43ab74
43ab64:	8b 01                	mov    (%ecx),%eax
43ab66:	51                   	push   %ecx
43ab67:	8b 70 08             	mov    0x8(%eax),%esi
43ab6a:	8b ce                	mov    %esi,%ecx
43ab6c:	ff 15 c4 12 45 00    	call   *0x4512c4
43ab72:	ff d6                	call   *%esi
43ab74:	85 ff                	test   %edi,%edi
43ab76:	79 0f                	jns    0x43ab87
43ab78:	57                   	push   %edi
43ab79:	ff 15 a0 12 45 00    	call   *0x4512a0
43ab7f:	8b c8                	mov    %eax,%ecx
43ab81:	ff 15 a4 12 45 00    	call   *0x4512a4
43ab87:	a1 00 f0 44 00       	mov    0x44f000,%eax
43ab8c:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
43ab91:	74 20                	je     0x43abb3
43ab93:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
43ab97:	74 1a                	je     0x43abb3
43ab99:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
43ab9d:	72 14                	jb     0x43abb3
43ab9f:	57                   	push   %edi
43aba0:	ff 70 14             	push   0x14(%eax)
43aba3:	ba a8 7b 40 00       	mov    $0x407ba8,%edx
43aba8:	ff 70 10             	push   0x10(%eax)
43abab:	6a 68                	push   $0x68
43abad:	59                   	pop    %ecx
43abae:	e8 13 5c ff ff       	call   0x4307c6
43abb3:	8b c7                	mov    %edi,%eax
43abb5:	e8 81 4a fe ff       	call   0x41f63b
43abba:	c2 18 00             	ret    $0x18
43abbd:	6a 4c                	push   $0x4c
43abbf:	b8 82 3d 42 00       	mov    $0x423d82,%eax
43abc4:	e8 a4 4a fe ff       	call   0x41f66d
43abc9:	8b f1                	mov    %ecx,%esi
43abcb:	89 75 ec             	mov    %esi,-0x14(%ebp)
43abce:	8d 45 e4             	lea    -0x1c(%ebp),%eax
43abd1:	33 ff                	xor    %edi,%edi
43abd3:	50                   	push   %eax
43abd4:	68 9c 5f 40 00       	push   $0x405f9c
43abd9:	6a 01                	push   $0x1
43abdb:	57                   	push   %edi
43abdc:	68 8c 5f 40 00       	push   $0x405f8c
43abe1:	89 7d e8             	mov    %edi,-0x18(%ebp)
43abe4:	89 7d e4             	mov    %edi,-0x1c(%ebp)
43abe7:	89 7d d8             	mov    %edi,-0x28(%ebp)
43abea:	ff 15 48 30 45 00    	call   *0x453048
43abf0:	8b d8                	mov    %eax,%ebx
43abf2:	85 db                	test   %ebx,%ebx
43abf4:	0f 88 86 00 00 00    	js     0x43ac80
43abfa:	8b 45 e4             	mov    -0x1c(%ebp),%eax
43abfd:	ff 75 0c             	push   0xc(%ebp)
43ac00:	6a 04                	push   $0x4
43ac02:	8b 08                	mov    (%eax),%ecx
43ac04:	50                   	push   %eax
43ac05:	8b 71 0c             	mov    0xc(%ecx),%esi
43ac08:	8b ce                	mov    %esi,%ecx
43ac0a:	ff 15 c4 12 45 00    	call   *0x4512c4
43ac10:	ff d6                	call   *%esi
43ac12:	8b d8                	mov    %eax,%ebx
43ac14:	85 db                	test   %ebx,%ebx
43ac16:	78 65                	js     0x43ac7d
43ac18:	8b 45 e4             	mov    -0x1c(%ebp),%eax
43ac1b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
43ac1e:	89 7d f0             	mov    %edi,-0x10(%ebp)
43ac21:	57                   	push   %edi
43ac22:	51                   	push   %ecx
43ac23:	8b 30                	mov    (%eax),%esi
43ac25:	50                   	push   %eax
43ac26:	8b 4e 54             	mov    0x54(%esi),%ecx
43ac29:	ff 15 c4 12 45 00    	call   *0x4512c4
43ac2f:	ff 56 54             	call   *0x54(%esi)
43ac32:	8b d8                	mov    %eax,%ebx
43ac34:	85 db                	test   %ebx,%ebx
43ac36:	78 45                	js     0x43ac7d
43ac38:	8b 45 f0             	mov    -0x10(%ebp),%eax
43ac3b:	33 c9                	xor    %ecx,%ecx
43ac3d:	40                   	inc    %eax
43ac3e:	6a 02                	push   $0x2
43ac40:	5a                   	pop    %edx
43ac41:	89 45 f0             	mov    %eax,-0x10(%ebp)
43ac44:	f7 e2                	mul    %edx
43ac46:	0f 90 c1             	seto   %cl
43ac49:	f7 d9                	neg    %ecx
43ac4b:	0b c8                	or     %eax,%ecx
43ac4d:	51                   	push   %ecx
43ac4e:	e8 88 35 fe ff       	call   0x41e1db
43ac53:	8b d8                	mov    %eax,%ebx
43ac55:	89 5d d8             	mov    %ebx,-0x28(%ebp)
43ac58:	59                   	pop    %ecx
43ac59:	85 db                	test   %ebx,%ebx
43ac5b:	74 1b                	je     0x43ac78
43ac5d:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
43ac60:	8d 45 f0             	lea    -0x10(%ebp),%eax
43ac63:	53                   	push   %ebx
43ac64:	50                   	push   %eax
43ac65:	51                   	push   %ecx
43ac66:	8b 31                	mov    (%ecx),%esi
43ac68:	8b 4e 54             	mov    0x54(%esi),%ecx
43ac6b:	ff 15 c4 12 45 00    	call   *0x4512c4
43ac71:	ff 56 54             	call   *0x54(%esi)
43ac74:	8b d8                	mov    %eax,%ebx
43ac76:	eb 05                	jmp    0x43ac7d
43ac78:	bb 06 10 04 80       	mov    $0x80041006,%ebx
43ac7d:	8b 75 ec             	mov    -0x14(%ebp),%esi
43ac80:	8b 7d e4             	mov    -0x1c(%ebp),%edi
43ac83:	89 7d c8             	mov    %edi,-0x38(%ebp)
43ac86:	89 7d bc             	mov    %edi,-0x44(%ebp)
43ac89:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43ac8d:	8b 45 d8             	mov    -0x28(%ebp),%eax
43ac90:	83 65 ac 00          	andl   $0x0,-0x54(%ebp)
43ac94:	89 45 a8             	mov    %eax,-0x58(%ebp)
43ac97:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
43ac9b:	85 db                	test   %ebx,%ebx
43ac9d:	79 40                	jns    0x43acdf
43ac9f:	53                   	push   %ebx
43aca0:	ff 15 a0 12 45 00    	call   *0x4512a0
43aca6:	8b c8                	mov    %eax,%ecx
43aca8:	ff 15 a4 12 45 00    	call   *0x4512a4
43acae:	a1 00 f0 44 00       	mov    0x44f000,%eax
43acb3:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
43acb8:	0f 84 b6 03 00 00    	je     0x43b074
43acbe:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
43acc2:	0f 84 ac 03 00 00    	je     0x43b074
43acc8:	6a 02                	push   $0x2
43acca:	59                   	pop    %ecx
43accb:	38 48 19             	cmp    %cl,0x19(%eax)
43acce:	0f 82 a0 03 00 00    	jb     0x43b074
43acd4:	53                   	push   %ebx
43acd5:	ff 70 14             	push   0x14(%eax)
43acd8:	ff 70 10             	push   0x10(%eax)
43acdb:	6a 4d                	push   $0x4d