4b78ab:	5f                   	pop    %edi
4b78ac:	80 7d eb 00          	cmpb   $0x0,-0x15(%ebp)
4b78b0:	74 79                	je     0x4b792b
4b78b2:	80 7d cf 00          	cmpb   $0x0,-0x31(%ebp)
4b78b6:	74 2b                	je     0x4b78e3
4b78b8:	6a 00                	push   $0x0
4b78ba:	ba 14 00 00 00       	mov    $0x14,%edx
4b78bf:	a1 44 b2 6a 00       	mov    0x6ab244,%eax
4b78c4:	8b 08                	mov    (%eax),%ecx
4b78c6:	ff 91 80 00 00 00    	call   *0x80(%ecx)
4b78cc:	f7 d8                	neg    %eax
4b78ce:	40                   	inc    %eax
4b78cf:	d1 f8                	sar    $1,%eax
4b78d1:	79 03                	jns    0x4b78d6
4b78d3:	83 d0 00             	adc    $0x0,%eax
4b78d6:	50                   	push   %eax
4b78d7:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax
4b78dd:	50                   	push   %eax
4b78de:	e8 95 03 f5 ff       	call   0x407c78
4b78e3:	80 7d db 01          	cmpb   $0x1,-0x25(%ebp)
4b78e7:	75 14                	jne    0x4b78fd
4b78e9:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
4b78ef:	03 45 df             	add    -0x21(%ebp),%eax
4b78f2:	83 c0 02             	add    $0x2,%eax
4b78f5:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
4b78fb:	eb 46                	jmp    0x4b7943
4b78fd:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
4b7903:	03 85 64 ff ff ff    	add    -0x9c(%ebp),%eax
4b7909:	8b 55 e3             	mov    -0x1d(%ebp),%edx
4b790c:	2b c2                	sub    %edx,%eax
4b790e:	83 e8 02             	sub    $0x2,%eax
4b7911:	2b 45 c4             	sub    -0x3c(%ebp),%eax
4b7914:	d1 f8                	sar    $1,%eax
4b7916:	79 03                	jns    0x4b791b
4b7918:	83 d0 00             	adc    $0x0,%eax
4b791b:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
4b7921:	03 c2                	add    %edx,%eax
4b7923:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
4b7929:	eb 18                	jmp    0x4b7943
4b792b:	8b 45 f8             	mov    -0x8(%ebp),%eax
4b792e:	8b 40 0c             	mov    0xc(%eax),%eax
4b7931:	03 85 58 ff ff ff    	add    -0xa8(%ebp),%eax
4b7937:	8b 55 f8             	mov    -0x8(%ebp),%edx
4b793a:	2b 42 04             	sub    0x4(%edx),%eax
4b793d:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
4b7943:	80 7d e8 00          	cmpb   $0x0,-0x18(%ebp)
4b7947:	74 6e                	je     0x4b79b7
4b7949:	8b 95 60 ff ff ff    	mov    -0xa0(%ebp),%edx
4b794f:	2b 95 58 ff ff ff    	sub    -0xa8(%ebp),%edx
4b7955:	8b 45 df             	mov    -0x21(%ebp),%eax
4b7958:	2b d0                	sub    %eax,%edx
4b795a:	d1 fa                	sar    $1,%edx
4b795c:	79 03                	jns    0x4b7961
4b795e:	83 d2 00             	adc    $0x0,%edx
4b7961:	01 95 58 ff ff ff    	add    %edx,-0xa8(%ebp)
4b7967:	8b 8d 64 ff ff ff    	mov    -0x9c(%ebp),%ecx
4b796d:	2b 8d 5c ff ff ff    	sub    -0xa4(%ebp),%ecx
4b7973:	8b 55 e3             	mov    -0x1d(%ebp),%edx
4b7976:	2b ca                	sub    %edx,%ecx
4b7978:	d1 f9                	sar    $1,%ecx
4b797a:	79 03                	jns    0x4b797f
4b797c:	83 d1 00             	adc    $0x0,%ecx
4b797f:	01 8d 5c ff ff ff    	add    %ecx,-0xa4(%ebp)
4b7985:	8b 8d 58 ff ff ff    	mov    -0xa8(%ebp),%ecx
4b798b:	03 c8                	add    %eax,%ecx
4b798d:	89 8d 60 ff ff ff    	mov    %ecx,-0xa0(%ebp)
4b7993:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
4b7999:	03 c2                	add    %edx,%eax
4b799b:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
4b79a1:	8d 45 98             	lea    -0x68(%ebp),%eax
4b79a4:	50                   	push   %eax
4b79a5:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
4b79ab:	8b 55 fc             	mov    -0x4(%ebp),%edx
4b79ae:	8b c7                	mov    %edi,%eax
4b79b0:	8b 18                	mov    (%eax),%ebx
4b79b2:	ff 53 5c             	call   *0x5c(%ebx)
4b79b5:	eb 23                	jmp    0x4b79da
4b79b7:	80 7d eb 00          	cmpb   $0x0,-0x15(%ebp)
4b79bb:	75 1d                	jne    0x4b79da
4b79bd:	80 7b 3c 00          	cmpb   $0x0,0x3c(%ebx)
4b79c1:	74 17                	je     0x4b79da
4b79c3:	8d 45 98             	lea    -0x68(%ebp),%eax
4b79c6:	50                   	push   %eax
4b79c7:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
4b79cd:	8b 55 fc             	mov    -0x4(%ebp),%edx
4b79d0:	a1 44 b2 6a 00       	mov    0x6ab244,%eax
4b79d5:	8b 18                	mov    (%eax),%ebx
4b79d7:	ff 53 34             	call   *0x34(%ebx)
4b79da:	33 c0                	xor    %eax,%eax
4b79dc:	5a                   	pop    %edx
4b79dd:	59                   	pop    %ecx
4b79de:	59                   	pop    %ecx
4b79df:	64 89 10             	mov    %edx,%fs:(%eax)
4b79e2:	68 f7 79 4b 00       	push   $0x4b79f7
4b79e7:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4b79ea:	e8 79 ce f4 ff       	call   0x404868
4b79ef:	c3                   	ret
4b79f0:	e9 17 c8 f4 ff       	jmp    0x40420c
4b79f5:	eb f0                	jmp    0x4b79e7
4b79f7:	5f                   	pop    %edi
4b79f8:	5e                   	pop    %esi
4b79f9:	5b                   	pop    %ebx
4b79fa:	8b e5                	mov    %ebp,%esp
4b79fc:	5d                   	pop    %ebp
4b79fd:	c2 0c 00             	ret    $0xc
4b7a00:	53                   	push   %ebx
4b7a01:	56                   	push   %esi
4b7a02:	84 d2                	test   %dl,%dl
4b7a04:	74 08                	je     0x4b7a0e
4b7a06:	83 c4 f0             	add    $0xfffffff0,%esp
4b7a09:	e8 ce c3 f4 ff       	call   0x403ddc
4b7a0e:	8b da                	mov    %edx,%ebx
4b7a10:	8b f0                	mov    %eax,%esi
4b7a12:	33 d2                	xor    %edx,%edx
4b7a14:	8b c6                	mov    %esi,%eax
4b7a16:	e8 fd e8 ff ff       	call   0x4b6318
4b7a1b:	66 8b 46 64          	mov    0x64(%esi),%ax
4b7a1f:	66 0b 05 44 7a 4b 00 	or     0x4b7a44,%ax
4b7a26:	66 89 46 64          	mov    %ax,0x64(%esi)
4b7a2a:	8b c6                	mov    %esi,%eax
4b7a2c:	84 db                	test   %bl,%bl
4b7a2e:	74 0f                	je     0x4b7a3f
4b7a30:	e8 ff c3 f4 ff       	call   0x403e34
4b7a35:	64 8f 05 00 00 00 00 	pop    %fs:0x0
4b7a3c:	83 c4 0c             	add    $0xc,%esp
4b7a3f:	8b c6                	mov    %esi,%eax
4b7a41:	5e                   	pop    %esi
4b7a42:	5b                   	pop    %ebx
4b7a43:	c3                   	ret
4b7a44:	81 00 00 00 f6 40    	addl   $0x40f60000,(%eax)
4b7a4a:	64 20 0f             	and    %cl,%fs:(%edi)
4b7a4d:	95                   	xchg   %eax,%ebp
4b7a4e:	c0 c3 53             	rol    $0x53,%bl
4b7a51:	8b d8                	mov    %eax,%ebx
4b7a53:	f6 43 64 20          	testb  $0x20,0x64(%ebx)
4b7a57:	0f 95 c0             	setne  %al
4b7a5a:	3a d0                	cmp    %al,%dl
4b7a5c:	74 2d                	je     0x4b7a8b
4b7a5e:	84 d2                	test   %dl,%dl
4b7a60:	74 10                	je     0x4b7a72
4b7a62:	66 a1 90 7a 4b 00    	mov    0x4b7a90,%ax
4b7a68:	66 0b 43 64          	or     0x64(%ebx),%ax
4b7a6c:	66 89 43 64          	mov    %ax,0x64(%ebx)
4b7a70:	eb 10                	jmp    0x4b7a82
4b7a72:	66 a1 90 7a 4b 00    	mov    0x4b7a90,%ax
4b7a78:	f7 d0                	not    %eax
4b7a7a:	66 23 43 64          	and    0x64(%ebx),%ax
4b7a7e:	66 89 43 64          	mov    %ax,0x64(%ebx)
4b7a82:	b2 01                	mov    $0x1,%dl
4b7a84:	8b c3                	mov    %ebx,%eax
4b7a86:	8b 08                	mov    (%eax),%ecx
4b7a88:	ff 51 30             	call   *0x30(%ecx)
4b7a8b:	5b                   	pop    %ebx
4b7a8c:	c3                   	ret
4b7a8d:	00 00                	add    %al,(%eax)
4b7a8f:	00 20                	add    %ah,(%eax)
4b7a91:	00 00                	add    %al,(%eax)
4b7a93:	00 53 56             	add    %dl,0x56(%ebx)
4b7a96:	84 d2                	test   %dl,%dl
4b7a98:	74 08                	je     0x4b7aa2
4b7a9a:	83 c4 f0             	add    $0xfffffff0,%esp
4b7a9d:	e8 3a c3 f4 ff       	call   0x403ddc
4b7aa2:	8b da                	mov    %edx,%ebx
4b7aa4:	8b f0                	mov    %eax,%esi
4b7aa6:	33 d2                	xor    %edx,%edx
4b7aa8:	8b c6                	mov    %esi,%eax
4b7aaa:	e8 15 b3 fb ff       	call   0x472dc4
4b7aaf:	c7 86 b8 00 00 00 ff 	movl   $0xffffffff,0xb8(%esi)
4b7ab6:	ff ff ff
4b7ab9:	8b c6                	mov    %esi,%eax
4b7abb:	84 db                	test   %bl,%bl
4b7abd:	74 0f                	je     0x4b7ace
4b7abf:	e8 70 c3 f4 ff       	call   0x403e34
4b7ac4:	64 8f 05 00 00 00 00 	pop    %fs:0x0
4b7acb:	83 c4 0c             	add    $0xc,%esp
4b7ace:	8b c6                	mov    %esi,%eax
4b7ad0:	5e                   	pop    %esi
4b7ad1:	5b                   	pop    %ebx
4b7ad2:	c3                   	ret
4b7ad3:	90                   	nop
4b7ad4:	a1 3c 3f 4b 00       	mov    0x4b3f3c,%eax
4b7ad9:	c3                   	ret
4b7ada:	8b c0                	mov    %eax,%eax
4b7adc:	83 fa ff             	cmp    $0xffffffff,%edx
4b7adf:	7d 03                	jge    0x4b7ae4
4b7ae1:	83 ca ff             	or     $0xffffffff,%edx
4b7ae4:	3b 90 b8 00 00 00    	cmp    0xb8(%eax),%edx
4b7aea:	74 0d                	je     0x4b7af9
4b7aec:	89 90 b8 00 00 00    	mov    %edx,0xb8(%eax)
4b7af2:	b2 01                	mov    $0x1,%dl
4b7af4:	8b 08                	mov    (%eax),%ecx
4b7af6:	ff 51 30             	call   *0x30(%ecx)
4b7af9:	c3                   	ret
4b7afa:	8b c0                	mov    %eax,%eax
4b7afc:	55                   	push   %ebp
4b7afd:	8b ec                	mov    %esp,%ebp
4b7aff:	51                   	push   %ecx
4b7b00:	53                   	push   %ebx
4b7b01:	56                   	push   %esi
4b7b02:	57                   	push   %edi
4b7b03:	8b f9                	mov    %ecx,%edi
4b7b05:	89 55 fc             	mov    %edx,-0x4(%ebp)
4b7b08:	8b f0                	mov    %eax,%esi
4b7b0a:	8b 46 1c             	mov    0x1c(%esi),%eax
4b7b0d:	8b 98 b8 00 00 00    	mov    0xb8(%eax),%ebx
4b7b13:	85 db                	test   %ebx,%ebx
4b7b15:	7d 54                	jge    0x4b7b6b
4b7b17:	8b c6                	mov    %esi,%eax
4b7b19:	8b 10                	mov    (%eax),%edx
4b7b1b:	ff 52 50             	call   *0x50(%edx)
4b7b1e:	84 c0                	test   %al,%al
4b7b20:	75 16                	jne    0x4b7b38
4b7b22:	ba 23 00 00 00       	mov    $0x23,%edx
4b7b27:	a1 44 b2 6a 00       	mov    0x6ab244,%eax
4b7b2c:	8b 08                	mov    (%eax),%ecx
4b7b2e:	ff 91 80 00 00 00    	call   *0x80(%ecx)
4b7b34:	8b d8                	mov    %eax,%ebx
4b7b36:	eb 14                	jmp    0x4b7b4c
4b7b38:	ba 32 00 00 00       	mov    $0x32,%edx
4b7b3d:	a1 44 b2 6a 00       	mov    0x6ab244,%eax
4b7b42:	8b 08                	mov    (%eax),%ecx
4b7b44:	ff 91 80 00 00 00    	call   *0x80(%ecx)
4b7b4a:	8b d8                	mov    %eax,%ebx
4b7b4c:	85 db                	test   %ebx,%ebx
4b7b4e:	7d 12                	jge    0x4b7b62
4b7b50:	8b 45 08             	mov    0x8(%ebp),%eax
4b7b53:	50                   	push   %eax
4b7b54:	8b cf                	mov    %edi,%ecx
4b7b56:	8b 55 fc             	mov    -0x4(%ebp),%edx
4b7b59:	8b c6                	mov    %esi,%eax
4b7b5b:	e8 d8 b2 fb ff       	call   0x472e38
4b7b60:	eb 26                	jmp    0x4b7b88
4b7b62:	89 1f                	mov    %ebx,(%edi)
4b7b64:	8b 45 08             	mov    0x8(%ebp),%eax
4b7b67:	89 18                	mov    %ebx,(%eax)
4b7b69:	eb 1d                	jmp    0x4b7b88
4b7b6b:	8b c6                	mov    %esi,%eax
4b7b6d:	8b 10                	mov    (%eax),%edx
4b7b6f:	ff 52 50             	call   *0x50(%edx)
4b7b72:	84 c0                	test   %al,%al
4b7b74:	75 0b                	jne    0x4b7b81
4b7b76:	8b 45 08             	mov    0x8(%ebp),%eax
4b7b79:	89 18                	mov    %ebx,(%eax)
4b7b7b:	33 c0                	xor    %eax,%eax
4b7b7d:	89 07                	mov    %eax,(%edi)
4b7b7f:	eb 07                	jmp    0x4b7b88
4b7b81:	89 1f                	mov    %ebx,(%edi)
4b7b83:	8b 45 08             	mov    0x8(%ebp),%eax
4b7b86:	89 18                	mov    %ebx,(%eax)
4b7b88:	5f                   	pop    %edi
4b7b89:	5e                   	pop    %esi
4b7b8a:	5b                   	pop    %ebx
4b7b8b:	59                   	pop    %ecx
4b7b8c:	5d                   	pop    %ebp
4b7b8d:	c2 04 00             	ret    $0x4
4b7b90:	53                   	push   %ebx
4b7b91:	56                   	push   %esi
4b7b92:	8b f0                	mov    %eax,%esi
4b7b94:	8b c6                	mov    %esi,%eax
4b7b96:	e8 35 c9 fb ff       	call   0x4744d0
4b7b9b:	8b d8                	mov    %eax,%ebx
4b7b9d:	84 db                	test   %bl,%bl
4b7b9f:	75 18                	jne    0x4b7bb9
4b7ba1:	8b 46 24             	mov    0x24(%esi),%eax
4b7ba4:	e8 bf df ff ff       	call   0x4b5b68
4b7ba9:	25 04 20 00 00       	and    $0x2004,%eax
4b7bae:	3d 04 20 00 00       	cmp    $0x2004,%eax
4b7bb3:	74 04                	je     0x4b7bb9
4b7bb5:	33 c0                	xor    %eax,%eax
4b7bb7:	eb 02                	jmp    0x4b7bbb
4b7bb9:	b0 01                	mov    $0x1,%al
4b7bbb:	8b d8                	mov    %eax,%ebx
4b7bbd:	8b c3                	mov    %ebx,%eax
4b7bbf:	5e                   	pop    %esi
4b7bc0:	5b                   	pop    %ebx
4b7bc1:	c3                   	ret
4b7bc2:	8b c0                	mov    %eax,%eax
4b7bc4:	53                   	push   %ebx
4b7bc5:	56                   	push   %esi
4b7bc6:	8b f0                	mov    %eax,%esi
4b7bc8:	8b c6                	mov    %esi,%eax
4b7bca:	e8 19 c9 fb ff       	call   0x4744e8
4b7bcf:	8b d8                	mov    %eax,%ebx
4b7bd1:	84 db                	test   %bl,%bl
4b7bd3:	75 18                	jne    0x4b7bed
4b7bd5:	8b 46 24             	mov    0x24(%esi),%eax
4b7bd8:	e8 8b df ff ff       	call   0x4b5b68
4b7bdd:	25 04 20 00 00       	and    $0x2004,%eax
4b7be2:	3d 04 20 00 00       	cmp    $0x2004,%eax
4b7be7:	74 04                	je     0x4b7bed
4b7be9:	33 c0                	xor    %eax,%eax
4b7beb:	eb 02                	jmp    0x4b7bef
4b7bed:	b0 01                	mov    $0x1,%al
4b7bef:	8b d8                	mov    %eax,%ebx
4b7bf1:	8b c3                	mov    %ebx,%eax
4b7bf3:	5e                   	pop    %esi
4b7bf4:	5b                   	pop    %ebx
4b7bf5:	c3                   	ret
4b7bf6:	8b c0                	mov    %eax,%eax
4b7bf8:	55                   	push   %ebp
4b7bf9:	8b ec                	mov    %esp,%ebp
4b7bfb:	83 c4 c0             	add    $0xffffffc0,%esp
4b7bfe:	53                   	push   %ebx
4b7bff:	56                   	push   %esi
4b7c00:	57                   	push   %edi
4b7c01:	8b f9                	mov    %ecx,%edi
4b7c03:	89 55 fc             	mov    %edx,-0x4(%ebp)
4b7c06:	8b d8                	mov    %eax,%ebx
4b7c08:	8b 73 1c             	mov    0x1c(%ebx),%esi
4b7c0b:	83 be b8 00 00 00 00 	cmpl   $0x0,0xb8(%esi)
4b7c12:	0f 84 f2 00 00 00    	je     0x4b7d0a
4b7c18:	8d 45 d0             	lea    -0x30(%ebp),%eax
4b7c1b:	33 c9                	xor    %ecx,%ecx
4b7c1d:	ba 28 00 00 00       	mov    $0x28,%edx
4b7c22:	e8 19 b6 f4 ff       	call   0x403240
4b7c27:	8b 43 24             	mov    0x24(%ebx),%eax
4b7c2a:	e8 39 df ff ff       	call   0x4b5b68
4b7c2f:	89 45 d0             	mov    %eax,-0x30(%ebp)
4b7c32:	8b c3                	mov    %ebx,%eax
4b7c34:	8b 10                	mov    (%eax),%edx
4b7c36:	ff 52 50             	call   *0x50(%edx)
4b7c39:	83 e0 7f             	and    $0x7f,%eax
4b7c3c:	8b 04 85 f8 b4 68 00 	mov    0x68b4f8(,%eax,4),%eax
4b7c43:	f6 46 1c 10          	testb  $0x10,0x1c(%esi)
4b7c47:	0f 95 c2             	setne  %dl
4b7c4a:	83 e2 7f             	and    $0x7f,%edx
4b7c4d:	0b 04 95 00 b5 68 00 	or     0x68b500(,%edx,4),%eax
4b7c54:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4b7c57:	8a 86 b0 00 00 00    	mov    0xb0(%esi),%al
4b7c5d:	34 01                	xor    $0x1,%al
4b7c5f:	88 45 d8             	mov    %al,-0x28(%ebp)
4b7c62:	8a 45 0c             	mov    0xc(%ebp),%al
4b7c65:	88 45 d9             	mov    %al,-0x27(%ebp)
4b7c68:	c6 45 db 00          	movb   $0x0,-0x25(%ebp)
4b7c6c:	c6 45 dc 00          	movb   $0x0,-0x24(%ebp)
4b7c70:	33 c0                	xor    %eax,%eax
4b7c72:	89 45 e0             	mov    %eax,-0x20(%ebp)
4b7c75:	33 c0                	xor    %eax,%eax
4b7c77:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4b7c7a:	8b 43 24             	mov    0x24(%ebx),%eax
4b7c7d:	80 b8 a4 00 00 00 01 	cmpb   $0x1,0xa4(%eax)
4b7c84:	0f 94 c0             	sete   %al
4b7c87:	88 45 e8             	mov    %al,-0x18(%ebp)
4b7c8a:	8b c3                	mov    %ebx,%eax
4b7c8c:	8b 10                	mov    (%eax),%edx
4b7c8e:	ff 52 50             	call   *0x50(%edx)
4b7c91:	84 c0                	test   %al,%al
4b7c93:	75 0a                	jne    0x4b7c9f
4b7c95:	8b c3                	mov    %ebx,%eax
4b7c97:	e8 88 df ff ff       	call   0x4b5c24