540ab3:	8b d7                	mov    %edi,%edx
540ab5:	e8 9e 21 0b 00       	call   0x5f2c58
540aba:	47                   	inc    %edi
540abb:	ff 4d a8             	decl   -0x58(%ebp)
540abe:	75 99                	jne    0x540a59
540ac0:	ff 45 d4             	incl   -0x2c(%ebp)
540ac3:	ff 4d ac             	decl   -0x54(%ebp)
540ac6:	0f 85 71 ff ff ff    	jne    0x540a3d
540acc:	e9 c9 00 00 00       	jmp    0x540b9a
540ad1:	0f b7 45 f1          	movzwl -0xf(%ebp),%eax
540ad5:	48                   	dec    %eax
540ad6:	85 c0                	test   %eax,%eax
540ad8:	0f 8c bc 00 00 00    	jl     0x540b9a
540ade:	40                   	inc    %eax
540adf:	89 45 ac             	mov    %eax,-0x54(%ebp)
540ae2:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
540ae9:	8b 55 d4             	mov    -0x2c(%ebp),%edx
540aec:	8b 45 fc             	mov    -0x4(%ebp),%eax
540aef:	8b 08                	mov    (%eax),%ecx
540af1:	ff 11                	call   *(%ecx)
540af3:	0f b7 55 ef          	movzwl -0x11(%ebp),%edx
540af7:	0f af 55 d4          	imul   -0x2c(%ebp),%edx
540afb:	8b 4d e0             	mov    -0x20(%ebp),%ecx
540afe:	8d 1c 11             	lea    (%ecx,%edx,1),%ebx
540b01:	33 ff                	xor    %edi,%edi
540b03:	eb 40                	jmp    0x540b45
540b05:	8a 13                	mov    (%ebx),%dl
540b07:	c1 e2 07             	shl    $0x7,%edx
540b0a:	88 10                	mov    %dl,(%eax)
540b0c:	43                   	inc    %ebx
540b0d:	8a 13                	mov    (%ebx),%dl
540b0f:	c1 e2 06             	shl    $0x6,%edx
540b12:	08 10                	or     %dl,(%eax)
540b14:	43                   	inc    %ebx
540b15:	8a 13                	mov    (%ebx),%dl
540b17:	c1 e2 05             	shl    $0x5,%edx
540b1a:	08 10                	or     %dl,(%eax)
540b1c:	43                   	inc    %ebx
540b1d:	8a 13                	mov    (%ebx),%dl
540b1f:	c1 e2 04             	shl    $0x4,%edx
540b22:	08 10                	or     %dl,(%eax)
540b24:	43                   	inc    %ebx
540b25:	8a 13                	mov    (%ebx),%dl
540b27:	c1 e2 03             	shl    $0x3,%edx
540b2a:	08 10                	or     %dl,(%eax)
540b2c:	43                   	inc    %ebx
540b2d:	8a 13                	mov    (%ebx),%dl
540b2f:	c1 e2 02             	shl    $0x2,%edx
540b32:	08 10                	or     %dl,(%eax)
540b34:	43                   	inc    %ebx
540b35:	8a 13                	mov    (%ebx),%dl
540b37:	03 d2                	add    %edx,%edx
540b39:	08 10                	or     %dl,(%eax)
540b3b:	43                   	inc    %ebx
540b3c:	8a 13                	mov    (%ebx),%dl
540b3e:	08 10                	or     %dl,(%eax)
540b40:	43                   	inc    %ebx
540b41:	40                   	inc    %eax
540b42:	83 c7 08             	add    $0x8,%edi
540b45:	0f b7 55 ef          	movzwl -0x11(%ebp),%edx
540b49:	4a                   	dec    %edx
540b4a:	3b fa                	cmp    %edx,%edi
540b4c:	7c b7                	jl     0x540b05
540b4e:	0f b7 45 ef          	movzwl -0x11(%ebp),%eax
540b52:	8b d0                	mov    %eax,%edx
540b54:	0f af 55 d4          	imul   -0x2c(%ebp),%edx
540b58:	8b 4d e0             	mov    -0x20(%ebp),%ecx
540b5b:	8d 1c 11             	lea    (%ecx,%edx,1),%ebx
540b5e:	48                   	dec    %eax
540b5f:	85 c0                	test   %eax,%eax
540b61:	7c 2b                	jl     0x540b8e
540b63:	40                   	inc    %eax
540b64:	89 45 a8             	mov    %eax,-0x58(%ebp)
540b67:	33 ff                	xor    %edi,%edi
540b69:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
540b6d:	75 18                	jne    0x540b87
540b6f:	8a 45 ea             	mov    -0x16(%ebp),%al
540b72:	3a 03                	cmp    (%ebx),%al
540b74:	75 11                	jne    0x540b87
540b76:	6a 00                	push   $0x0
540b78:	8b 45 0c             	mov    0xc(%ebp),%eax
540b7b:	8b 00                	mov    (%eax),%eax
540b7d:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
540b80:	8b d7                	mov    %edi,%edx
540b82:	e8 d1 20 0b 00       	call   0x5f2c58
540b87:	43                   	inc    %ebx
540b88:	47                   	inc    %edi
540b89:	ff 4d a8             	decl   -0x58(%ebp)
540b8c:	75 db                	jne    0x540b69
540b8e:	ff 45 d4             	incl   -0x2c(%ebp)
540b91:	ff 4d ac             	decl   -0x54(%ebp)
540b94:	0f 85 4f ff ff ff    	jne    0x540ae9
540b9a:	8b 45 e0             	mov    -0x20(%ebp),%eax
540b9d:	e8 2a 1c ec ff       	call   0x4027cc
540ba2:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
540ba6:	75 71                	jne    0x540c19
540ba8:	8b 45 0c             	mov    0xc(%ebp),%eax
540bab:	8b 00                	mov    (%eax),%eax
540bad:	e8 1a 44 0b 00       	call   0x5f4fcc
540bb2:	8b 45 0c             	mov    0xc(%ebp),%eax
540bb5:	8b 00                	mov    (%eax),%eax
540bb7:	80 78 68 00          	cmpb   $0x0,0x68(%eax)
540bbb:	74 5c                	je     0x540c19
540bbd:	8b 45 0c             	mov    0xc(%ebp),%eax
540bc0:	8b 00                	mov    (%eax),%eax
540bc2:	e8 b1 2e ec ff       	call   0x403a78
540bc7:	8b 45 0c             	mov    0xc(%ebp),%eax
540bca:	33 d2                	xor    %edx,%edx
540bcc:	89 10                	mov    %edx,(%eax)
540bce:	eb 49                	jmp    0x540c19
540bd0:	8d 55 e6             	lea    -0x1a(%ebp),%edx
540bd3:	b9 01 00 00 00       	mov    $0x1,%ecx
540bd8:	8b c6                	mov    %esi,%eax
540bda:	8b 18                	mov    (%eax),%ebx
540bdc:	ff 53 08             	call   *0x8(%ebx)
540bdf:	8d 55 e6             	lea    -0x1a(%ebp),%edx
540be2:	b9 01 00 00 00       	mov    $0x1,%ecx
540be7:	8b c6                	mov    %esi,%eax
540be9:	8b 18                	mov    (%eax),%ebx
540beb:	ff 53 08             	call   *0x8(%ebx)
540bee:	33 d2                	xor    %edx,%edx
540bf0:	8a 55 e6             	mov    -0x1a(%ebp),%dl
540bf3:	66 b9 01 00          	mov    $0x1,%cx
540bf7:	8b c6                	mov    %esi,%eax
540bf9:	8b 18                	mov    (%eax),%ebx
540bfb:	ff 53 10             	call   *0x10(%ebx)
540bfe:	80 7d e6 00          	cmpb   $0x0,-0x1a(%ebp)
540c02:	74 15                	je     0x540c19
540c04:	8b c6                	mov    %esi,%eax
540c06:	e8 ad da ed ff       	call   0x41e6b8
540c0b:	3b 55 b4             	cmp    -0x4c(%ebp),%edx
540c0e:	75 07                	jne    0x540c17
540c10:	3b 45 b0             	cmp    -0x50(%ebp),%eax
540c13:	72 ca                	jb     0x540bdf
540c15:	eb 02                	jmp    0x540c19
540c17:	7c c6                	jl     0x540bdf
540c19:	8b 45 f8             	mov    -0x8(%ebp),%eax
540c1c:	ff 00                	incl   (%eax)
540c1e:	e9 ab f7 ff ff       	jmp    0x5403ce
540c23:	8d 55 be             	lea    -0x42(%ebp),%edx
540c26:	b9 01 00 00 00       	mov    $0x1,%ecx
540c2b:	8b c6                	mov    %esi,%eax
540c2d:	8b 18                	mov    (%eax),%ebx
540c2f:	ff 53 08             	call   *0x8(%ebx)
540c32:	80 7d be f9          	cmpb   $0xf9,-0x42(%ebp)
540c36:	75 3c                	jne    0x540c74
540c38:	8b 45 f8             	mov    -0x8(%ebp),%eax
540c3b:	8b 00                	mov    (%eax),%eax
540c3d:	3b 45 f4             	cmp    -0xc(%ebp),%eax
540c40:	75 32                	jne    0x540c74
540c42:	8d 55 bd             	lea    -0x43(%ebp),%edx
540c45:	b9 01 00 00 00       	mov    $0x1,%ecx
540c4a:	8b c6                	mov    %esi,%eax
540c4c:	8b 18                	mov    (%eax),%ebx
540c4e:	ff 53 08             	call   *0x8(%ebx)
540c51:	8d 55 e7             	lea    -0x19(%ebp),%edx
540c54:	b9 04 00 00 00       	mov    $0x4,%ecx
540c59:	8b c6                	mov    %esi,%eax
540c5b:	8b 18                	mov    (%eax),%ebx
540c5d:	ff 53 08             	call   *0x8(%ebx)
540c60:	8d 55 bd             	lea    -0x43(%ebp),%edx
540c63:	b9 01 00 00 00       	mov    $0x1,%ecx
540c68:	8b c6                	mov    %esi,%eax
540c6a:	8b 18                	mov    (%eax),%ebx
540c6c:	ff 53 08             	call   *0x8(%ebx)
540c6f:	e9 5a f7 ff ff       	jmp    0x5403ce
540c74:	80 7d be fe          	cmpb   $0xfe,-0x42(%ebp)
540c78:	0f 85 a8 00 00 00    	jne    0x540d26
540c7e:	8d 55 bd             	lea    -0x43(%ebp),%edx
540c81:	b9 01 00 00 00       	mov    $0x1,%ecx
540c86:	8b c6                	mov    %esi,%eax
540c88:	8b 18                	mov    (%eax),%ebx
540c8a:	ff 53 08             	call   *0x8(%ebx)
540c8d:	eb 68                	jmp    0x540cf7
540c8f:	33 c0                	xor    %eax,%eax
540c91:	8a 45 bd             	mov    -0x43(%ebp),%al
540c94:	40                   	inc    %eax
540c95:	e8 12 1b ec ff       	call   0x4027ac
540c9a:	8b d8                	mov    %eax,%ebx
540c9c:	33 c9                	xor    %ecx,%ecx
540c9e:	8a 4d bd             	mov    -0x43(%ebp),%cl
540ca1:	8b d3                	mov    %ebx,%edx
540ca3:	8b c6                	mov    %esi,%eax
540ca5:	8b 38                	mov    (%eax),%edi
540ca7:	ff 57 08             	call   *0x8(%edi)
540caa:	33 c0                	xor    %eax,%eax
540cac:	8a 45 bd             	mov    -0x43(%ebp),%al
540caf:	c6 04 03 00          	movb   $0x0,(%ebx,%eax,1)
540cb3:	8b c3                	mov    %ebx,%eax
540cb5:	e8 36 91 ec ff       	call   0x409df0
540cba:	85 c0                	test   %eax,%eax
540cbc:	76 23                	jbe    0x540ce1
540cbe:	8d 85 80 f9 ff ff    	lea    -0x680(%ebp),%eax
540cc4:	8b d3                	mov    %ebx,%edx
540cc6:	e8 8d 3d ec ff       	call   0x404a58
540ccb:	8b 95 80 f9 ff ff    	mov    -0x680(%ebp),%edx
540cd1:	8b 45 18             	mov    0x18(%ebp),%eax
540cd4:	8b 00                	mov    (%eax),%eax
540cd6:	8b 80 ac 00 00 00    	mov    0xac(%eax),%eax
540cdc:	8b 08                	mov    (%eax),%ecx
540cde:	ff 51 38             	call   *0x38(%ecx)
540ce1:	8b c3                	mov    %ebx,%eax
540ce3:	e8 e4 1a ec ff       	call   0x4027cc
540ce8:	8d 55 bd             	lea    -0x43(%ebp),%edx
540ceb:	b9 01 00 00 00       	mov    $0x1,%ecx
540cf0:	8b c6                	mov    %esi,%eax
540cf2:	8b 18                	mov    (%eax),%ebx
540cf4:	ff 53 08             	call   *0x8(%ebx)
540cf7:	80 7d bd 00          	cmpb   $0x0,-0x43(%ebp)
540cfb:	0f 86 cd f6 ff ff    	jbe    0x5403ce
540d01:	8b c6                	mov    %esi,%eax
540d03:	e8 b0 d9 ed ff       	call   0x41e6b8
540d08:	3b 55 b4             	cmp    -0x4c(%ebp),%edx
540d0b:	75 0e                	jne    0x540d1b
540d0d:	3b 45 b0             	cmp    -0x50(%ebp),%eax
540d10:	0f 82 79 ff ff ff    	jb     0x540c8f
540d16:	e9 b3 f6 ff ff       	jmp    0x5403ce
540d1b:	0f 8c 6e ff ff ff    	jl     0x540c8f
540d21:	e9 a8 f6 ff ff       	jmp    0x5403ce
540d26:	8d 55 bd             	lea    -0x43(%ebp),%edx
540d29:	b9 01 00 00 00       	mov    $0x1,%ecx
540d2e:	8b c6                	mov    %esi,%eax
540d30:	8b 18                	mov    (%eax),%ebx
540d32:	ff 53 08             	call   *0x8(%ebx)
540d35:	33 d2                	xor    %edx,%edx
540d37:	8a 55 bd             	mov    -0x43(%ebp),%dl
540d3a:	66 b9 01 00          	mov    $0x1,%cx
540d3e:	8b c6                	mov    %esi,%eax
540d40:	8b 18                	mov    (%eax),%ebx
540d42:	ff 53 10             	call   *0x10(%ebx)
540d45:	80 7d bd 00          	cmpb   $0x0,-0x43(%ebp)
540d49:	0f 84 7f f6 ff ff    	je     0x5403ce
540d4f:	8b c6                	mov    %esi,%eax
540d51:	e8 62 d9 ed ff       	call   0x41e6b8
540d56:	3b 55 b4             	cmp    -0x4c(%ebp),%edx
540d59:	75 0a                	jne    0x540d65
540d5b:	3b 45 b0             	cmp    -0x50(%ebp),%eax
540d5e:	72 c6                	jb     0x540d26
540d60:	e9 69 f6 ff ff       	jmp    0x5403ce
540d65:	7c bf                	jl     0x540d26
540d67:	e9 62 f6 ff ff       	jmp    0x5403ce
540d6c:	8b 55 f8             	mov    -0x8(%ebp),%edx
540d6f:	8b 12                	mov    (%edx),%edx
540d71:	8b 45 18             	mov    0x18(%ebp),%eax
540d74:	8b 00                	mov    (%eax),%eax
540d76:	e8 c1 c9 08 00       	call   0x5cd73c
540d7b:	8b 45 14             	mov    0x14(%ebp),%eax
540d7e:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
540d83:	74 1e                	je     0x540da3
540d85:	8b 45 14             	mov    0x14(%ebp),%eax
540d88:	8b 40 28             	mov    0x28(%eax),%eax
540d8b:	80 38 00             	cmpb   $0x0,(%eax)
540d8e:	75 13                	jne    0x540da3
540d90:	8b 5d 14             	mov    0x14(%ebp),%ebx
540d93:	8b 55 14             	mov    0x14(%ebp),%edx
540d96:	8b 52 08             	mov    0x8(%edx),%edx
540d99:	b9 64 00 00 00       	mov    $0x64,%ecx
540d9e:	8b 43 04             	mov    0x4(%ebx),%eax
540da1:	ff 13                	call   *(%ebx)
540da3:	33 c0                	xor    %eax,%eax
540da5:	5a                   	pop    %edx
540da6:	59                   	pop    %ecx
540da7:	59                   	pop    %ecx
540da8:	64 89 10             	mov    %edx,%fs:(%eax)
540dab:	68 c3 0d 54 00       	push   $0x540dc3
540db0:	8d 85 80 f9 ff ff    	lea    -0x680(%ebp),%eax
540db6:	e8 ad 3a ec ff       	call   0x404868
540dbb:	c3                   	ret
540dbc:	e9 4b 34 ec ff       	jmp    0x40420c
540dc1:	eb ed                	jmp    0x540db0
540dc3:	5f                   	pop    %edi
540dc4:	5e                   	pop    %esi
540dc5:	5b                   	pop    %ebx
540dc6:	8b e5                	mov    %ebp,%esp
540dc8:	5d                   	pop    %ebp
540dc9:	c2 14 00             	ret    $0x14
540dcc:	01 00                	add    %eax,(%eax)
540dce:	00 00                	add    %al,(%eax)
540dd0:	55                   	push   %ebp
540dd1:	8b ec                	mov    %esp,%ebp
540dd3:	51                   	push   %ecx
540dd4:	53                   	push   %ebx
540dd5:	56                   	push   %esi
540dd6:	57                   	push   %edi
540dd7:	8b f9                	mov    %ecx,%edi
540dd9:	8b f2                	mov    %edx,%esi
540ddb:	89 45 fc             	mov    %eax,-0x4(%ebp)
540dde:	8b 45 fc             	mov    -0x4(%ebp),%eax
540de1:	e8 22 3f ec ff       	call   0x404d08
540de6:	33 c0                	xor    %eax,%eax
540de8:	55                   	push   %ebp
540de9:	68 41 0e 54 00       	push   $0x540e41
540dee:	64 ff 30             	push   %fs:(%eax)
540df1:	64 89 20             	mov    %esp,%fs:(%eax)
540df4:	68 ff ff 00 00       	push   $0xffff
540df9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
540dfc:	b2 01                	mov    $0x1,%dl
540dfe:	a1 88 9c 41 00       	mov    0x419c88,%eax
540e03:	e8 cc dd ed ff       	call   0x41ebd4
540e08:	8b d8                	mov    %eax,%ebx
540e0a:	6a 00                	push   $0x0
540e0c:	6a 00                	push   $0x0
540e0e:	8b c3                	mov    %ebx,%eax
540e10:	e8 27 d9 ed ff       	call   0x41e73c
540e15:	8b 45 08             	mov    0x8(%ebp),%eax
540e18:	50                   	push   %eax
540e19:	8b cf                	mov    %edi,%ecx
540e1b:	8b d6                	mov    %esi,%edx
540e1d:	8b c3                	mov    %ebx,%eax
540e1f:	e8 2c 00 00 00       	call   0x540e50
540e24:	8b c3                	mov    %ebx,%eax
540e26:	e8 4d 2c ec ff       	call   0x403a78
540e2b:	33 c0                	xor    %eax,%eax
540e2d:	5a                   	pop    %edx
540e2e:	59                   	pop    %ecx
540e2f:	59                   	pop    %ecx
540e30:	64 89 10             	mov    %edx,%fs:(%eax)
540e33:	68 48 0e 54 00       	push   $0x540e48
540e38:	8d 45 fc             	lea    -0x4(%ebp),%eax
540e3b:	e8 28 3a ec ff       	call   0x404868
540e40:	c3                   	ret
540e41:	e9 c6 33 ec ff       	jmp    0x40420c
540e46:	eb f0                	jmp    0x540e38
540e48:	5f                   	pop    %edi
540e49:	5e                   	pop    %esi
540e4a:	5b                   	pop    %ebx
540e4b:	59                   	pop    %ecx
540e4c:	5d                   	pop    %ebp
540e4d:	c2 04 00             	ret    $0x4
540e50:	55                   	push   %ebp
540e51:	8b ec                	mov    %esp,%ebp
540e53:	81 c4 68 fc ff ff    	add    $0xfffffc68,%esp
540e59:	53                   	push   %ebx
540e5a:	56                   	push   %esi
540e5b:	57                   	push   %edi
540e5c:	33 db                	xor    %ebx,%ebx
540e5e:	89 9d 68 fc ff ff    	mov    %ebx,-0x398(%ebp)
540e64:	89 5d d8             	mov    %ebx,-0x28(%ebp)
540e67:	89 4d f4             	mov    %ecx,-0xc(%ebp)
540e6a:	89 55 f8             	mov    %edx,-0x8(%ebp)
540e6d:	89 45 fc             	mov    %eax,-0x4(%ebp)
540e70:	33 c0                	xor    %eax,%eax
540e72:	55                   	push   %ebp
540e73:	68 79 17 54 00       	push   $0x541779
540e78:	64 ff 30             	push   %fs:(%eax)
540e7b:	64 89 20             	mov    %esp,%fs:(%eax)
540e7e:	8b 45 08             	mov    0x8(%ebp),%eax
540e81:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
540e86:	74 10                	je     0x540e98
540e88:	8b 5d 08             	mov    0x8(%ebp),%ebx