43ba5e:	50                   	push   %eax
43ba5f:	e8 96 01 00 00       	call   0x43bbfa
43ba64:	83 c4 10             	add    $0x10,%esp
43ba67:	eb 1a                	jmp    0x43ba83
43ba69:	85 c0                	test   %eax,%eax
43ba6b:	75 09                	jne    0x43ba76
43ba6d:	8b 85 94 f8 ff ff    	mov    -0x76c(%ebp),%eax
43ba73:	48                   	dec    %eax
43ba74:	eb 13                	jmp    0x43ba89
43ba76:	04 30                	add    $0x30,%al
43ba78:	8d 77 01             	lea    0x1(%edi),%esi
43ba7b:	88 07                	mov    %al,(%edi)
43ba7d:	89 b5 b4 f8 ff ff    	mov    %esi,-0x74c(%ebp)
43ba83:	8b 85 94 f8 ff ff    	mov    -0x76c(%ebp),%eax
43ba89:	8b 8d 80 f8 ff ff    	mov    -0x780(%ebp),%ecx
43ba8f:	89 41 04             	mov    %eax,0x4(%ecx)
43ba92:	8b 8d 88 f8 ff ff    	mov    -0x778(%ebp),%ecx
43ba98:	85 c0                	test   %eax,%eax
43ba9a:	78 0a                	js     0x43baa6
43ba9c:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
43baa2:	77 02                	ja     0x43baa6
43baa4:	03 c8                	add    %eax,%ecx
43baa6:	8b 45 1c             	mov    0x1c(%ebp),%eax
43baa9:	48                   	dec    %eax
43baaa:	3b c1                	cmp    %ecx,%eax
43baac:	72 02                	jb     0x43bab0
43baae:	8b c1                	mov    %ecx,%eax
43bab0:	03 85 84 f8 ff ff    	add    -0x77c(%ebp),%eax
43bab6:	89 85 88 f8 ff ff    	mov    %eax,-0x778(%ebp)
43babc:	3b f0                	cmp    %eax,%esi
43babe:	0f 84 d3 00 00 00    	je     0x43bb97
43bac4:	8b 85 2c fe ff ff    	mov    -0x1d4(%ebp),%eax
43baca:	85 c0                	test   %eax,%eax
43bacc:	0f 84 c5 00 00 00    	je     0x43bb97
43bad2:	33 ff                	xor    %edi,%edi
43bad4:	8b f0                	mov    %eax,%esi
43bad6:	33 c9                	xor    %ecx,%ecx
43bad8:	8b 84 8d 30 fe ff ff 	mov    -0x1d0(%ebp,%ecx,4),%eax
43badf:	ba 00 ca 9a 3b       	mov    $0x3b9aca00,%edx
43bae4:	f7 e2                	mul    %edx
43bae6:	03 c7                	add    %edi,%eax
43bae8:	89 84 8d 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%ecx,4)
43baef:	83 d2 00             	adc    $0x0,%edx
43baf2:	41                   	inc    %ecx
43baf3:	8b fa                	mov    %edx,%edi
43baf5:	3b ce                	cmp    %esi,%ecx
43baf7:	75 df                	jne    0x43bad8
43baf9:	8b b5 b4 f8 ff ff    	mov    -0x74c(%ebp),%esi
43baff:	85 ff                	test   %edi,%edi
43bb01:	74 40                	je     0x43bb43
43bb03:	8b 85 2c fe ff ff    	mov    -0x1d4(%ebp),%eax
43bb09:	83 f8 73             	cmp    $0x73,%eax
43bb0c:	73 0f                	jae    0x43bb1d
43bb0e:	89 bc 85 30 fe ff ff 	mov    %edi,-0x1d0(%ebp,%eax,4)
43bb15:	ff 85 2c fe ff ff    	incl   -0x1d4(%ebp)
43bb1b:	eb 26                	jmp    0x43bb43
43bb1d:	33 c0                	xor    %eax,%eax
43bb1f:	50                   	push   %eax
43bb20:	89 85 9c f6 ff ff    	mov    %eax,-0x964(%ebp)
43bb26:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
43bb2c:	8d 85 a0 f6 ff ff    	lea    -0x960(%ebp),%eax
43bb32:	50                   	push   %eax
43bb33:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
43bb39:	53                   	push   %ebx
43bb3a:	50                   	push   %eax
43bb3b:	e8 ba 00 00 00       	call   0x43bbfa
43bb40:	83 c4 10             	add    $0x10,%esp
43bb43:	8d 85 5c fc ff ff    	lea    -0x3a4(%ebp),%eax
43bb49:	50                   	push   %eax
43bb4a:	8d 85 2c fe ff ff    	lea    -0x1d4(%ebp),%eax
43bb50:	50                   	push   %eax
43bb51:	e8 5a e8 ff ff       	call   0x43a3b0
43bb56:	59                   	pop    %ecx
43bb57:	59                   	pop    %ecx
43bb58:	8b 8d 88 f8 ff ff    	mov    -0x778(%ebp),%ecx
43bb5e:	6a 08                	push   $0x8
43bb60:	5f                   	pop    %edi
43bb61:	2b ce                	sub    %esi,%ecx
43bb63:	33 d2                	xor    %edx,%edx
43bb65:	f7 b5 8c f8 ff ff    	divl   -0x774(%ebp)
43bb6b:	80 c2 30             	add    $0x30,%dl
43bb6e:	3b cf                	cmp    %edi,%ecx
43bb70:	72 03                	jb     0x43bb75
43bb72:	88 14 37             	mov    %dl,(%edi,%esi,1)
43bb75:	4f                   	dec    %edi
43bb76:	83 ff ff             	cmp    $0xffffffff,%edi
43bb79:	75 e8                	jne    0x43bb63
43bb7b:	83 f9 09             	cmp    $0x9,%ecx
43bb7e:	76 03                	jbe    0x43bb83
43bb80:	6a 09                	push   $0x9
43bb82:	59                   	pop    %ecx
43bb83:	03 f1                	add    %ecx,%esi
43bb85:	89 b5 b4 f8 ff ff    	mov    %esi,-0x74c(%ebp)
43bb8b:	3b b5 88 f8 ff ff    	cmp    -0x778(%ebp),%esi
43bb91:	0f 85 2d ff ff ff    	jne    0x43bac4
43bb97:	c6 06 00             	movb   $0x0,(%esi)
43bb9a:	eb 2a                	jmp    0x43bbc6
43bb9c:	68 58 34 46 00       	push   $0x463458
43bba1:	eb 13                	jmp    0x43bbb6
43bba3:	68 50 34 46 00       	push   $0x463450
43bba8:	eb 0c                	jmp    0x43bbb6
43bbaa:	68 48 34 46 00       	push   $0x463448
43bbaf:	eb 05                	jmp    0x43bbb6
43bbb1:	68 40 34 46 00       	push   $0x463440
43bbb6:	ff 75 1c             	push   0x1c(%ebp)
43bbb9:	53                   	push   %ebx
43bbba:	e8 e3 95 ff ff       	call   0x4351a2
43bbbf:	83 c4 0c             	add    $0xc,%esp
43bbc2:	85 c0                	test   %eax,%eax
43bbc4:	75 27                	jne    0x43bbed
43bbc6:	80 bd 74 f8 ff ff 00 	cmpb   $0x0,-0x78c(%ebp)
43bbcd:	5f                   	pop    %edi
43bbce:	5e                   	pop    %esi
43bbcf:	5b                   	pop    %ebx
43bbd0:	74 0d                	je     0x43bbdf
43bbd2:	8d 85 6c f8 ff ff    	lea    -0x794(%ebp),%eax
43bbd8:	50                   	push   %eax
43bbd9:	e8 d0 0a 00 00       	call   0x43c6ae
43bbde:	59                   	pop    %ecx
43bbdf:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43bbe2:	33 cd                	xor    %ebp,%ecx
43bbe4:	e8 4d 22 ff ff       	call   0x42de36
43bbe9:	8b e5                	mov    %ebp,%esp
43bbeb:	5d                   	pop    %ebp
43bbec:	c3                   	ret
43bbed:	33 c0                	xor    %eax,%eax
43bbef:	50                   	push   %eax
43bbf0:	50                   	push   %eax
43bbf1:	50                   	push   %eax
43bbf2:	50                   	push   %eax
43bbf3:	50                   	push   %eax
43bbf4:	e8 91 81 ff ff       	call   0x433d8a
43bbf9:	cc                   	int3
43bbfa:	8b ff                	mov    %edi,%edi
43bbfc:	55                   	push   %ebp
43bbfd:	8b ec                	mov    %esp,%ebp
43bbff:	56                   	push   %esi
43bc00:	8b 75 14             	mov    0x14(%ebp),%esi
43bc03:	85 f6                	test   %esi,%esi
43bc05:	75 04                	jne    0x43bc0b
43bc07:	33 c0                	xor    %eax,%eax
43bc09:	eb 6d                	jmp    0x43bc78
43bc0b:	8b 45 08             	mov    0x8(%ebp),%eax
43bc0e:	85 c0                	test   %eax,%eax
43bc10:	75 13                	jne    0x43bc25
43bc12:	e8 1f 82 ff ff       	call   0x433e36
43bc17:	6a 16                	push   $0x16
43bc19:	5e                   	pop    %esi
43bc1a:	89 30                	mov    %esi,(%eax)
43bc1c:	e8 59 81 ff ff       	call   0x433d7a
43bc21:	8b c6                	mov    %esi,%eax
43bc23:	eb 53                	jmp    0x43bc78
43bc25:	57                   	push   %edi
43bc26:	8b 7d 10             	mov    0x10(%ebp),%edi
43bc29:	85 ff                	test   %edi,%edi
43bc2b:	74 14                	je     0x43bc41
43bc2d:	39 75 0c             	cmp    %esi,0xc(%ebp)
43bc30:	72 0f                	jb     0x43bc41
43bc32:	56                   	push   %esi
43bc33:	57                   	push   %edi
43bc34:	50                   	push   %eax
43bc35:	e8 b6 34 ff ff       	call   0x42f0f0
43bc3a:	83 c4 0c             	add    $0xc,%esp
43bc3d:	33 c0                	xor    %eax,%eax
43bc3f:	eb 36                	jmp    0x43bc77
43bc41:	ff 75 0c             	push   0xc(%ebp)
43bc44:	6a 00                	push   $0x0
43bc46:	50                   	push   %eax
43bc47:	e8 24 3a ff ff       	call   0x42f670
43bc4c:	83 c4 0c             	add    $0xc,%esp
43bc4f:	85 ff                	test   %edi,%edi
43bc51:	75 09                	jne    0x43bc5c
43bc53:	e8 de 81 ff ff       	call   0x433e36
43bc58:	6a 16                	push   $0x16
43bc5a:	eb 0c                	jmp    0x43bc68
43bc5c:	39 75 0c             	cmp    %esi,0xc(%ebp)
43bc5f:	73 13                	jae    0x43bc74
43bc61:	e8 d0 81 ff ff       	call   0x433e36
43bc66:	6a 22                	push   $0x22
43bc68:	5e                   	pop    %esi
43bc69:	89 30                	mov    %esi,(%eax)
43bc6b:	e8 0a 81 ff ff       	call   0x433d7a
43bc70:	8b c6                	mov    %esi,%eax
43bc72:	eb 03                	jmp    0x43bc77
43bc74:	6a 16                	push   $0x16
43bc76:	58                   	pop    %eax
43bc77:	5f                   	pop    %edi
43bc78:	5e                   	pop    %esi
43bc79:	5d                   	pop    %ebp
43bc7a:	c3                   	ret
43bc7b:	6a 10                	push   $0x10
43bc7d:	68 20 7f 46 00       	push   $0x467f20
43bc82:	e8 a9 2b ff ff       	call   0x42e830
43bc87:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
43bc8b:	6a 08                	push   $0x8
43bc8d:	e8 a4 c9 ff ff       	call   0x438636
43bc92:	59                   	pop    %ecx
43bc93:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43bc97:	6a 03                	push   $0x3
43bc99:	5e                   	pop    %esi
43bc9a:	89 75 e0             	mov    %esi,-0x20(%ebp)
43bc9d:	3b 35 40 b1 46 00    	cmp    0x46b140,%esi
43bca3:	74 58                	je     0x43bcfd
43bca5:	a1 44 b1 46 00       	mov    0x46b144,%eax
43bcaa:	8b 04 b0             	mov    (%eax,%esi,4),%eax
43bcad:	85 c0                	test   %eax,%eax
43bcaf:	74 49                	je     0x43bcfa
43bcb1:	8b 40 0c             	mov    0xc(%eax),%eax
43bcb4:	c1 e8 0d             	shr    $0xd,%eax
43bcb7:	a8 01                	test   $0x1,%al
43bcb9:	74 16                	je     0x43bcd1
43bcbb:	a1 44 b1 46 00       	mov    0x46b144,%eax
43bcc0:	ff 34 b0             	push   (%eax,%esi,4)
43bcc3:	e8 8b 16 00 00       	call   0x43d353
43bcc8:	59                   	pop    %ecx
43bcc9:	83 f8 ff             	cmp    $0xffffffff,%eax
43bccc:	74 03                	je     0x43bcd1
43bcce:	ff 45 e4             	incl   -0x1c(%ebp)
43bcd1:	a1 44 b1 46 00       	mov    0x46b144,%eax
43bcd6:	8b 04 b0             	mov    (%eax,%esi,4),%eax
43bcd9:	83 c0 20             	add    $0x20,%eax
43bcdc:	50                   	push   %eax
43bcdd:	ff 15 8c b1 44 00    	call   *0x44b18c
43bce3:	a1 44 b1 46 00       	mov    0x46b144,%eax
43bce8:	ff 34 b0             	push   (%eax,%esi,4)
43bceb:	e8 2a 94 ff ff       	call   0x43511a
43bcf0:	59                   	pop    %ecx
43bcf1:	a1 44 b1 46 00       	mov    0x46b144,%eax
43bcf6:	83 24 b0 00          	andl   $0x0,(%eax,%esi,4)
43bcfa:	46                   	inc    %esi
43bcfb:	eb 9d                	jmp    0x43bc9a
43bcfd:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43bd04:	e8 09 00 00 00       	call   0x43bd12
43bd09:	8b 45 e4             	mov    -0x1c(%ebp),%eax
43bd0c:	e8 65 2b ff ff       	call   0x42e876
43bd11:	c3                   	ret
43bd12:	6a 08                	push   $0x8
43bd14:	e8 65 c9 ff ff       	call   0x43867e
43bd19:	59                   	pop    %ecx
43bd1a:	c3                   	ret
43bd1b:	8b ff                	mov    %edi,%edi
43bd1d:	55                   	push   %ebp
43bd1e:	8b ec                	mov    %esp,%ebp
43bd20:	8b 4d 08             	mov    0x8(%ebp),%ecx
43bd23:	56                   	push   %esi
43bd24:	8d 71 0c             	lea    0xc(%ecx),%esi
43bd27:	8b 06                	mov    (%esi),%eax
43bd29:	24 03                	and    $0x3,%al
43bd2b:	3c 02                	cmp    $0x2,%al
43bd2d:	74 04                	je     0x43bd33
43bd2f:	33 c0                	xor    %eax,%eax
43bd31:	eb 4b                	jmp    0x43bd7e
43bd33:	8b 06                	mov    (%esi),%eax
43bd35:	a8 c0                	test   $0xc0,%al
43bd37:	74 f6                	je     0x43bd2f
43bd39:	8b 41 04             	mov    0x4(%ecx),%eax
43bd3c:	57                   	push   %edi
43bd3d:	8b 39                	mov    (%ecx),%edi
43bd3f:	2b f8                	sub    %eax,%edi
43bd41:	89 01                	mov    %eax,(%ecx)
43bd43:	83 61 08 00          	andl   $0x0,0x8(%ecx)
43bd47:	85 ff                	test   %edi,%edi
43bd49:	7e 30                	jle    0x43bd7b
43bd4b:	57                   	push   %edi
43bd4c:	50                   	push   %eax
43bd4d:	51                   	push   %ecx
43bd4e:	e8 ae b6 ff ff       	call   0x437401
43bd53:	59                   	pop    %ecx
43bd54:	50                   	push   %eax
43bd55:	e8 f3 11 00 00       	call   0x43cf4d
43bd5a:	83 c4 0c             	add    $0xc,%esp
43bd5d:	3b f8                	cmp    %eax,%edi
43bd5f:	74 0b                	je     0x43bd6c
43bd61:	6a 10                	push   $0x10
43bd63:	58                   	pop    %eax
43bd64:	f0 09 06             	lock or %eax,(%esi)
43bd67:	83 c8 ff             	or     $0xffffffff,%eax
43bd6a:	eb 11                	jmp    0x43bd7d
43bd6c:	8b 06                	mov    (%esi),%eax
43bd6e:	c1 e8 02             	shr    $0x2,%eax
43bd71:	a8 01                	test   $0x1,%al
43bd73:	74 06                	je     0x43bd7b
43bd75:	6a fd                	push   $0xfffffffd
43bd77:	58                   	pop    %eax
43bd78:	f0 21 06             	lock and %eax,(%esi)
43bd7b:	33 c0                	xor    %eax,%eax
43bd7d:	5f                   	pop    %edi
43bd7e:	5e                   	pop    %esi
43bd7f:	5d                   	pop    %ebp
43bd80:	c3                   	ret
43bd81:	8b ff                	mov    %edi,%edi
43bd83:	55                   	push   %ebp
43bd84:	8b ec                	mov    %esp,%ebp
43bd86:	56                   	push   %esi
43bd87:	8b 75 08             	mov    0x8(%ebp),%esi
43bd8a:	85 f6                	test   %esi,%esi
43bd8c:	75 09                	jne    0x43bd97
43bd8e:	56                   	push   %esi
43bd8f:	e8 3d 00 00 00       	call   0x43bdd1
43bd94:	59                   	pop    %ecx
43bd95:	eb 2e                	jmp    0x43bdc5
43bd97:	56                   	push   %esi
43bd98:	e8 7e ff ff ff       	call   0x43bd1b
43bd9d:	59                   	pop    %ecx
43bd9e:	85 c0                	test   %eax,%eax
43bda0:	74 05                	je     0x43bda7
43bda2:	83 c8 ff             	or     $0xffffffff,%eax
43bda5:	eb 1e                	jmp    0x43bdc5
43bda7:	8b 46 0c             	mov    0xc(%esi),%eax
43bdaa:	c1 e8 0b             	shr    $0xb,%eax
43bdad:	a8 01                	test   $0x1,%al
43bdaf:	74 12                	je     0x43bdc3
43bdb1:	56                   	push   %esi
43bdb2:	e8 4a b6 ff ff       	call   0x437401
43bdb7:	50                   	push   %eax
43bdb8:	e8 d6 16 00 00       	call   0x43d493
43bdbd:	59                   	pop    %ecx
43bdbe:	59                   	pop    %ecx
43bdbf:	85 c0                	test   %eax,%eax
43bdc1:	75 df                	jne    0x43bda2
43bdc3:	33 c0                	xor    %eax,%eax
43bdc5:	5e                   	pop    %esi
43bdc6:	5d                   	pop    %ebp
43bdc7:	c3                   	ret
43bdc8:	6a 01                	push   $0x1
43bdca:	e8 02 00 00 00       	call   0x43bdd1
43bdcf:	59                   	pop    %ecx
43bdd0:	c3                   	ret
43bdd1:	6a 1c                	push   $0x1c
43bdd3:	68 40 7f 46 00       	push   $0x467f40
43bdd8:	e8 53 2a ff ff       	call   0x42e830
43bddd:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
43bde1:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
43bde5:	6a 08                	push   $0x8
43bde7:	e8 4a c8 ff ff       	call   0x438636
43bdec:	59                   	pop    %ecx
43bded:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43bdf1:	8b 35 44 b1 46 00    	mov    0x46b144,%esi
43bdf7:	a1 40 b1 46 00       	mov    0x46b140,%eax
43bdfc:	8d 04 86             	lea    (%esi,%eax,4),%eax
43bdff:	89 45 d4             	mov    %eax,-0x2c(%ebp)
43be02:	8b 5d 08             	mov    0x8(%ebp),%ebx
43be05:	89 75 e0             	mov    %esi,-0x20(%ebp)
43be08:	3b f0                	cmp    %eax,%esi
43be0a:	74 74                	je     0x43be80
43be0c:	8b 3e                	mov    (%esi),%edi
43be0e:	89 7d d8             	mov    %edi,-0x28(%ebp)
43be11:	85 ff                	test   %edi,%edi
43be13:	74 56                	je     0x43be6b
43be15:	57                   	push   %edi