547d39:	0f b6 46 19          	movzbl 0x19(%esi),%eax
547d3d:	50                   	push   %eax
547d3e:	56                   	push   %esi
547d3f:	74 05                	je     0x547d46
547d41:	8b 41 1c             	mov    0x1c(%ecx),%eax
547d44:	eb 03                	jmp    0x547d49
547d46:	8b 41 10             	mov    0x10(%ecx),%eax
547d49:	ff d0                	call   *%eax
547d4b:	8b 46 14             	mov    0x14(%esi),%eax
547d4e:	83 c4 0c             	add    $0xc,%esp
547d51:	85 c0                	test   %eax,%eax
547d53:	0f 84 0d ae ff ff    	je     0x542b66
547d59:	7e 24                	jle    0x547d7f
547d5b:	ff 36                	push   (%esi)
547d5d:	e8 de a8 f9 ff       	call   0x4e2640
547d62:	50                   	push   %eax
547d63:	68 04 d0 6a 00       	push   $0x6ad004
547d68:	ff b5 9c fe ff ff    	push   -0x164(%ebp)
547d6e:	e8 3d aa ff ff       	call   0x5427b0
547d73:	8b 46 14             	mov    0x14(%esi),%eax
547d76:	83 c4 10             	add    $0x10,%esp
547d79:	89 85 94 fe ff ff    	mov    %eax,-0x16c(%ebp)
547d7f:	80 7e 18 00          	cmpb   $0x0,0x18(%esi)
547d83:	74 2a                	je     0x547daf
547d85:	8b 85 98 fe ff ff    	mov    -0x168(%ebp),%eax
547d8b:	8b 40 f0             	mov    -0x10(%eax),%eax
547d8e:	85 c0                	test   %eax,%eax
547d90:	74 19                	je     0x547dab
547d92:	8b 8d 8c fe ff ff    	mov    -0x174(%ebp),%ecx
547d98:	8d 04 80             	lea    (%eax,%eax,4),%eax
547d9b:	6a 00                	push   $0x0
547d9d:	6a 01                	push   $0x1
547d9f:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
547da2:	50                   	push   %eax
547da3:	e8 68 3c 00 00       	call   0x54ba10
547da8:	83 c4 0c             	add    $0xc,%esp
547dab:	c6 46 18 00          	movb   $0x0,0x18(%esi)
547daf:	ff 36                	push   (%esi)
547db1:	e8 ba 3b 00 00       	call   0x54b970
547db6:	8b 06                	mov    (%esi),%eax
547db8:	b9 01 00 00 00       	mov    $0x1,%ecx
547dbd:	83 c4 04             	add    $0x4,%esp
547dc0:	66 89 48 08          	mov    %cx,0x8(%eax)
547dc4:	8b 85 94 fe ff ff    	mov    -0x16c(%ebp),%eax
547dca:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
547dd1:	e9 33 bb ff ff       	jmp    0x543909
547dd6:	8b 95 98 fe ff ff    	mov    -0x168(%ebp),%edx
547ddc:	8b 9d 8c fe ff ff    	mov    -0x174(%ebp),%ebx
547de2:	8b 42 04             	mov    0x4(%edx),%eax
547de5:	ff 72 10             	push   0x10(%edx)
547de8:	8d 04 80             	lea    (%eax,%eax,4),%eax
547deb:	8d 34 c3             	lea    (%ebx,%eax,8),%esi
547dee:	8b 42 0c             	mov    0xc(%edx),%eax
547df1:	85 c0                	test   %eax,%eax
547df3:	74 23                	je     0x547e18
547df5:	8d 04 80             	lea    (%eax,%eax,4),%eax
547df8:	8d 04 c3             	lea    (%ebx,%eax,8),%eax
547dfb:	50                   	push   %eax
547dfc:	56                   	push   %esi
547dfd:	e8 7e 33 00 00       	call   0x54b180
547e02:	8b c8                	mov    %eax,%ecx
547e04:	83 c4 0c             	add    $0xc,%esp
547e07:	8b 85 98 fe ff ff    	mov    -0x168(%ebp),%eax
547e0d:	8b 40 0c             	mov    0xc(%eax),%eax
547e10:	8d 04 80             	lea    (%eax,%eax,4),%eax
547e13:	8d 34 c3             	lea    (%ebx,%eax,8),%esi
547e16:	eb 0b                	jmp    0x547e23
547e18:	56                   	push   %esi
547e19:	e8 c2 35 00 00       	call   0x54b3e0
547e1e:	83 c4 08             	add    $0x8,%esp
547e21:	8b c8                	mov    %eax,%ecx
547e23:	89 8d 94 fe ff ff    	mov    %ecx,-0x16c(%ebp)
547e29:	85 c9                	test   %ecx,%ecx
547e2b:	0f 85 4a 11 00 00    	jne    0x548f7b
547e31:	0f b6 85 60 fe ff ff 	movzbl -0x1a0(%ebp),%eax
547e38:	50                   	push   %eax
547e39:	56                   	push   %esi
547e3a:	e8 81 a0 ff ff       	call   0x541ec0
547e3f:	56                   	push   %esi
547e40:	e8 cb 3f 00 00       	call   0x54be10
547e45:	83 c4 0c             	add    $0xc,%esp
547e48:	85 c0                	test   %eax,%eax
547e4a:	0f 84 16 ad ff ff    	je     0x542b66
547e50:	68 00 88 6b 00       	push   $0x6b8800
547e55:	ff b5 9c fe ff ff    	push   -0x164(%ebp)
547e5b:	e8 50 a9 ff ff       	call   0x5427b0
547e60:	83 c4 08             	add    $0x8,%esp
547e63:	b8 12 00 00 00       	mov    $0x12,%eax
547e68:	e9 91 10 00 00       	jmp    0x548efe
547e6d:	8b 95 98 fe ff ff    	mov    -0x168(%ebp),%edx
547e73:	8d 45 f8             	lea    -0x8(%ebp),%eax
547e76:	50                   	push   %eax
547e77:	8d 45 f4             	lea    -0xc(%ebp),%eax
547e7a:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
547e81:	50                   	push   %eax
547e82:	ff 72 08             	push   0x8(%edx)
547e85:	c7 45 f8 ff ff ff ff 	movl   $0xffffffff,-0x8(%ebp)
547e8c:	ff 72 04             	push   0x4(%edx)
547e8f:	c7 45 f4 ff ff ff ff 	movl   $0xffffffff,-0xc(%ebp)
547e96:	57                   	push   %edi
547e97:	e8 34 62 fd ff       	call   0x51e0d0
547e9c:	83 c4 14             	add    $0x14,%esp
547e9f:	89 85 94 fe ff ff    	mov    %eax,-0x16c(%ebp)
547ea5:	85 c0                	test   %eax,%eax
547ea7:	74 1a                	je     0x547ec3
547ea9:	83 f8 05             	cmp    $0x5,%eax
547eac:	0f 85 4c 10 00 00    	jne    0x548efe
547eb2:	c7 85 94 fe ff ff 00 	movl   $0x0,-0x16c(%ebp)
547eb9:	00 00 00
547ebc:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
547ec3:	8b 85 98 fe ff ff    	mov    -0x168(%ebp),%eax
547ec9:	33 f6                	xor    %esi,%esi
547ecb:	8b 8d 8c fe ff ff    	mov    -0x174(%ebp),%ecx
547ed1:	8b 40 0c             	mov    0xc(%eax),%eax
547ed4:	8d 04 80             	lea    (%eax,%eax,4),%eax
547ed7:	8d 3c c1             	lea    (%ecx,%eax,8),%edi
547eda:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
547ee0:	8b 44 b5 f0          	mov    -0x10(%ebp,%esi,4),%eax
547ee4:	99                   	cltd
547ee5:	52                   	push   %edx
547ee6:	50                   	push   %eax
547ee7:	57                   	push   %edi
547ee8:	e8 23 3b 00 00       	call   0x54ba10
547eed:	46                   	inc    %esi
547eee:	83 c4 0c             	add    $0xc,%esp
547ef1:	83 c7 28             	add    $0x28,%edi
547ef4:	83 fe 03             	cmp    $0x3,%esi
547ef7:	7c e7                	jl     0x547ee0
547ef9:	8b b5 98 fe ff ff    	mov    -0x168(%ebp),%esi
547eff:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
547f05:	83 c6 14             	add    $0x14,%esi
547f08:	8b bd 4c fe ff ff    	mov    -0x1b4(%ebp),%edi
547f0e:	8b 9d 1c fe ff ff    	mov    -0x1e4(%ebp),%ebx
547f14:	e9 9b a9 ff ff       	jmp    0x5428b4
547f19:	8b 9d 98 fe ff ff    	mov    -0x168(%ebp),%ebx
547f1f:	53                   	push   %ebx
547f20:	51                   	push   %ecx
547f21:	e8 6a 41 fc ff       	call   0x50c090
547f26:	8b 53 04             	mov    0x4(%ebx),%edx
547f29:	83 c4 08             	add    $0x8,%esp
547f2c:	8b 4f 10             	mov    0x10(%edi),%ecx
547f2f:	c1 e2 04             	shl    $0x4,%edx
547f32:	89 85 88 fe ff ff    	mov    %eax,-0x178(%ebp)
547f38:	8b 43 0c             	mov    0xc(%ebx),%eax
547f3b:	83 f8 ff             	cmp    $0xffffffff,%eax
547f3e:	8b 4c 0a 04          	mov    0x4(%edx,%ecx,1),%ecx
547f42:	89 8d 70 fe ff ff    	mov    %ecx,-0x190(%ebp)
547f48:	8b 49 04             	mov    0x4(%ecx),%ecx
547f4b:	8b 19                	mov    (%ecx),%ebx
547f4d:	0f b6 4b 05          	movzbl 0x5(%ebx),%ecx
547f51:	0f 44 c1             	cmove  %ecx,%eax
547f54:	89 8d 84 fe ff ff    	mov    %ecx,-0x17c(%ebp)
547f5a:	80 7b 10 03          	cmpb   $0x3,0x10(%ebx)
547f5e:	89 85 78 fe ff ff    	mov    %eax,-0x188(%ebp)
547f64:	72 04                	jb     0x547f6a
547f66:	33 c0                	xor    %eax,%eax
547f68:	eb 1f                	jmp    0x547f89
547f6a:	8b 43 40             	mov    0x40(%ebx),%eax
547f6d:	83 38 00             	cmpl   $0x0,(%eax)
547f70:	74 12                	je     0x547f84
547f72:	83 7b 4c 00          	cmpl   $0x0,0x4c(%ebx)
547f76:	7c 0c                	jl     0x547f84
547f78:	7f 06                	jg     0x547f80
547f7a:	83 7b 48 00          	cmpl   $0x0,0x48(%ebx)
547f7e:	76 04                	jbe    0x547f84
547f80:	33 c0                	xor    %eax,%eax
547f82:	eb 05                	jmp    0x547f89
547f84:	b8 01 00 00 00       	mov    $0x1,%eax
547f89:	85 c0                	test   %eax,%eax
547f8b:	8b f1                	mov    %ecx,%esi
547f8d:	b8 98 26 6b 00       	mov    $0x6b2698,%eax
547f92:	0f 45 b5 78 fe ff ff 	cmovne -0x188(%ebp),%esi
547f99:	80 7b 0f 00          	cmpb   $0x0,0xf(%ebx)
547f9d:	75 06                	jne    0x547fa5
547f9f:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
547fa5:	83 fe 05             	cmp    $0x5,%esi
547fa8:	75 2d                	jne    0x547fd7
547faa:	50                   	push   %eax
547fab:	e8 e0 5c ff ff       	call   0x53dc90
547fb0:	83 c4 04             	add    $0x4,%esp
547fb3:	85 c0                	test   %eax,%eax
547fb5:	74 0d                	je     0x547fc4
547fb7:	53                   	push   %ebx
547fb8:	e8 53 b9 fe ff       	call   0x533910
547fbd:	83 c4 04             	add    $0x4,%esp
547fc0:	85 c0                	test   %eax,%eax
547fc2:	75 0d                	jne    0x547fd1
547fc4:	8b 85 84 fe ff ff    	mov    -0x17c(%ebp),%eax
547fca:	8b f0                	mov    %eax,%esi
547fcc:	e9 91 00 00 00       	jmp    0x548062
547fd1:	8b 8d 84 fe ff ff    	mov    -0x17c(%ebp),%ecx
547fd7:	3b f1                	cmp    %ecx,%esi
547fd9:	0f 84 7d 00 00 00    	je     0x54805c
547fdf:	83 f9 05             	cmp    $0x5,%ecx
547fe2:	74 05                	je     0x547fe9
547fe4:	83 fe 05             	cmp    $0x5,%esi
547fe7:	75 73                	jne    0x54805c
547fe9:	80 7f 4f 00          	cmpb   $0x0,0x4f(%edi)
547fed:	0f 84 ad 0f 00 00    	je     0x548fa0
547ff3:	83 bf b4 00 00 00 01 	cmpl   $0x1,0xb4(%edi)
547ffa:	0f 8f a0 0f 00 00    	jg     0x548fa0
548000:	83 f9 05             	cmp    $0x5,%ecx
548003:	75 20                	jne    0x548025
548005:	57                   	push   %edi
548006:	53                   	push   %ebx
548007:	e8 04 a4 fe ff       	call   0x532410
54800c:	83 c4 08             	add    $0x8,%esp
54800f:	89 85 94 fe ff ff    	mov    %eax,-0x16c(%ebp)
548015:	85 c0                	test   %eax,%eax
548017:	75 43                	jne    0x54805c
548019:	56                   	push   %esi
54801a:	53                   	push   %ebx
54801b:	e8 70 b3 fe ff       	call   0x533390
548020:	83 c4 08             	add    $0x8,%esp
548023:	eb 19                	jmp    0x54803e
548025:	83 f9 04             	cmp    $0x4,%ecx
548028:	75 0b                	jne    0x548035
54802a:	6a 02                	push   $0x2
54802c:	53                   	push   %ebx
54802d:	e8 5e b3 fe ff       	call   0x533390
548032:	83 c4 08             	add    $0x8,%esp
548035:	83 bd 94 fe ff ff 00 	cmpl   $0x0,-0x16c(%ebp)
54803c:	75 1e                	jne    0x54805c
54803e:	33 c0                	xor    %eax,%eax
548040:	83 fe 05             	cmp    $0x5,%esi
548043:	0f 94 c0             	sete   %al
548046:	40                   	inc    %eax
548047:	50                   	push   %eax
548048:	ff b5 70 fe ff ff    	push   -0x190(%ebp)
54804e:	e8 5d 5c fd ff       	call   0x51dcb0
548053:	83 c4 08             	add    $0x8,%esp
548056:	89 85 94 fe ff ff    	mov    %eax,-0x16c(%ebp)
54805c:	8b 85 84 fe ff ff    	mov    -0x17c(%ebp),%eax
548062:	83 bd 94 fe ff ff 00 	cmpl   $0x0,-0x16c(%ebp)
548069:	0f 44 c6             	cmove  %esi,%eax
54806c:	50                   	push   %eax
54806d:	53                   	push   %ebx
54806e:	e8 1d b3 fe ff       	call   0x533390
548073:	8b 9d 88 fe ff ff    	mov    -0x178(%ebp),%ebx
548079:	83 c4 08             	add    $0x8,%esp
54807c:	b9 02 0a 00 00       	mov    $0xa02,%ecx
548081:	66 89 4b 08          	mov    %cx,0x8(%ebx)
548085:	83 f8 06             	cmp    $0x6,%eax
548088:	75 04                	jne    0x54808e
54808a:	33 c0                	xor    %eax,%eax
54808c:	eb 07                	jmp    0x548095
54808e:	8b 04 85 3c 31 6b 00 	mov    0x6b313c(,%eax,4),%eax
548095:	50                   	push   %eax
548096:	89 43 10             	mov    %eax,0x10(%ebx)
548099:	e8 f2 5b ff ff       	call   0x53dc90
54809e:	89 43 0c             	mov    %eax,0xc(%ebx)
5480a1:	0f b6 85 60 fe ff ff 	movzbl -0x1a0(%ebp),%eax
5480a8:	50                   	push   %eax
5480a9:	53                   	push   %ebx
5480aa:	c6 43 0a 01          	movb   $0x1,0xa(%ebx)
5480ae:	e8 0d 9e ff ff       	call   0x541ec0
5480b3:	8b 85 94 fe ff ff    	mov    -0x16c(%ebp),%eax
5480b9:	83 c4 0c             	add    $0xc,%esp
5480bc:	e9 48 b8 ff ff       	jmp    0x543909
5480c1:	8b 95 98 fe ff ff    	mov    -0x168(%ebp),%edx
5480c7:	8b 42 08             	mov    0x8(%edx),%eax
5480ca:	85 c0                	test   %eax,%eax
5480cc:	74 0e                	je     0x5480dc
5480ce:	8b 9d 8c fe ff ff    	mov    -0x174(%ebp),%ebx
5480d4:	8d 04 80             	lea    (%eax,%eax,4),%eax
5480d7:	8d 04 c3             	lea    (%ebx,%eax,8),%eax
5480da:	eb 02                	jmp    0x5480de
5480dc:	33 c0                	xor    %eax,%eax
5480de:	50                   	push   %eax
5480df:	ff 72 04             	push   0x4(%edx)
5480e2:	8d 41 7c             	lea    0x7c(%ecx),%eax
5480e5:	57                   	push   %edi
5480e6:	50                   	push   %eax
5480e7:	e8 e4 10 ff ff       	call   0x5391d0
5480ec:	83 c4 10             	add    $0x10,%esp
5480ef:	e9 0f b8 ff ff       	jmp    0x543903
5480f4:	8b 95 98 fe ff ff    	mov    -0x168(%ebp),%edx
5480fa:	8b 47 10             	mov    0x10(%edi),%eax
5480fd:	8b 4a 04             	mov    0x4(%edx),%ecx
548100:	03 c9                	add    %ecx,%ecx
548102:	ff 74 c8 04          	push   0x4(%eax,%ecx,8)
548106:	e8 65 3a fd ff       	call   0x51bb70
54810b:	83 c4 04             	add    $0x4,%esp
54810e:	89 85 94 fe ff ff    	mov    %eax,-0x16c(%ebp)
548114:	85 c0                	test   %eax,%eax
548116:	0f 84 4a aa ff ff    	je     0x542b66
54811c:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
548122:	83 f8 65             	cmp    $0x65,%eax
548125:	0f 85 d9 0d 00 00    	jne    0x548f04
54812b:	c7 85 94 fe ff ff 00 	movl   $0x0,-0x16c(%ebp)
548132:	00 00 00
548135:	e9 e2 a7 ff ff       	jmp    0x54291c
54813a:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
54813e:	75 26                	jne    0x548166
548140:	ff 76 08             	push   0x8(%esi)
548143:	57                   	push   %edi
548144:	e8 47 b3 fd ff       	call   0x523490
548149:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
54814f:	83 c4 08             	add    $0x8,%esp
548152:	8b bd 4c fe ff ff    	mov    -0x1b4(%ebp),%edi
548158:	83 c6 14             	add    $0x14,%esi
54815b:	8b 9d 1c fe ff ff    	mov    -0x1e4(%ebp),%ebx
548161:	e9 4e a7 ff ff       	jmp    0x5428b4
548166:	8b 46 08             	mov    0x8(%esi),%eax
548169:	8b bd 4c fe ff ff    	mov    -0x1b4(%ebp),%edi
54816f:	40                   	inc    %eax
548170:	33 81 98 00 00 00    	xor    0x98(%ecx),%eax
548176:	8b 9d 1c fe ff ff    	mov    -0x1e4(%ebp),%ebx
54817c:	83 e0 03             	and    $0x3,%eax
54817f:	31 81 98 00 00 00    	xor    %eax,0x98(%ecx)
548185:	83 c6 14             	add    $0x14,%esi
548188:	e9 27 a7 ff ff       	jmp    0x5428b4
54818d:	8b 85 9c fe ff ff    	mov    -0x164(%ebp),%eax
548193:	8b 4e 04             	mov    0x4(%esi),%ecx
548196:	8b bd 4c fe ff ff    	mov    -0x1b4(%ebp),%edi
54819c:	8b 9d 1c fe ff ff    	mov    -0x1e4(%ebp),%ebx
5481a2:	8b 40 60             	mov    0x60(%eax),%eax
5481a5:	8b 04 88             	mov    (%eax,%ecx,4),%eax
5481a8:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
5481ae:	8b 40 28             	mov    0x28(%eax),%eax
5481b1:	80 48 01 40          	orb    $0x40,0x1(%eax)
5481b5:	83 c6 14             	add    $0x14,%esi
5481b8:	e9 f7 a6 ff ff       	jmp    0x5428b4
5481bd:	8b 85 9c fe ff ff    	mov    -0x164(%ebp),%eax
5481c3:	8b 4e 04             	mov    0x4(%esi),%ecx
5481c6:	8b bd 4c fe ff ff    	mov    -0x1b4(%ebp),%edi
5481cc:	8b 9d 1c fe ff ff    	mov    -0x1e4(%ebp),%ebx
5481d2:	8b 40 60             	mov    0x60(%eax),%eax
5481d5:	8b 04 88             	mov    (%eax,%ecx,4),%eax
5481d8:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
5481de:	8b 40 28             	mov    0x28(%eax),%eax
5481e1:	80 60 01 bf          	andb   $0xbf,0x1(%eax)
5481e5:	83 c6 14             	add    $0x14,%esi
5481e8:	e9 c7 a6 ff ff       	jmp    0x5428b4
5481ed:	8a 46 0c             	mov    0xc(%esi),%al
5481f0:	88 85 dc fd ff ff    	mov    %al,-0x224(%ebp)
5481f6:	84 c0                	test   %al,%al
5481f8:	75 21                	jne    0x54821b
5481fa:	8b 47 20             	mov    0x20(%edi),%eax
5481fd:	25 00 04 00 00       	and    $0x400,%eax
548202:	89 85 74 fe ff ff    	mov    %eax,-0x18c(%ebp)
548208:	b8 00 00 00 00       	mov    $0x0,%eax
54820d:	0f 85 5f a9 ff ff    	jne    0x542b72
548213:	85 c0                	test   %eax,%eax
548215:	0f 85 57 a9 ff ff    	jne    0x542b72
54821b:	8b 85 98 fe ff ff    	mov    -0x168(%ebp),%eax
548221:	ff b5 dc fd ff ff    	push   -0x224(%ebp)
548227:	8b 48 04             	mov    0x4(%eax),%ecx
54822a:	ff 70 08             	push   0x8(%eax)
54822d:	8b 47 10             	mov    0x10(%edi),%eax