43a690:	51                   	push   %ecx
43a691:	8b d3                	mov    %ebx,%edx
43a693:	8d 8b 84 00 00 00    	lea    0x84(%ebx),%ecx
43a699:	f7 da                	neg    %edx
43a69b:	1b d2                	sbb    %edx,%edx
43a69d:	23 d1                	and    %ecx,%edx
43a69f:	52                   	push   %edx
43a6a0:	53                   	push   %ebx
43a6a1:	ff 75 18             	push   0x18(%ebp)
43a6a4:	53                   	push   %ebx
43a6a5:	56                   	push   %esi
43a6a6:	57                   	push   %edi
43a6a7:	51                   	push   %ecx
43a6a8:	8b c8                	mov    %eax,%ecx
43a6aa:	e8 d1 4b 00 00       	call   0x43f280
43a6af:	8b f8                	mov    %eax,%edi
43a6b1:	89 45 f0             	mov    %eax,-0x10(%ebp)
43a6b4:	eb 05                	jmp    0x43a6bb
43a6b6:	33 ff                	xor    %edi,%edi
43a6b8:	89 7d f0             	mov    %edi,-0x10(%ebp)
43a6bb:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
43a6bf:	85 ff                	test   %edi,%edi
43a6c1:	0f 84 b6 01 00 00    	je     0x43a87d
43a6c7:	8b 07                	mov    (%edi),%eax
43a6c9:	57                   	push   %edi
43a6ca:	8b 70 04             	mov    0x4(%eax),%esi
43a6cd:	8b ce                	mov    %esi,%ecx
43a6cf:	ff 15 c4 12 45 00    	call   *0x4512c4
43a6d5:	ff d6                	call   *%esi
43a6d7:	8b 07                	mov    (%edi),%eax
43a6d9:	8b 70 28             	mov    0x28(%eax),%esi
43a6dc:	8b ce                	mov    %esi,%ecx
43a6de:	ff 15 c4 12 45 00    	call   *0x4512c4
43a6e4:	8b cf                	mov    %edi,%ecx
43a6e6:	ff d6                	call   *%esi
43a6e8:	8b f8                	mov    %eax,%edi
43a6ea:	85 ff                	test   %edi,%edi
43a6ec:	0f 88 76 01 00 00    	js     0x43a868
43a6f2:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
43a6f6:	8d bb 84 00 00 00    	lea    0x84(%ebx),%edi
43a6fc:	8b 07                	mov    (%edi),%eax
43a6fe:	8b 70 18             	mov    0x18(%eax),%esi
43a701:	8b ce                	mov    %esi,%ecx
43a703:	ff 15 c4 12 45 00    	call   *0x4512c4
43a709:	8b cf                	mov    %edi,%ecx
43a70b:	ff d6                	call   *%esi
43a70d:	8b 0f                	mov    (%edi),%ecx
43a70f:	8d 45 e4             	lea    -0x1c(%ebp),%eax
43a712:	50                   	push   %eax
43a713:	8b 45 f0             	mov    -0x10(%ebp),%eax
43a716:	83 c0 08             	add    $0x8,%eax
43a719:	8b 71 20             	mov    0x20(%ecx),%esi
43a71c:	8b ce                	mov    %esi,%ecx
43a71e:	50                   	push   %eax
43a71f:	ff 15 c4 12 45 00    	call   *0x4512c4
43a725:	8b cf                	mov    %edi,%ecx
43a727:	ff d6                	call   *%esi
43a729:	8b 17                	mov    (%edi),%edx
43a72b:	8b 72 1c             	mov    0x1c(%edx),%esi
43a72e:	8b ce                	mov    %esi,%ecx
43a730:	85 c0                	test   %eax,%eax
43a732:	0f 85 0b 01 00 00    	jne    0x43a843
43a738:	ff 15 c4 12 45 00    	call   *0x4512c4
43a73e:	8b cf                	mov    %edi,%ecx
43a740:	ff d6                	call   *%esi
43a742:	8b 83 34 01 00 00    	mov    0x134(%ebx),%eax
43a748:	33 f6                	xor    %esi,%esi
43a74a:	39 b0 a0 06 00 00    	cmp    %esi,0x6a0(%eax)
43a750:	75 0e                	jne    0x43a760
43a752:	8b 7d e0             	mov    -0x20(%ebp),%edi
43a755:	81 e7 7f fd ff ff    	and    $0xfffffd7f,%edi
43a75b:	89 7d 10             	mov    %edi,0x10(%ebp)
43a75e:	eb 03                	jmp    0x43a763
43a760:	8b 7d 10             	mov    0x10(%ebp),%edi
43a763:	39 75 08             	cmp    %esi,0x8(%ebp)
43a766:	74 08                	je     0x43a770
43a768:	ff 15 60 30 45 00    	call   *0x453060
43a76e:	eb 02                	jmp    0x43a772
43a770:	8b c6                	mov    %esi,%eax
43a772:	85 c0                	test   %eax,%eax
43a774:	78 4b                	js     0x43a7c1
43a776:	a1 2c 0a 45 00       	mov    0x450a2c,%eax
43a77b:	85 c0                	test   %eax,%eax
43a77d:	74 0d                	je     0x43a78c
43a77f:	83 80 90 00 00 00 01 	addl   $0x1,0x90(%eax)
43a786:	11 b0 94 00 00 00    	adc    %esi,0x94(%eax)
43a78c:	ff 75 f0             	push   -0x10(%ebp)
43a78f:	8b 45 1c             	mov    0x1c(%ebp),%eax
43a792:	83 83 58 01 00 00 01 	addl   $0x1,0x158(%ebx)
43a799:	ff 75 ec             	push   -0x14(%ebp)
43a79c:	11 b3 5c 01 00 00    	adc    %esi,0x15c(%ebx)
43a7a2:	8b 30                	mov    (%eax),%esi
43a7a4:	57                   	push   %edi
43a7a5:	ff 75 e8             	push   -0x18(%ebp)
43a7a8:	8b 4e 2c             	mov    0x2c(%esi),%ecx
43a7ab:	50                   	push   %eax
43a7ac:	ff 15 c4 12 45 00    	call   *0x4512c4
43a7b2:	ff 56 2c             	call   *0x2c(%esi)
43a7b5:	8b f8                	mov    %eax,%edi
43a7b7:	ff 15 64 30 45 00    	call   *0x453064
43a7bd:	33 f6                	xor    %esi,%esi
43a7bf:	eb 05                	jmp    0x43a7c6
43a7c1:	bf 03 10 04 80       	mov    $0x80041003,%edi
43a7c6:	81 ff 35 10 04 80    	cmp    $0x80041035,%edi
43a7cc:	74 08                	je     0x43a7d6
43a7ce:	81 ff 08 10 04 80    	cmp    $0x80041008,%edi
43a7d4:	75 7c                	jne    0x43a852
43a7d6:	8b 7d 10             	mov    0x10(%ebp),%edi
43a7d9:	81 e7 7f ff ff ff    	and    $0xffffff7f,%edi
43a7df:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
43a7e3:	74 08                	je     0x43a7ed
43a7e5:	ff 15 60 30 45 00    	call   *0x453060
43a7eb:	eb 02                	jmp    0x43a7ef
43a7ed:	8b c6                	mov    %esi,%eax
43a7ef:	85 c0                	test   %eax,%eax
43a7f1:	78 49                	js     0x43a83c
43a7f3:	a1 2c 0a 45 00       	mov    0x450a2c,%eax
43a7f8:	85 c0                	test   %eax,%eax
43a7fa:	74 0d                	je     0x43a809
43a7fc:	83 80 90 00 00 00 01 	addl   $0x1,0x90(%eax)
43a803:	11 b0 94 00 00 00    	adc    %esi,0x94(%eax)
43a809:	ff 75 f0             	push   -0x10(%ebp)
43a80c:	8b 45 1c             	mov    0x1c(%ebp),%eax
43a80f:	83 83 58 01 00 00 01 	addl   $0x1,0x158(%ebx)
43a816:	ff 75 ec             	push   -0x14(%ebp)
43a819:	11 b3 5c 01 00 00    	adc    %esi,0x15c(%ebx)
43a81f:	8b 30                	mov    (%eax),%esi
43a821:	57                   	push   %edi
43a822:	ff 75 e8             	push   -0x18(%ebp)
43a825:	8b 4e 2c             	mov    0x2c(%esi),%ecx
43a828:	50                   	push   %eax
43a829:	ff 15 c4 12 45 00    	call   *0x4512c4
43a82f:	ff 56 2c             	call   *0x2c(%esi)
43a832:	8b f8                	mov    %eax,%edi
43a834:	ff 15 64 30 45 00    	call   *0x453064
43a83a:	eb 16                	jmp    0x43a852
43a83c:	bf 03 10 04 80       	mov    $0x80041003,%edi
43a841:	eb 0f                	jmp    0x43a852
43a843:	ff 15 c4 12 45 00    	call   *0x4512c4
43a849:	8b cf                	mov    %edi,%ecx
43a84b:	ff d6                	call   *%esi
43a84d:	bf 06 10 04 80       	mov    $0x80041006,%edi
43a852:	85 ff                	test   %edi,%edi
43a854:	79 12                	jns    0x43a868
43a856:	ff 75 f0             	push   -0x10(%ebp)
43a859:	57                   	push   %edi
43a85a:	51                   	push   %ecx
43a85b:	51                   	push   %ecx
43a85c:	68 54 b2 40 00       	push   $0x40b254
43a861:	8b cb                	mov    %ebx,%ecx
43a863:	e8 fb 40 fe ff       	call   0x41e963
43a868:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43a86b:	51                   	push   %ecx
43a86c:	8b 01                	mov    (%ecx),%eax
43a86e:	8b 70 08             	mov    0x8(%eax),%esi
43a871:	8b ce                	mov    %esi,%ecx
43a873:	ff 15 c4 12 45 00    	call   *0x4512c4
43a879:	ff d6                	call   *%esi
43a87b:	eb 0c                	jmp    0x43a889
43a87d:	56                   	push   %esi
43a87e:	ff 15 0c 30 45 00    	call   *0x45300c
43a884:	bf 06 10 04 80       	mov    $0x80041006,%edi
43a889:	8b 4d ec             	mov    -0x14(%ebp),%ecx
43a88c:	85 c9                	test   %ecx,%ecx
43a88e:	74 10                	je     0x43a8a0
43a890:	8b 01                	mov    (%ecx),%eax
43a892:	51                   	push   %ecx
43a893:	8b 70 08             	mov    0x8(%eax),%esi
43a896:	8b ce                	mov    %esi,%ecx
43a898:	ff 15 c4 12 45 00    	call   *0x4512c4
43a89e:	ff d6                	call   *%esi
43a8a0:	85 ff                	test   %edi,%edi
43a8a2:	79 0f                	jns    0x43a8b3
43a8a4:	57                   	push   %edi
43a8a5:	ff 15 a0 12 45 00    	call   *0x4512a0
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)