43face:	3c 7f                	cmp    $0x7f,%al
43fad0:	0f 85 22 ff ff ff    	jne    0x43f9f8
43fad6:	eb 22                	jmp    0x43fafa
43fad8:	85 ff                	test   %edi,%edi
43fada:	0f 85 73 ff ff ff    	jne    0x43fa53
43fae0:	83 f9 08             	cmp    $0x8,%ecx
43fae3:	89 7d e8             	mov    %edi,-0x18(%ebp)
43fae6:	8d 45 d8             	lea    -0x28(%ebp),%eax
43fae9:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
43faed:	33 c9                	xor    %ecx,%ecx
43faef:	66 89 08             	mov    %cx,(%eax)
43faf2:	eb c2                	jmp    0x43fab6
43faf4:	8b 4d ec             	mov    -0x14(%ebp),%ecx
43faf7:	8b 75 e8             	mov    -0x18(%ebp),%esi
43fafa:	8b 45 ac             	mov    -0x54(%ebp),%eax
43fafd:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
43fb01:	8b 78 20             	mov    0x20(%eax),%edi
43fb04:	7c 0e                	jl     0x43fb14
43fb06:	7f 04                	jg     0x43fb0c
43fb08:	85 ff                	test   %edi,%edi
43fb0a:	74 08                	je     0x43fb14
43fb0c:	3b fe                	cmp    %esi,%edi
43fb0e:	76 04                	jbe    0x43fb14
43fb10:	2b fe                	sub    %esi,%edi
43fb12:	eb 02                	jmp    0x43fb16
43fb14:	33 ff                	xor    %edi,%edi
43fb16:	8b 40 14             	mov    0x14(%eax),%eax
43fb19:	8b 5d 08             	mov    0x8(%ebp),%ebx
43fb1c:	25 c0 01 00 00       	and    $0x1c0,%eax
43fb21:	83 f8 40             	cmp    $0x40,%eax
43fb24:	0f 84 88 00 00 00    	je     0x43fbb2
43fb2a:	3d 00 01 00 00       	cmp    $0x100,%eax
43fb2f:	74 41                	je     0x43fb72
43fb31:	57                   	push   %edi
43fb32:	ff 75 1c             	push   0x1c(%ebp)
43fb35:	8d 45 b0             	lea    -0x50(%ebp),%eax
43fb38:	ff 75 14             	push   0x14(%ebp)
43fb3b:	ff 75 10             	push   0x10(%ebp)
43fb3e:	50                   	push   %eax
43fb3f:	53                   	push   %ebx
43fb40:	e8 4b fc ff ff       	call   0x43f790
43fb45:	ff 75 bc             	push   -0x44(%ebp)
43fb48:	33 ff                	xor    %edi,%edi
43fb4a:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
43fb4e:	8b 10                	mov    (%eax),%edx
43fb50:	89 55 10             	mov    %edx,0x10(%ebp)
43fb53:	8b 48 04             	mov    0x4(%eax),%ecx
43fb56:	8d 45 d8             	lea    -0x28(%ebp),%eax
43fb59:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
43fb5d:	50                   	push   %eax
43fb5e:	51                   	push   %ecx
43fb5f:	52                   	push   %edx
43fb60:	8d 45 b0             	lea    -0x50(%ebp),%eax
43fb63:	89 4d 14             	mov    %ecx,0x14(%ebp)
43fb66:	50                   	push   %eax
43fb67:	53                   	push   %ebx
43fb68:	e8 93 fc ff ff       	call   0x43f800
43fb6d:	83 c4 30             	add    $0x30,%esp
43fb70:	eb 61                	jmp    0x43fbd3
43fb72:	ff 75 bc             	push   -0x44(%ebp)
43fb75:	83 f9 08             	cmp    $0x8,%ecx
43fb78:	8d 45 d8             	lea    -0x28(%ebp),%eax
43fb7b:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
43fb7f:	50                   	push   %eax
43fb80:	ff 75 14             	push   0x14(%ebp)
43fb83:	8d 45 b0             	lea    -0x50(%ebp),%eax
43fb86:	ff 75 10             	push   0x10(%ebp)
43fb89:	50                   	push   %eax
43fb8a:	53                   	push   %ebx
43fb8b:	e8 70 fc ff ff       	call   0x43f800
43fb90:	57                   	push   %edi
43fb91:	ff 75 1c             	push   0x1c(%ebp)
43fb94:	8b 08                	mov    (%eax),%ecx
43fb96:	89 4d 10             	mov    %ecx,0x10(%ebp)
43fb99:	8b 40 04             	mov    0x4(%eax),%eax
43fb9c:	50                   	push   %eax
43fb9d:	89 45 14             	mov    %eax,0x14(%ebp)
43fba0:	8d 45 b0             	lea    -0x50(%ebp),%eax
43fba3:	51                   	push   %ecx
43fba4:	50                   	push   %eax
43fba5:	53                   	push   %ebx
43fba6:	e8 e5 fb ff ff       	call   0x43f790
43fbab:	83 c4 30             	add    $0x30,%esp
43fbae:	33 ff                	xor    %edi,%edi
43fbb0:	eb 21                	jmp    0x43fbd3
43fbb2:	ff 75 bc             	push   -0x44(%ebp)
43fbb5:	83 f9 08             	cmp    $0x8,%ecx
43fbb8:	8d 45 d8             	lea    -0x28(%ebp),%eax
43fbbb:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
43fbbf:	50                   	push   %eax
43fbc0:	ff 75 14             	push   0x14(%ebp)
43fbc3:	8d 45 b0             	lea    -0x50(%ebp),%eax
43fbc6:	ff 75 10             	push   0x10(%ebp)
43fbc9:	50                   	push   %eax
43fbca:	53                   	push   %ebx
43fbcb:	e8 30 fc ff ff       	call   0x43f800
43fbd0:	83 c4 18             	add    $0x18,%esp
43fbd3:	8b 10                	mov    (%eax),%edx
43fbd5:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
43fbd9:	8b 4d bc             	mov    -0x44(%ebp),%ecx
43fbdc:	89 55 10             	mov    %edx,0x10(%ebp)
43fbdf:	8b 40 04             	mov    0x4(%eax),%eax
43fbe2:	89 45 b8             	mov    %eax,-0x48(%ebp)
43fbe5:	89 45 14             	mov    %eax,0x14(%ebp)
43fbe8:	8d 45 d8             	lea    -0x28(%ebp),%eax
43fbeb:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
43fbef:	2b f1                	sub    %ecx,%esi
43fbf1:	56                   	push   %esi
43fbf2:	8d 04 48             	lea    (%eax,%ecx,2),%eax
43fbf5:	50                   	push   %eax
43fbf6:	ff 75 b8             	push   -0x48(%ebp)
43fbf9:	8d 45 b0             	lea    -0x50(%ebp),%eax
43fbfc:	52                   	push   %edx
43fbfd:	50                   	push   %eax
43fbfe:	53                   	push   %ebx
43fbff:	e8 fc fb ff ff       	call   0x43f800
43fc04:	8b 55 ac             	mov    -0x54(%ebp),%edx
43fc07:	8b 75 a0             	mov    -0x60(%ebp),%esi
43fc0a:	57                   	push   %edi
43fc0b:	8b 08                	mov    (%eax),%ecx
43fc0d:	ff 75 1c             	push   0x1c(%ebp)
43fc10:	89 4d 10             	mov    %ecx,0x10(%ebp)
43fc13:	8b 40 04             	mov    0x4(%eax),%eax
43fc16:	50                   	push   %eax
43fc17:	51                   	push   %ecx
43fc18:	56                   	push   %esi
43fc19:	53                   	push   %ebx
43fc1a:	89 45 14             	mov    %eax,0x14(%ebp)
43fc1d:	c7 42 20 00 00 00 00 	movl   $0x0,0x20(%edx)
43fc24:	c7 42 24 00 00 00 00 	movl   $0x0,0x24(%edx)
43fc2b:	e8 60 fb ff ff       	call   0x43f790
43fc30:	8b 45 d4             	mov    -0x2c(%ebp),%eax
43fc33:	83 c4 30             	add    $0x30,%esp
43fc36:	83 f8 10             	cmp    $0x10,%eax
43fc39:	72 3a                	jb     0x43fc75
43fc3b:	8b 55 c0             	mov    -0x40(%ebp),%edx
43fc3e:	40                   	inc    %eax
43fc3f:	8b ca                	mov    %edx,%ecx
43fc41:	3d 00 10 00 00       	cmp    $0x1000,%eax
43fc46:	72 24                	jb     0x43fc6c
43fc48:	f6 c1 1f             	test   $0x1f,%cl
43fc4b:	0f 85 93 00 00 00    	jne    0x43fce4
43fc51:	8b 52 fc             	mov    -0x4(%edx),%edx
43fc54:	3b d1                	cmp    %ecx,%edx
43fc56:	0f 83 88 00 00 00    	jae    0x43fce4
43fc5c:	2b ca                	sub    %edx,%ecx
43fc5e:	83 f9 04             	cmp    $0x4,%ecx
43fc61:	0f 82 7d 00 00 00    	jb     0x43fce4
43fc67:	83 f9 23             	cmp    $0x23,%ecx
43fc6a:	77 78                	ja     0x43fce4
43fc6c:	52                   	push   %edx
43fc6d:	e8 5e 08 0b 00       	call   0x4f04d0
43fc72:	83 c4 04             	add    $0x4,%esp
43fc75:	8b 45 ec             	mov    -0x14(%ebp),%eax
43fc78:	c7 45 d4 0f 00 00 00 	movl   $0xf,-0x2c(%ebp)
43fc7f:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
43fc86:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
43fc8a:	83 f8 08             	cmp    $0x8,%eax
43fc8d:	72 37                	jb     0x43fcc6
43fc8f:	8b 55 d8             	mov    -0x28(%ebp),%edx
43fc92:	40                   	inc    %eax
43fc93:	8b ca                	mov    %edx,%ecx
43fc95:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
43fc9a:	77 48                	ja     0x43fce4
43fc9c:	03 c0                	add    %eax,%eax
43fc9e:	3d 00 10 00 00       	cmp    $0x1000,%eax
43fca3:	72 18                	jb     0x43fcbd
43fca5:	f6 c1 1f             	test   $0x1f,%cl
43fca8:	75 3a                	jne    0x43fce4
43fcaa:	8b 52 fc             	mov    -0x4(%edx),%edx
43fcad:	3b d1                	cmp    %ecx,%edx
43fcaf:	73 33                	jae    0x43fce4
43fcb1:	2b ca                	sub    %edx,%ecx
43fcb3:	83 f9 04             	cmp    $0x4,%ecx
43fcb6:	72 2c                	jb     0x43fce4
43fcb8:	83 f9 23             	cmp    $0x23,%ecx
43fcbb:	77 27                	ja     0x43fce4
43fcbd:	52                   	push   %edx
43fcbe:	e8 0d 08 0b 00       	call   0x4f04d0
43fcc3:	83 c4 04             	add    $0x4,%esp
43fcc6:	8b c6                	mov    %esi,%eax
43fcc8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43fccb:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43fcd2:	59                   	pop    %ecx
43fcd3:	5f                   	pop    %edi
43fcd4:	5e                   	pop    %esi
43fcd5:	5b                   	pop    %ebx
43fcd6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43fcd9:	33 cd                	xor    %ebp,%ecx
43fcdb:	e8 fa 17 1a 00       	call   0x5e14da
43fce0:	8b e5                	mov    %ebp,%esp
43fce2:	5d                   	pop    %ebp
43fce3:	c3                   	ret
43fce4:	e8 46 d2 1a 00       	call   0x5ecf2f
43fce9:	e8 e2 92 ff ff       	call   0x438fd0
43fcee:	e8 dd 93 ff ff       	call   0x4390d0
43fcf3:	cc                   	int3
43fcf4:	cc                   	int3
43fcf5:	cc                   	int3
43fcf6:	cc                   	int3
43fcf7:	cc                   	int3
43fcf8:	cc                   	int3
43fcf9:	cc                   	int3
43fcfa:	cc                   	int3
43fcfb:	cc                   	int3
43fcfc:	cc                   	int3
43fcfd:	cc                   	int3
43fcfe:	cc                   	int3
43fcff:	cc                   	int3
43fd00:	55                   	push   %ebp
43fd01:	8b ec                	mov    %esp,%ebp
43fd03:	6a ff                	push   $0xffffffff
43fd05:	68 c0 bf 64 00       	push   $0x64bfc0
43fd0a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
43fd10:	50                   	push   %eax
43fd11:	83 ec 5c             	sub    $0x5c,%esp
43fd14:	a1 d4 89 72 00       	mov    0x7289d4,%eax
43fd19:	33 c5                	xor    %ebp,%eax
43fd1b:	89 45 f0             	mov    %eax,-0x10(%ebp)
43fd1e:	53                   	push   %ebx
43fd1f:	56                   	push   %esi
43fd20:	57                   	push   %edi
43fd21:	50                   	push   %eax
43fd22:	8d 45 f4             	lea    -0xc(%ebp),%eax
43fd25:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43fd2b:	8b 7d 24             	mov    0x24(%ebp),%edi
43fd2e:	8b 45 0c             	mov    0xc(%ebp),%eax
43fd31:	8b 4d 18             	mov    0x18(%ebp),%ecx
43fd34:	8b 5d 20             	mov    0x20(%ebp),%ebx
43fd37:	89 45 98             	mov    %eax,-0x68(%ebp)
43fd3a:	89 4d b0             	mov    %ecx,-0x50(%ebp)
43fd3d:	89 5d bc             	mov    %ebx,-0x44(%ebp)
43fd40:	85 ff                	test   %edi,%edi
43fd42:	74 11                	je     0x43fd55
43fd44:	8a 03                	mov    (%ebx),%al
43fd46:	3c 2b                	cmp    $0x2b,%al
43fd48:	74 04                	je     0x43fd4e
43fd4a:	3c 2d                	cmp    $0x2d,%al
43fd4c:	75 07                	jne    0x43fd55
43fd4e:	be 01 00 00 00       	mov    $0x1,%esi
43fd53:	eb 02                	jmp    0x43fd57
43fd55:	33 f6                	xor    %esi,%esi
43fd57:	8b 41 14             	mov    0x14(%ecx),%eax
43fd5a:	25 00 30 00 00       	and    $0x3000,%eax
43fd5f:	89 75 b8             	mov    %esi,-0x48(%ebp)
43fd62:	3d 00 30 00 00       	cmp    $0x3000,%eax
43fd67:	74 07                	je     0x43fd70
43fd69:	ba 34 59 6e 00       	mov    $0x6e5934,%edx
43fd6e:	eb 23                	jmp    0x43fd93
43fd70:	8d 46 02             	lea    0x2(%esi),%eax
43fd73:	ba 38 59 6e 00       	mov    $0x6e5938,%edx
43fd78:	3b c7                	cmp    %edi,%eax
43fd7a:	77 17                	ja     0x43fd93
43fd7c:	80 3c 33 30          	cmpb   $0x30,(%ebx,%esi,1)
43fd80:	75 11                	jne    0x43fd93
43fd82:	8a 4c 33 01          	mov    0x1(%ebx,%esi,1),%cl
43fd86:	80 f9 78             	cmp    $0x78,%cl
43fd89:	74 05                	je     0x43fd90
43fd8b:	80 f9 58             	cmp    $0x58,%cl
43fd8e:	75 03                	jne    0x43fd93
43fd90:	89 45 b8             	mov    %eax,-0x48(%ebp)
43fd93:	52                   	push   %edx
43fd94:	53                   	push   %ebx
43fd95:	e8 d6 67 1b 00       	call   0x5f6570
43fd9a:	89 45 a4             	mov    %eax,-0x5c(%ebp)
43fd9d:	b8 2e 00 00 00       	mov    $0x2e,%eax
43fda2:	66 89 45 b4          	mov    %ax,-0x4c(%ebp)
43fda6:	e8 41 69 1b 00       	call   0x5f66ec
43fdab:	8b 00                	mov    (%eax),%eax
43fdad:	8a 00                	mov    (%eax),%al
43fdaf:	88 45 b4             	mov    %al,-0x4c(%ebp)
43fdb2:	8d 45 b4             	lea    -0x4c(%ebp),%eax
43fdb5:	50                   	push   %eax
43fdb6:	53                   	push   %ebx
43fdb7:	e8 b4 67 1b 00       	call   0x5f6570
43fdbc:	8b 4d b0             	mov    -0x50(%ebp),%ecx
43fdbf:	83 c4 10             	add    $0x10,%esp
43fdc2:	8b d8                	mov    %eax,%ebx
43fdc4:	8d 45 a8             	lea    -0x58(%ebp),%eax
43fdc7:	50                   	push   %eax
43fdc8:	e8 b3 a8 ff ff       	call   0x43a680
43fdcd:	50                   	push   %eax
43fdce:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
43fdd5:	e8 a6 16 00 00       	call   0x441480
43fdda:	83 c4 04             	add    $0x4,%esp
43fddd:	8b f0                	mov    %eax,%esi
43fddf:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
43fde6:	8b 4d ac             	mov    -0x54(%ebp),%ecx
43fde9:	85 c9                	test   %ecx,%ecx
43fdeb:	74 11                	je     0x43fdfe
43fded:	8b 01                	mov    (%ecx),%eax
43fdef:	ff 50 08             	call   *0x8(%eax)
43fdf2:	8b c8                	mov    %eax,%ecx
43fdf4:	85 c9                	test   %ecx,%ecx
43fdf6:	74 06                	je     0x43fdfe
43fdf8:	8b 01                	mov    (%ecx),%eax
43fdfa:	6a 01                	push   $0x1
43fdfc:	ff 10                	call   *(%eax)
43fdfe:	6a 00                	push   $0x0
43fe00:	57                   	push   %edi
43fe01:	8d 4d d8             	lea    -0x28(%ebp),%ecx
43fe04:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
43fe0b:	e8 70 0d 00 00       	call   0x440b80
43fe10:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
43fe17:	8d 45 d8             	lea    -0x28(%ebp),%eax
43fe1a:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
43fe1e:	8b 4d bc             	mov    -0x44(%ebp),%ecx
43fe21:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
43fe25:	8b 16                	mov    (%esi),%edx
43fe27:	50                   	push   %eax
43fe28:	8d 04 39             	lea    (%ecx,%edi,1),%eax
43fe2b:	50                   	push   %eax
43fe2c:	51                   	push   %ecx
43fe2d:	8b ce                	mov    %esi,%ecx
43fe2f:	ff 52 2c             	call   *0x2c(%edx)
43fe32:	8b 4d b0             	mov    -0x50(%ebp),%ecx
43fe35:	8d 45 9c             	lea    -0x64(%ebp),%eax
43fe38:	50                   	push   %eax
43fe39:	e8 42 a8 ff ff       	call   0x43a680
43fe3e:	50                   	push   %eax
43fe3f:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
43fe43:	e8 c8 14 00 00       	call   0x441310
43fe48:	83 c4 04             	add    $0x4,%esp
43fe4b:	8b f0                	mov    %eax,%esi
43fe4d:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
43fe51:	8b 4d a0             	mov    -0x60(%ebp),%ecx
43fe54:	85 c9                	test   %ecx,%ecx
43fe56:	74 11                	je     0x43fe69
43fe58:	8b 01                	mov    (%ecx),%eax
43fe5a:	ff 50 08             	call   *0x8(%eax)
43fe5d:	8b c8                	mov    %eax,%ecx
43fe5f:	85 c9                	test   %ecx,%ecx
43fe61:	74 06                	je     0x43fe69
43fe63:	8b 01                	mov    (%ecx),%eax
43fe65:	6a 01                	push   $0x1
43fe67:	ff 10                	call   *(%eax)
43fe69:	8d 45 c0             	lea    -0x40(%ebp),%eax
43fe6c:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
43fe70:	50                   	push   %eax
43fe71:	8b ce                	mov    %esi,%ecx
43fe73:	e8 f8 0a 00 00       	call   0x440970
43fe78:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
43fe7c:	8b ce                	mov    %esi,%ecx
43fe7e:	8b 06                	mov    (%esi),%eax
43fe80:	ff 50 10             	call   *0x10(%eax)
43fe83:	0f b7 c0             	movzwl %ax,%eax
43fe86:	89 45 ac             	mov    %eax,-0x54(%ebp)
43fe89:	3b df                	cmp    %edi,%ebx
43fe8b:	74 1b                	je     0x43fea8
43fe8d:	8b 06                	mov    (%esi),%eax